Skip to content

Archive

Smaller and earlier work: infrastructure scripts, OAuth flows, a home-server fix, and the backends I learned on.

  1. 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 --json to avoid a second login.

    • Bash
    • systemd
    • zram
    • sysctl
    • Tailscale
    Private repository
  2. 2025

    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_REQUIRED path 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 offline
  3. 2024

    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
  4. 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
  5. 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
  6. 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.