EL
🐌

karatrip

× Portugal 2026

karatrip began as one family's app for one trip: eleven days in Portugal, 9–19 August 2026. This is the story as it was written then, in the middle of the trip. The product at karatrip.app came afterwards.

A travel app that did not exist when the trip started. The whole thing was written inside it — in airports, in cafés, in the car, and mostly after everyone else had gone to sleep.

The moment

First morning in Lisbon, in a Starbucks. The family had the trip dossier — dozens of pages nobody had found time to read before leaving. So they had the book, and no idea what to actually do that day.

What if the book never needed reading? What if it became an app — one that knows where we're standing, what time it is, what the plan says, and when you ask it "so, what now?", it answers?

Right there, over a coffee, karatrip was born.

The first commit was written that same afternoon. The second app — the kids' camera — started the same night.

Credits

Direction & code🧔 Antonis
Production & patience👩 Glykeria
Starring🦁 Achilleas · 🐙 Orestis
Guide🐌 Karaolos

The trip in numbers

11days
82points of interest
35pastéis de nata
69journal notes
138questions to the 🐌
17tins of fish

What it became

The trip's live companion. A Now screen with the map, the weather, tonight's sunset time — on a trip with twins, sunset is a deadline — and the day's next step; a Plan where stops are marked done or skipped — never deleted, because "we didn't go after all" is part of the story too; a journal with one question each evening; and a pastéis de nata counter, which proved the hardest-worked button of the holiday.

For the kids: Experiences — pocket audio-guides in Greek for each place, signage translated, because a museum captioned in Portuguese is mute to an eight-year-old; scavenger hunts that award points; missions; and a scoreboard with a full audit trail — who gave points, when, why, with undo.

And the nuances that don't show: family messaging with a parental switch enforced on the server, not the screen; coordinates that never lie — an unverified pin admits it on its face; the day rolling over at 06:00 rather than midnight, because midnight on a trip is still evening; a kid mode with a phone hand-over ritual; a keepsake album with guest links for the grandparents; and updates with no App Store — every fix reached the family's phones in seconds, sometimes while they were still walking to the next place.

And because a family app without secrets is hardly a family app, five or six easter eggs sleep inside it — hidden here and there, for no purpose beyond the fun of it, and nobody is saying where. The boys will find them.

The code in numbers

340commits
30,305lines added
31,924lines today
104endpoints

And a second app

Alongside it came kidtrip, in Swift — a real iPhone app, not a web page. It began with a simple thought: the old work iPhone 13, instead of sitting in a drawer, would become the kids' camera — so they could shoot the trip themselves, not merely appear in it.

Two kids, one phone — so the first problem was fairness: timed turns with a countdown, a hand-over ritual from one to the other, and a separate album per kid so no photo ever needs renegotiating. Every capture is stamped with time, GPS — and the photographer: the kid's name is written into the EXIF, so in twenty years, in whatever album the photo has ended up, it will still say which of the two took it.

Then it grew: an end-of-day vlog studio with interview prompts, missions tied into karatrip's experiences — including a «🤝 Together» option, because the castle happens once and the phone is in one pair of hands: a mission can be claimed cooperatively and count for both — fact cards for each place, and a parent dashboard that fills in near-live over the phone's eSIM. Everything works offline too; the photos live in the phone's own library — nothing of value is ever trapped inside an app.

115commits
70Swift files
16,303lines of Swift
79at night

What had to exist first

None of this happens on one machine. Several projects were being written at the same time, from different sessions on different machines — and each had to see the others' work without overwriting it. And a great deal of it was done from a phone, on the move — in queues, on trains, on beaches: this was a holiday, and the day could not be spent in front of a laptop. The laptop came out at night; the rest of the time, the sessions were driven from a phone.

That idea also arrived in a Starbucks — but in Nicosia, on the Friday morning two days before the flight. And it had nothing to do with the trip: the ask was to carry the same Claude Code session from one laptop to the other — Windows and Mac — in case the smart-lock-and-cameras bot needed work while away: the one that runs AI over the home cameras to recognise Aris 🐕 and Periklis 🐈 and report their whereabouts, so the family could look in on them from Portugal. A travel app was not even a thought yet. Two long days of code followed: the first commit landed at 00:44, by which point Friday had already become Saturday — and the last at 05:16 on Sunday morning, hours before the flight.

The third machine did not even wait for the trip: in that same night — Saturday into Sunday morning — the home NAS joined the fleet, so a session could live there permanently: driven from Portugal, running on a machine in Cyprus. Alongside it, a tool built from the ground up for syncing, encrypted secrets, and handing work from one machine to another. For the record: the AI building it kept insisting, repeatedly, that the NAS and full sync were "a job for after the trip." All of this happened, in other words, Against all Claudes — and luckily so, or nothing below would have existed in time.

154commits
9,489lines
20scripts
3machines

When, two mornings later and in a different Starbucks, karatrip was born, 16 commits of plumbing were already waiting — built for another reason entirely, ready by happy coincidence. Two Starbucks, both before breakfast: the first had no idea what the second would start.

And everything else running alongside

karatrip was not the only one. Over the same stretch — from the Friday before the flight to today — 10 projects were live at once, off the same nights and the same sync plumbing. Some existed already; what is counted here is only the work done inside these days.

10projects
917commits in total
115,387lines added
284at night

Across every project, 284 of the 917 commits (31%) were written between midnight and six in the morning, over 13 separate nights. The latest landed at 05:16 — in Nicosia, before the flight.

00
06
12
18

One bar per hour, local time — Nicosia before the flight, Portugal after. The red ones are while the rest of the family slept.

commits
karatrip — the trip app 340
devsync — machine & secret syncing 154
donna 145
kidtrip — the kids' camera (Swift) 115
the NAS session fleet — including a Telegram bot to drive it from a phone 53
Telegram bot that sends films to the TV 33
a random Friends episode in one tap — auto-playing on the living-room Kodi, or opening in Netflix 27
Telegram bot for the front-door lock and cameras 27
launchpad 17
shortcut-maker 6

The entry

karatrip
/ˌka.ra.ˈtrip/ · noun

1. a family journey lived at full intensity, in which the itinerary is an opening position rather than an instruction, and the parts everyone remembers are the ones nobody booked.

To the untrained eye, a holiday like any other. To anyone who has travelled with children, anything but. It signifies:

  • The itinerary rewritten from a restaurant table, twice before lunch.
  • The solar eclipse with glasses sold out everywhere — a hole in a piece of paper, then a stranger handing over his own.
  • The castle cancelled because the sea won the vote.
  • The dinner found on the fourth attempt, at 22:25.
  • The boys' first-ever midnight summer live-music beach party, on the sands of Nazaré.
  • The last-minute change of plan that resulted in witnessing a truly magical sunset over the Atlantic.
  • The national cycling tour that finished, uninvited, at their front door.
  • The pair of gloves a rider handed to the twins mid-race, from the saddle — 25 metres and a few seconds before finishing a 12-day, 1,430 km bicycle race across the whole of Portugal.

In essence, not a holiday: a holiday that refuses to stay inside its plan.

Etymology

From καρα- (kara-), the Cypriot intensifier — as in καρακουκλάρα (karakouklára) or καραγέλιο (karayélio): thoroughly, enormously, more than the word can hold — plus trip.

Example
"We did not take a holiday this August. We took a karatrip."
Note

It also sounds suspiciously like the surname Καραολής (Karaolis) — which any Cypriot will tell you comes from καράολος (karáolos), Cypriot for snail, itself borrowed from the Venetian caragol: a word that took a boat to Cyprus and never went home. A creature that carries its entire house on its back and still arrives everywhere it means to.

Which is, more or less, the job description for travelling with twins. 🐌

Inclusion in the Oxford English Dictionary: pending. They have not replied yet — but then, it has only been a week.

The guide

Which is why the app's guide could only ever be a snail: Karaolos, christened with the Cypriot word itself. He answers in Greek, knows where you are and what the plan says, rewrites the day when the day demands it, and is never in a hurry — a useful trait on a trip whose plan changes before lunch.

Under the shell, Karaolos is an LLM — speaking through OpenRouter to one of the large models, fully briefed: the trip dossier, the day's plan, the GPS position, the weather, even the photos you send him. And he does not merely answer — he acts, through eighteen tools: adding stops, marking what happened, logging expenses, resolving coordinates through Google, sending family messages. When the kids talk to him he shifts register; and anything a child may not do is refused on the server, not hidden on the screen.

And the joke closes itself: Karaolos carries his house on his back, and the family carries Karaolos in a pocket. The app's end credits say «the snail arrived last, but it arrived» — which is also the shortest accurate description of how all of this was written.

One edition per trip, like a collector's collaboration: this one is karatrip × Portugal 2026. Next year, somewhere else.

What remains

The suitcases will empty and the tins will, sooner or later, be eaten — but a karatrip does not end with the flight. The keepsake album remains, with its own link for the grandmother. The journal remains: 69 notes written while things were happening, not as someone remembered them afterwards. The boys' photographs remain, their names written inside the files, ready to testify in twenty years to who shot what. The end-of-trip questionnaire remains — one round at the airport, one at home — every answer sealed until everyone has answered. And the word remains. Next year, in another country, karatrip will already mean something: the promise that the plan will lose to the sea again — and that nobody will mind.

And the truth

Behind the commits and the counts, the plain truth: this was one of the best holidays ever. Eleven days of being fully there — not beside the family but inside the trip, living all of it.

All of it: the tantrums, the ice-cream negotiations, and the rapid-fire «papá— papá— papá— papá», a million times a day. That was part of it too. That will be missed too.

And beside all of it, Glykeria — who kept the trip standing while the other parent held a phone full of commits; who said yes to every "what if we went…"; and whose "Production & patience" in the credits is not a joke but an accurate job description. Without her there is no karatrip — not the trip, and not the word.

The app was written in the hours everyone slept, precisely so it would not take one minute from the hours they were awake. Worth it. Every minute.

What happened next

The trip ended on 19 August. The app did not. What had been one Worker for one family and one country became karatrip.app: many trips, each at its own address, with its own people and its own Karaolos — and the Portugal edition stayed exactly as it was, frozen, as issue number one.

There is no sign-up; there are invitations. If you want one for a trip of your own, try the demos first — or ask for it on the front page.

The trip's numbers are final — the trip ended on 19 August 2026. The code's numbers come from the repositories themselves and refresh on each deploy. None of them were typed by hand.
made with ❤️ by Antonis, for Glykeria, Achilleas and Orestis.

03/09/2026 07:19:31 (UTC+3) · 2,211 words