Projects
Mobile Apps

BusyHive
Live on the App StoreFamily chore and allowance app for iPhone and iPad, built after analyzing 560+ App Store competitor reviews. Set a reward for each chore, let kids mark it done with an optional photo, and balances and history update automatically. No account and no cloud: data stays on your devices, and a kid's own iPhone can be paired by QR code and synced when nearby.

Fressh
Live on the App StoreRSS and Atom reader for iPhone with no account, ads or algorithm. Subscribe to feeds, subreddits and YouTube channels, star and share articles, and import or export subscriptions as OPML. Feeds are fetched and stored on the device.

Spool: Offline Music Player
Live on the App StoreOffline music player for the audio files you already own (MP3, M4A, FLAC, WAV and more). Browse by songs, albums, artists and playlists, with search, smart playlists and lock screen controls. No account, no cloud, no subscription; the library lives on the device.

Stark: To Do List & Calendar
Live on the App StoreTo-do list and calendar in one agenda: reminders and events on a single scrolling list, with week, month and year views. Supports recurring items, marking events attended or skipped, and search. Data is stored as plain .ics files on the device, with no account or subscription.

FifteenAll
Live on the App StoreTennis club and match tracker for iPhone. Find and join clubs near you, record match results including guest players, and get ELO ratings and player stats calculated automatically.

Hop: Terminal for iPhone
In App Store reviewNative SSH terminal for iPhone. Save your servers, tap one to connect, and get a real remote shell with a keyboard bar for Esc, Tab, Ctrl and the arrow keys. Passwords stay in the Keychain, and each server's host key is pinned on first connect so a changed key raises a warning.
Other Projects
ted
Small text editor for the terminal, written in Rust, with one goal: it just works, with no configuration. Open, edit and save a file with arrow keys, Ctrl-S and Ctrl-Q. Text lives in a rope, saves are atomic (a failed write never leaves a half-written file), and files that are not valid UTF-8 are refused before they can be corrupted.
Jarvis
Personal AI assistant running 24/7 on a Mac mini. Chat with Claude-powered responses via Telegram, download YouTube videos with transcripts, summarize content, write Obsidian notes with AI frontmatter, fetch weather, manage reminders. Saves 5+ hours/week on content summarization.
Holy Trinity Academy of Calamba
Website and billing system for a school in Calamba, Philippines, one server-rendered Go binary with a SQLite database. The public site was rebuilt from WordPress and covers admission, forms, policies, tuition and fees, news and contact, with the original content and images migrated and a full backup kept before the old site was retired. The signed-in side is billing and bookkeeping for the finance office, with audit logging on every change: staff manage tuition charges, discounts and payments per student, with balances computed from the ledger, double-entry reports (trial balance, income statement, balance sheet), staff cash advances with payday deductions, payroll, and role-based access. Parents see read-only balances for their own children.
Garden
Website documenting my backyard garden — a garden log, flower inventory, bloom calendar, and reading notes.
caritos.com
This site — personal portfolio and consulting site built with Bun, Hono, and TypeScript. Server-side rendered, no client-side framework, deployed on a Dreamhost VPS.