Projects
Where Americans Work
LinkClosed Source2026·website, data visualization
An interactive map of US employment flows built on Census LODES data (2002-2023). Click any county to see commute flows light up along OSRM-routed highway corridors. A second page shows a 3D extruded choropleth of workforce characteristics — jobs, workers, job/worker ratio, net flows, and retention — with log-scaled elevation, time-animated sparklines, and a camera spin on selection. Processed 14M+ rows of block-level data down to 96k routed county pairs. Frontend is deck.gl on a dark basemap, deployed as a static site.
deck.glmapboxosrmpythonpolarscloudflare pagesOpen Whisper
2026·tooling, ai
A local macOS dictation app powered by MLX. Hold Fn to record, release to transcribe, and text is pasted into the focused field. Runs Qwen or WhisperKit for ASR with an optional Apple Foundation Model or LM Studio cleanup pass to remove filler words and stutters. A native Swift menu bar app manages the Python backend, microphone selection, and settings, with code signing for persistent permissions.
swiftpythonmlxwhisperkitqwenmacosStream iPhone in Terminal
2026·tooling
A terminal-based iPhone screen mirror that renders your phone in the Kitty terminal via AirPlay. UxPlay receives the screen mirror stream, ffmpeg decodes H.264 to raw frames, and cr-cli renders them using the Kitty graphics protocol. Mouse clicks and drags are translated to touch events via WebDriverAgent, enabling full touch and drag forwarding — enough to play games like Clash Royale from the terminal.
rustkittyairplayffmpegwebdriveragentLife CLI
Closed Source2026·tooling
A time tracking CLI built in Rust. Start, stop, and log tasks from the terminal with automatic overlap detection for backdated entries. Supports daily logs with per-task breakdowns and a multi-day report aggregating hours by category. Data is stored as JSON in the local data directory.
rustclapchronocliPhone Agents
2026·tooling
A guide on how to run coding CLIs/harnesses from your iPhone. Uses a Hetzner VPS with Tailscale for private networking and tmux for persistent sessions. Continue your Codex or Claude Code session on your phone as you commute or leave the house.
clihetznertailscaletmuxMonte Carlo Control
2026·website, ai, tooling
An interactive reinforcement learning visualizer for Monte Carlo control with epsilon-greedy exploration. Backend trains a Q-function in a custom grid world and tracks both training returns and periodic greedy evaluation runs. Frontend shows a live policy grid, per-state Q-values, and learning curves while training in real time.
pythonreactfastapireinforcement learningVibeboard
Closed Source2026·website, ai, multiplayer
A real-time collaborative whiteboard with an AI agent that lives on the canvas. Users draw, drop PDFs, and create shapes on a multiplayer board powered by tldraw and Liveblocks, then prompt the AI to see, organize, and manipulate everything directly. The agent streams 25+ structured actions executed live on the canvas. Includes a Canvas LMS integration and a drag-and-drop PDF pipeline with inline rendering and text extraction for AI context.
next.jsreacttldrawliveblocksvercel ai sdkCodebase Indexer
2026·website, ai
A codebase indexer that parses source code with tree-sitter into semantic chunks then generates summaries and embeddings for semantic search. Includes a Q&A agent with tool-calling that can search, navigate call graphs, and reason about code. The Next.js frontend renders an interactive graph visualization of codebase relationships with real-time indexing progress.
pythonnext.jstree-sitterfastapiollamaThai Jobs Index
Closed Source2026·website, scraping
A job aggregator that scrapes career pages from major Thai companies. Uses a mix of static HTML parsing and headless browser automation to handle everything from simple REST APIs to Angular SPAs with modal-based navigation. Outputs structured JSONL data consumed by a Next.js frontend for browsing listings across companies.
pythonbeautifulsoupcrawl4ainext.jsweb scrapingSAM Track
2025·ai
An image and video segmentation app built on Meta's SAM 3 model. Upload an image or video and describe what to segment with a text prompt. The FastAPI backend runs inference with PyTorch, generating colored mask overlays and bounding boxes. Supports frame-by-frame video processing with real-time progress tracking and side-by-side comparison views.
pythonpytorchsam 3fastapiopencvHelix Dashboard
2025·website
A web dashboard for HelixDB that lets you view and interact with your graph vector database. Features an interactive graph visualization of nodes and edges with filtering and search, a query runner for executing HelixDB queries with JSON result views, schema inspection, and analytics. Supports both local instances and HelixDB Cloud with Docker deployment.
next.jshelixdbdockerreact flowd3Helixir
2025·tooling
An interactive CLI tutorial for learning HelixDB, a graph vector database. Walk through step-by-step lessons covering schema design, node and edge creation, graph traversal, and semantic search with vectors. Features real-time validation of solutions and progress tracking as you learn graph database concepts through practical examples.
rusthelixdbcliUCSD Podcast Scraper
2025·tooling
A CLI tool that extracts lecture transcripts from UCSD's podcast system. Uses Playwright browser automation to intercept caption file URLs from the network layer as the video player loads, bypassing DOM scraping. Outputs both raw SRT files and clean plain-text transcripts.
pythonplaywrightweb scrapingcliHelix Docs Agent
2025·tooling, ai
An AI agent that traverses a HelixDB graph database to answer questions about documentation. Scrapes docs into a graph structure, then uses tool-calling agents to query MCP endpoints and traverse relationships between pages. Supports both local models via Ollama and cloud models via OpenRouter, with MCP servers available over STDIO and HTTP.
pythonhelixdbmcpollamaopenrouterNetwrxk
Closed Source2025·website, ai
An AI-powered academic networking platform that helps students discover professors and research opportunities. Features an AI chatbot built with LangGraph and Gemini that uses RAG over professor data stored in Qdrant, with Exa search integration for real-time academic lookups. Includes an onboarding flow for interests and university selection, user auth via Better Auth with Drizzle ORM, and Cloudflare R2 for data storage.
next.jspythonfastapigoogle geminilanggraphqdrantllamaindexexabetter-authdrizzleDocs to LLM
2025·website, scraping
A free alternative to Firecrawl's llms.txt that crawls documentation pages into an easily digestible format for LLMs. Paste a docs URL and the Crawl4ai-powered backend extracts clean content, ready to copy or save. Built to avoid the cost of search-based MCP tools and provide up-to-date library context directly to models.
next.jspythoncrawl4aifastapiweb scraping