Non-profit Web Sponsorship

Rebuilding outdated church and non-profit websites on modern, maintainable stacks.

Stack Astro, Sanity CMS, Vercel, Playwright, axe-core
Features Bilingual (EN/中文), CMS-driven content, form handling, accessibility audited
Partner First Ithaca Chinese Christian Church

A lot of churches and non-profits are stuck on aging platforms that nobody on staff knows how to update. I volunteer to rebuild them on a modern stack that non-technical teams can actually maintain. FICCC needed a bilingual site (English and Chinese) with CMS-driven content, form handling, and accessibility built in.

Learn more about my non-profit web sponsorship program

Barbell - Weightlifting Tracker

A focused app for tracking a minimalist barbell program and seeing progress over time.

Stack Next.js, React, Supabase, Tailwind, Framer Motion, Recharts
Features Auto-progression, rest timer, trend charts, personal records, calendar history
Built with Claude Code

Generic fitness apps add a lot of friction for what should be a simple workflow. Barbell strips it down to the essentials: log your sets, follow a structured progression, and see your trends over time. I designed the interaction model around speed and clarity, so logging a workout takes seconds instead of minutes.

News Briefing - Daily Summary

A lightweight AI-powered app that clusters headlines into a focused daily briefing.

Stack Next.js, Claude API, Neon Postgres, Drizzle ORM, Resend, Upstash QStash
Features RSS ingestion (16 sources), AI clustering, daily editions, email delivery, dark mode
Built with Claude Code

News feeds are noisy and repetitive. I wanted something that would cut through the clutter and give me one clean page to read each morning. News Briefing ingests RSS feeds from 16 sources, uses AI to cluster related articles into unified stories, and serves up a daily edition focused on readability and information hierarchy.