Skip to main content
Back to selected work
No. IIFriday, April 17 · 2026Case Study · 2026

Today's crossword

Cruciverba Lab.
A rite, not an app.

A daily Italian crossword, served like a newspaper: fresh every morning, printed with real typography, gone by midnight. Free, no signup, no ads on today's grid.

Cruciverba Lab — today's grid and clues
Fig. 01cruciverba-lab.it / today's grid

01

Difficulty

Three levels, rotated through the week: easy, medium, hard.

02

Pricing

Today's grid is free, forever. Premium €4.99/month unlocks the archive.

03

Time

Five minutes. Or forty. The grid isn't in a hurry.

I

Why another crossword?

The Italian crossword tradition is deep — Settimana Enigmistica, Domenica del Corriere, decades of elegant grid design. But the online experience had quietly migrated to the worst of the 2010s web: PDF downloads, pop-ups, subscribe-walls over half the page.

I wanted the opposite. A URL. A grid. A pencil.

II

The ritual

Three difficulties, rotating through the week. Hand-written Italian definitions with no forced language. No timer staring you down. No streak shaming you into opening the app at 11:47 PM. Verify letters when you want. Correct without penalty. Finish in five minutes or forty — the grid doesn't care.

You can play as a guest, forever. Registering just saves your times and keeps a quiet streak. Premium unlocks the archive — every puzzle ever published, organized by date and difficulty — at €4.99/month. That's the whole business.

III

The design

The brief was simple: make the grid feel like paper, not a CRUD form.

Type
Serif display across every heading. This is a puzzle, not a dashboard.
Columns
Numbered clue columns typeset like a printed magazine, not a bulleted list.
Contrast
Muted off-white canvas, deep black grid. High contrast where it matters; quiet everywhere else.
Chrome
None. The grid, the clues, the day's number. That's the entire interface.
IV

The stack

Nuxt
One codebase, SSR by default, perfect SEO for an editorial product.
TypeScript
Cell state, cross-references, active direction, validation, autosave. Types earn their keep by the second week.
PostgreSQL
Each grid is a structured document. Queries by date, difficulty, and user completion state.
Tailwind
Used as a design-token layer — not a utility dump. Every class maps back to the typographic scale.
Editorial pipeline
I don't just render puzzles — I author them, verify them, and schedule them. The editorial tools matter as much as the player surface.
V

What I'm still learning

Building a product with a rhythm — one puzzle, once a day, forever — is different from building a feature.

There's no version 2 of Tuesday's grid. It was Tuesday, and then it was gone. Every day is a ship date. It's the best part.

On newsstands now

A rite, not an app.

— Set in Libre Caslon and Figtree. Grid served fresh from 06:00.