Things I’ve built

  1. Daybreak

    I wanted a morning reading habit that gave me the context behind the headlines and a reason to stop scrolling.

    It runs on my homelab: the morning pipeline on the X1 and the reading app on Nexus.

    read the case study
  2. Nexus Homelab

    I wanted to host my own services and learn how networking, storage, and security fit together on a real server.

    Nexus runs 25+ self-hosted services, including Daybreak’s reading app.

    read the case study
  3. StudyFlow

    A study app that turns your course notes into a study plan, practice questions, and a readiness score for each exam.

    Won 1st place at UofT’s Claude Builder Club Sonnet 4.5 Show n Tell in October 2025.

    read the case study

More projects

  • Galaxy Tab Reading Tablet

    I wanted an e-reader, so I repurposed my Galaxy Tab S8+ for offline books and S Pen notes. I rooted it with DFRoot and KernelSU while the bootloader stayed locked, then built local controls that switch between power-saving reading and smoother handwriting.

    Android, ADB, KernelSU, Java, Shell, KOReader

  • Lodestar

    Deployed · Private repo

    My personal dashboard for turning ideas I capture into a first step. Its Console connects to a runner on my Mac over an outbound WebSocket, so I can continue a coding session and approve tool requests from my phone.

    FastAPI, React, TypeScript, SQLite, WebSockets, PWA

  • X1 Local LLM Server

    Private repo

    An LLM server on a Ryzen AI mini PC with 96 GB of RAM. llama-swap serves five model roles, including gpt-oss-120b, through one OpenAI-compatible endpoint on my Tailscale mesh. Every config lives in a git repo, so when I wiped the OS by accident, the whole server came back from that repo.

    llama.cpp (Vulkan), llama-swap, Podman, systemd, Python, SQLite, Tailscale

  • Mac Menu-Bar Apps

    Four small macOS menu-bar apps, each fixing one annoyance: QuitGuard makes ⌘Q hold-to-quit, FocusGuard bounces apps that steal keyboard focus, PutBack restores window layouts when a monitor reconnects, and Perch chats with local LLM endpoints from the menu bar. None of them sends telemetry, and each ships as a downloadable DMG.

    Tauri 2, Rust, TypeScript, CoreGraphics event taps, Accessibility API

  • SAGE

    A document Q&A workbench that runs entirely on my Mac. Combining BM25 keyword search with dense vectors and a cross-encoder reranker raised top-1 retrieval accuracy from 84% to 95% on vocabulary-overlap questions, measured on a 72-question gold-labelled benchmark. Answers cite their sources and scored 4.85/5 for faithfulness with an LLM judge. It refused all 10 out-of-corpus questions.

    Python, FastAPI, ChromaDB, sentence-transformers, Ollama, React, TypeScript

Earlier projects

  • VulnScan

    CLI network vulnerability scanner with asynchronous discovery, NIST NVD API matching, and CVSS-based risk scoring across 7 scan types.

    Python, nmap, SQLAlchemy, Rich, Typer, SQLite

  • DoseMate

    Course project

    A medication management project built for a startup course. The hosted demo includes a doctor dashboard and a form for creating prescriptions.

    Next.js 14, TypeScript, Supabase, Stripe, Resend API

  • Canvas Assistant

    A Next.js dashboard for Canvas LMS assignments, announcements, grades, and calendar events, with a built-in demo mode.

    Next.js, TypeScript, FastAPI, Canvas LMS API

Set in Newsreader and IBM Plex Mono. Toronto, ON, Canada.

© 2026 Prahlad Ranjit