Web app · live
Tabi
A group holiday budget and travel planner that I designed, built and deployed on my own. It's live, my friends are testing it right now on our trip to Japan, and anyone can try the demo trip.
Tested on a real trip
My friends and I are using Tabi to plan and budget our trip to Japan as it happens, so it's being tested by real people on real days out, not just by my automated checks.
The newest feature is an AI assistant, built on the Anthropic SDK, that helps the group plan the trip and manage the budget from inside the app.
How it's built
- An Express 5 API with routes split by feature, and a single SQLite database (Node's built-in
node:sqlite), with schema changes kept in one place - A framework-free front end built from small helper functions, with Leaflet for maps
- Installs to a phone's home screen, with a service worker for offline use and push notifications
Services and SDKs
- OpenStreetMap (Nominatim and Overpass) for addresses and nearby places, and CARTO map tiles
- Open-Meteo for weather, and Frankfurter for exchange rates
- Email with nodemailer, push notifications with web-push
- The Anthropic SDK for the AI assistant that helps plan and budget the trip
Testing and CI
npm run checkruns my own test scripts, which test the API over HTTP and the screens in a real Chromium browser with Playwright- GitHub Actions runs the same checks on every pull request
- Render redeploys automatically when
mainchanges, and three daily database backups are kept