Waypoint — mission control for life
To-dos, bills, calendar, job hunt, and homelab status on one screen, and on every TV in the house.
The problem
I had to-dos in one app, bills in another, a job search tracked in a spreadsheet, and homelab status scattered across dashboards. I wanted one place that was mine.
What I built
Waypoint: a Node/Express + SQLite app with:
- To-dos (kanban board)
- Calendar
- Bills
- A job-search pipeline
- Homelab status
- Agent activity
- A read-only TV wall board that cycles views on every TV in the house and can speak announcements
Stack
Node.js, Express, SQLite, vanilla frontend.
What broke and how I fixed it
Two browser tabs would silently overwrite each other’s saves — everything lived in one JSON state blob, so whichever tab saved last won, full stop. I fixed it by stamping reads with a server timestamp and merging server-written rows back in on save, instead of blindly overwriting the whole blob.
What I’d do next
Split that one JSON blob into per-item tables. It works, but every save-conflict bug so far has traced back to it.
Like this one
The resume has the rest of the story.
See resume →