A journey into vibe coding

Hi, I'm Giovanni

I'm an AI engineer, somewhere in Italy. Mundu is my hobby: a globe you can spin, with a few thousand years of history playing out on top of it. This page is my journey into vibe coding — because I built the whole thing without writing it, and that turned out to be a story of its own.

A window on the world

What I want this to do for you

Underneath the maps and the checking there is one hope: that Mundu is worth an evening. That it entertains you, and hands you back a little more curiosity than you arrived with.

The Earth is the one subject nobody needs to be sold on. Everybody has a place they want to look at — where they're from, where they've been, the one they've only read about. Put a few thousand years of history on top of that and something changes: you stop being told that a border moved and you watch it move, at whatever speed you like. What you notice then is usually the thing no book bothered to write down — how long a siege really lasted, how small a kingdom really was, how fast an empire can come apart.

That is the whole idea. A window, left open. There are 13 stories to watch so far, and a prompt you can paste into any language model to get one of your own back as a link.

The day job

I'm an AI engineer, and I enjoy it. My work is making business processes more efficient, and for the last few years that has meant integrating AI-powered systems into them. Day to day that means Python, git pipelines and Docker stacks: taking a lot of components — some of them mine, most of them open source — and assembling them into complete applications that run end to end.

Mundu is an outlet, on something profoundly different: no spec, no deadline, and imagination and intuition with somewhere to go.

What I'm judging

The three things I don't hand over

A model writes the code and drafts the stories. It does that far faster than I could, and it is confidently wrong in ways that look finished — code that runs, produces a file and draws a map is not the same as code that is right. So the job isn't typing, and it isn't prompting either: it's deciding what "correct" means here, insisting on a way to measure it, then reading the result assuming something in it is wrong. Three things get read that way.

Artistic direction. The globe is almost black, and that is a decision rather than a theme: everything else on screen is information — a front line, a marker, a route — and information needs somewhere quiet to sit. No labels, no graticule, no country borders. If a pixel is not carrying information, it should be dark.

Historical accuracy. The curated stories are written by a language model too: the research, the dates, the sentence under every marker. What makes them curated is that a human argued with them and refused to publish until they held up. Every story is checked against a table of places and dates decided in advance — not "does it look right" but was this town held by this side on this day — and the check fails loudly. Every marker links to the article it came from, so you can go and disagree with it.

What I can't promise is that it is all right. A single story is thousands of dates, places and borders drawn from open sources, and total precision is not something one person checking a map can guarantee. I do everything I can, and some of it will still be wrong. That is what the feedback form is for — it is the correction mechanism, not a formality.

The feel of it. Fluid and obvious, and nothing else. A globe that stutters while you drag it stops feeling like an object and becomes a picture of one, so nothing off screen is ever drawn. And there is nothing to learn: you spin the Earth with a finger and press play. If something needs explaining, that is a bug in the design — not a gap in the documentation.

The data is not mine Every article, coordinate, coastline and photograph in Mundu comes from open projects built by other people. They are credited, with their licenses, on the credits page.
Found something wrong? Please tell me Spotted an inaccuracy, or an outright error? Send it through the feedback form — a place and a date is all I need. Corrections are the most useful thing anyone sends me, and they get fixed at the source: the story is regenerated, not patched.

Anyway — I hope you like it

It's a hobby, made in the evenings, and it is better than it was last month. Go and watch something happen.