Luca Pastorello

Work / Vivere Gaeta

Vivere Gaeta

A map of my town for living it, not just knowing it: what to do, where to go, how to spend the days. Written by a small circle of people who love Gaeta, read by anyone, first of all the tourists who visit it.

In short

Problem
It began as a civic-reporting app, and the people I talked to lost interest in it. Talking with them, another problem came up: a tourist in Gaeta for a week or two goes to the beach, eats out, then runs out of ideas. The town’s sites and apps say what there is, not how to live it.
Decision
The map is the ground of every page, so everything you read has a place under it: open a card and the map moves there, by points or by lists. Tours suggest a way round. And one editorial voice: a few people write, invited one by one, and no place on the map is bought.
Result
Online at viveregaeta.it since November 2026. A reader can explore eight kinds of card on the map or by lists, follow a tour one stop at a time, and read a card in translation. Zero axe violations on the live site. Still to come: the cards its collaborators will write.

At a glance

For
Tourists in Gaeta for a week or two, first. Then the people who love the town, in season and out. A small circle of invited collaborators writes; anyone reads.
What changed
From a town explained in lists and pins to one you live through a single map, with eight kinds of card, tours and translations.
My part
The interviews, the review of what already exists, the specifications, the design direction and the decision records; Claude Code builds from those documents, and I review what it builds.
Stack
  • Vue
  • TypeScript
  • Django
  • Python
  • PostgreSQL
  • Tailwind

Leaflet · Tiptap · Vitest · Cypress with axe

When
April–September 2026; online since November 2026
Links
A place’s page at 1280 and the home at 390, November 2026. · viveregaeta.it

Context

I live in Gaeta, a town where most of the economy turns on tourism. In summer it fills with visitors; in winter it empties, there is little to do, and the few events there are go unnoticed. I wanted to build something for the town’s own social fabric: a place to report what is broken, to talk about the town, to bring people together. In the summer of 2026 that was Gaeta Partecipa, a civic app: citizens put a pin on a map to report a broken streetlight, upvoted each other’s reports, voted in polls.

Three roles, from the v2 specification of August 2026.
Role Who Can
Reader anyone, no account see the map and published cards, switch card language, browse recipes
Collaborator approved personally by the admin author and translate cards, file reports, see internal overlays
Admin the author approve/reject collaboration requests; manage categories and overlays

What this becomes

A curated cultural map-archive of Gaeta: feasts and their processions, churches, recipes and where to buy them, historical figures, the dialect. Written by a small circle of trusted collaborators, readable by everyone without an account.

Three roles, from the v2 specification of August 2026. · the v2 specification

Contents

Problem

The people I interviewed about Gaeta Partecipa lost interest quickly. What came up in those conversations instead was the guest who arrives at the B&B knowing nothing about the town: what it is, what to do in the evening, what to eat and where. They stay a week or two, go to the beach, eat out, and then run out of ideas. I saw it at a bakery in the old town: a tourist asked whether this was old Gaeta, was told yes, and asked “so where do I go, what do I see?” The historic centre was all around them, and nothing told them how to explore it.

And many of these visitors come from abroad: they speak English, German, French, Swedish, and little or no Italian. Whatever the town tells them, it has to tell them in their language.

Contents

Exploration

The first question was where to stand among what already exists. Google Maps takes you somewhere. The review sites tell you whether a restaurant is good. The cultural sites explain the monuments, and they fail in three ways: content you cannot see, a map buried under pins, a door closed by a disclaimer and an app to install. None of them answers the tourist’s question. I did not want to replace those services. I wanted to hook into them and take the gap between them: not what Gaeta is, but how to live it. That is what the name promises.

Two shapes were drawn for the map. In the first design pass it was one page among others, an index of what has a place, with the cards as the body of the site. In the second it sits under everything, and every page opens over it: a map is the one language every visitor already speaks, and it makes exploring physical. The second won, late, and reversed the pass.

The interviews also found two people, and they fit together. The tourist lives the town by walking through it, and wants to know what to do next. The Gaetano who loves the town already knows: one its history, one where to eat well, one the paths to walk. Each has what the other lacks, and nobody was bringing them together.

Contents

Solution

The key decision

The reader wins.

Principle: Design for the primary persona — the one who cannot be served by an interface made for someone else (Alan Cooper, The Inmates Are Running the Asylum).

The app changed its question, from “help fix what is broken” to “this is my town, here is what we are”. Each choice answers one of the three failures. The map is the ground of every page, so whatever you read has a place under it. One card is open at a time, so the map never disappears under its pins. No account and nothing to install, so something opens in the first three seconds. The price is a card interface kept minimal, because the map already does the work of orientation.

The map moves to show what each page is about. Eight kinds of card share one core: text, images, a place on the map, a translation. Tours answer the question from the bakery: a route followed one stop at a time, each leg handed to Google Maps. It is also where the town’s memory is kept: the traditions that only the old people can still tell.

The tourist is drawn in by the map; the Gaetano by the invitation to write on what they love: history, food, the paths. Nobody signs up: “Collabora con noi” files a request, and I approve it person by person. The credits page states the rule: “nessuna presenza è acquistata”, no place on the map is bought.

The reader’s home and a card, on a phone. · viveregaeta.it, November 2026

Contents

Build

Two personas, two surfaces. The reading side is built for the phone: the map full-bleed, a sheet at the bottom to drag up into a list or push down to explore, big touch targets, one hand. The editorial side is built for the desktop: the editor with its sections for content, images, map and publication, keyboard throughout, a wide screen to write on. The same app, with two centres of gravity.

The palette came from the town: three were drawn, and “Pietra e mare” won, warm paper and a single deep Tyrrhenian accent. Type was decided by weight: of three systems drawn on the same card, one sans family at 34 KB won, because the primary reader is on a phone.

  1. Terracotta accent

    against
    Its accent and the colour of the feasts layer were near-identical: the brand looked like a data value
  2. White and ink

    for
    Correct
    against
    Anonymous until real photography exists
  3. Pietra e mare Chosen

    stone, sea, terracotta, lime white

    for
    Warm paper ground, deep Tyrrhenian as the single accent, terracotta secondary, ink

“Pietra e mare” won, warm paper and a single deep Tyrrhenian accent.

Three palettes drawn from the town, and the one that won. · the design specification
Three type systems drawn on the same card and weighed in kilobytes, August 2026.
System Weight Outcome
An all-serif reading direction 118 KB not chosen
A serif-headline magazine split 157 KB not chosen
One family, Archivo, and no display serif 34 KB chosen: the primary reader is on a phone
Three type systems drawn on the same card and weighed in kilobytes, August 2026. · the design specification

Colour and type live in tokens and nowhere else, and every pair was checked for contrast before anything was built on it. One font file, served from the site’s own origin. One v-html in the whole front end and one sanitiser on the server, because the safety argument depends on there being exactly one of each. Accessibility is a gate: WCAG 2.1 AA on the whole app, checked by axe against the production build on every push. A new card type costs a morning.

The tokens with their contrast ratios, as they sit in the stylesheet.
Token Use Contrast
--color-page warm paper — the ground —
--color-surface cards, panels, sheets —
--color-ink body text 13.81 on page, 14.76 on surface
--color-muted secondary text 5.47 on page, 5.85 on surface
--color-sea the accent 6.77 on page, 7.23 on surface; white on it 7.23
--color-terracotta secondary 6.53 on surface; white on it 6.53
--color-hairline decorative rules only exempt from 1.4.11
--color-field control outlines 3.54 on page, 3.78 on surface
The tokens with their contrast ratios, as they sit in the stylesheet. · the project’s stylesheet

Measured: ink 13.8:1 · accent 6.8:1 · field outline 3.5:1 · font 34 KB · 699 tests · 8 card types

Contents

Result

Online at viveregaeta.it since November 2026: no account, nothing to install, and the map opens on the first screen. A reader can explore eight kinds of card by points on the map or by lists, follow a tour one stop at a time, and read a card in translation, English first.

The gates were measured on the live site: zero axe violations on 13 pages at 390 and 1280, text contrast never under 5.5:1, one 34 KB font.

What it cannot show yet is the answer to its own question: whether a tourist with two weeks in Gaeta finds here what to do next. That waits for the first cards written by the collaborators, and for the first visitors.

The gates measured on the live site, November 2026.
Measure Target Measured
text contrast ≥ 4.5:1 min 5.5:1 (muted on paper)
control outlines ≥ 3:1 3.5:1
axe on the reader’s pages — 0 violations, 13 pages at 390 and 1280
font weight ≤ 34 KB 34 KB
The gates measured on the live site, November 2026. · viveregaeta.it

What comes next

Two things proposed and not yet built: the places where people eat and drink, from OpenStreetMap with their opening hours, and a ‘what’s on today’ with live music and the rest, for whoever is here this evening. And the first cards written by the collaborators.

Contents