Archive
Smaller and earlier work: infrastructure scripts, OAuth flows, a home-server fix, and the backends I learned on.
2026
EC2 bootstrap console
One idempotent script that prepares a small EC2 host: two-tier swap (zram first, EBS swapfile last), kernel VM tuning and a Tailscale join. Supports Ubuntu/Debian and Amazon Linux.
Each module records its result in a ledger, and a failed module doesn't abort the rest. The zram algorithm is picked from what the kernel supports, and Tailscale state is read from
status --jsonto avoid a second login.- Bash
- systemd
- zram
- sysctl
- Tailscale
Private repository2025
Google Drive letter editor
Write letters in a rich-text editor and save them as files in your own Google Drive.
Firebase session cookies plus a separate Google OAuth code flow, with token refresh and a
REAUTH_REQUIREDpath that resumes an interrupted Drive save after re-login.- Next.js 15
- React 19
- TipTap
- Firebase Auth
- Google Drive API
- Supabase
Code (opens in a new tab)Live demo offline2024
Home media server: Samsung TV client fix
The Tizen TV client of my self-hosted Jellyfin server advertised AV1/Opus support it couldn't decode.
Forked and patched the web client's device profile so the server transcodes instead, then repointed the community build pipeline and installer to ship the patched build to the TV.
- JavaScript
- GitHub Actions
- Shell
- Docker
2022
WhatsApp medication reminder
Sends scheduled WhatsApp reminders to patients, with a doctor-search module.
A first backend with a scheduler, an external messaging API and a normalised relational schema.
- Python
- Django
- Twilio WhatsApp API
- APScheduler
- PostgreSQL
2024
Social profile experiment
GitHub sign-in, profiles and a self-referential follow model.
A Prisma schema with a composite-key follows table and an Auth.js adapter.
- Next.js 14
- Auth.js v5
- Prisma
- PostgreSQL
2023
Zentry, a personal-safety app
A team project: shake-to-alert app that captures images and audio for emergency contacts.
I contributed the Flutter client's auth, contacts and API integration.
- Flutter
- Dart