retentioneering-tools
Python toolkit, MCP server, and agent skills for reproducible, auditable clickstream and event log analytics. Helps AI agents, data scientists and analysts build, validate, and cross-check product ana
Every real train in Finland, running live — late — on a miniature wooden layout.
Translation pending
DataJavaScript · TypeScriptGitHub @miguelgarglezOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A living model railway of Finland — every real train runs, late, in miniature
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A living model railway of Finland — every real train runs, late, in miniature.
Finland rendered as a tabletop diorama: a birch baseboard, hand-painted
meadow, and ~100 real trains running their real routes at their real
lateness, right now. ICs glide between Helsinki and Oulu, commuters swarm
the capital region, night trains crawl north in the dark — lit windows and
all, because the sun over the layout is Finland's actual sun.Read the full README ↗A living model railway of Finland — every real train runs, late, in miniature.
Finland rendered as a tabletop diorama: a birch baseboard, hand-painted meadow, and ~100 real trains running their real routes at their real lateness, right now. ICs glide between Helsinki and Oulu, commuters swarm the capital region, night trains crawl north in the dark — lit windows and all, because the sun over the layout is Finland's actual sun.
Click a train to see where it's going, how late it is, and what it's made of (real consists — restaurant cars, double-deckers, sleeper stock). Press the delay board to jump to the most troubled service on the network.
scripts/build-network.mjs turns 1,600+ services into a
graph of station-to-station "flex track" legs — exactly how a real model
railway compresses geography. Terrain comes from Natural Earth.src/lib/engine.mjs projects each live GPS fix onto the
train's route chain, then a little "mover" interpolates positions between
polls and snaps on teleports (coupler change, GPS hop).npm install
npm run dev # vite dev server
npm test # engine test suite (~14k assertions)
npm run build # production bundle in dist/
npm run worker # deploy the Cloudflare worker (wrangler)
To rebuild the network or terrain data:
node scripts/build-network.mjs # needs today's Digitraffic timetable dump
node scripts/build-terrain.mjs # Natural Earth geojson
Vite + TypeScript + Canvas 2D · Cloudflare Workers + Durable Objects · Digitraffic · Open-Meteo · Natural Earth
MIT © 2026 Miguel García