← Projects

Core

A single-user personal dashboard for university, projects, tasks, finance and bike upkeep. Runs as an always-on Docker container with one SQLite file for all data.

2026SoloNext.jsTypeScriptSQLiteDrizzleDocker

One home screen for the things I track: courses and deadlines, work and projects, tasks and events, money, and the motorbike. Localhost only, no login, single user. It replaced a spread of Notion pages and spreadsheets with something that is mine and lives on my machine.

Design

  • Next.js App Router with better-sqlite3 and Drizzle. Synchronous SQLite calls from server components; no ORM ceremony beyond the schema.
  • Always-on in Docker. docker compose up -d --build and it comes back after every reboot. No more npm run dev before I can see my week.
  • One file for all data. ./data/core.db is bind-mounted into the container, so it survives restarts, rebuilds and image deletion. Backing up is copying a file; moving to another machine is rsync.
  • Markdown export. Each section exports as .md from the profile page, so nothing is locked in.

Per-OS install notes cover Windows, macOS back to Monterey, and headless Ubuntu Server, with a native Node path for machines that cannot run Docker. MIT licensed.