9 projects
Projects
Work spanning web apps, native mobile, and a poetry publication. Some shipped to production, some exist as source only, and each entry below says which. Where a project has a case study it covers the problem, the architecture, and what I specifically built rather than what the team did.
- WebApplication
Brain Base - Second Brain
An open-source, self-hostable second brain - notes with ⌘K quick capture, a candle-ring focus timer, daily journal, knowledge graph wired by [[wikilinks]], learning tracker, and SM-2 spaced repetition. All in one place. No subscriptions.
Next.js 16, TypeScript, Prisma, NextAuth v5, Tailwind v4
- Web
ICP Developers' Community
A student-led developer community at Informatics College Pokhara, which I led before handing it over. Its application form runs a three-layer abuse defense - honeypot, then per-IP rate limiting, then hCaptcha - and deduplicates repeat applicants against a Resend audience, so there is no database behind the form at all. Built with a typed data layer, keyboard-chord navigation, and a /colophon that discloses AI assistance.
Next.js 14, TypeScript, Tailwind CSS, Resend, hCaptcha
- Web
Veon - Indie App Store
Built as a centralized hub to easily distribute Android applications and published books. It provides a custom-branded environment for seamless access to digital works.
Next.js, Firebase, Cloudflare Pages, TypeScript
- ApplicationCreative
Line - Poetry Social Platform
A mobile-first social platform built exclusively for poets and creative writers. Publish verses, follow other poets, like and comment with optimistic UI, send 1:1 DMs, organize work into collections, and discover poetry through a personalized feed. Runs entirely on Firestore - messages, unread counts, and collection totals all move through atomic batched writes, with no custom server.
React Native, Expo, Firebase, TypeScript
- CreativeWeb
i feel therefore i write
A dedicated web platform built to share a curated poetry collection with the world, focusing on emotional resonance and clean presentation. Poems live in Notion, sync daily to Firestore via a Cloudflare Worker cron, and render edge-rendered for fast cold loads.
Next.js 15, Notion API, Firebase, Cloudflare
- WebApplication
Exam Seat Plan - Seating Management
A seating management system built for the RTE Department at Informatics College Pokhara. Automates exam seat plan generation, lets staff manage rooms and invigilators, and gives students a fast way to look up their assigned seats. Deployed for the department, with Excel export and a separate student lookup.
React 18, Vite, TypeScript, Django REST, JWT
- WebApplication
Attendance - Check-in System
A check-in system for the ICP Developers' Community - per-session attendance boards, history, and CSV export. Four runtime dependencies in total and no authentication library at all: the dashboard is gated on an HMAC-SHA256 token signed with the Web Crypto API and compared in constant time, with same-origin CSRF checks and per-IP rate limiting layered on top. GitHub Actions builds the Docker image and deploys it over SSH on every push.
Next.js 16, better-sqlite3, Web Crypto, Docker
- ApplicationCreative
Veil - Poetry Reading App
A React Native reading app for poetry. Poems sync from Notion on a 5-minute cron, and GitHub Actions builds and attaches an APK to every tagged release - four automated releases so far. Push notifications prune themselves: tokens that come back with Expo's DeviceNotRegistered or InvalidCredentials are deleted on sight.
React Native, Expo, Notion API, TypeScript, GitHub Actions
- Application
Margin - Native iOS Notes
A minimal native iOS notes app built with SwiftUI. Write, search, and preview Markdown notes with debounced autosave, plus full-text search that highlights matches as you type. Firestore-backed, with Google Sign-In.
Swift, SwiftUI, Firebase (Firestore + Auth), Google Sign-In
GitHub links are the repository itself; Live links are deployments I still control. Where neither is listed, the work is private or was never deployed - the case study says which.








