I teach the class.
Then I made what it needed.
Secondary CS teacher and full-stack developer. Every tool here started as something my classroom needed first.
What I've built
Rainodoro
Conventional timers show a countdown of numbers ticking toward an alarm; Rainodoro replaces both with a soft rain sound and a bucket that fills with water instead, on any screen size.
- Vanilla JavaScript
- Web Audio API
3apples
A tally alone doesn't tell a parent what happened or when it happened — so the tool records why a behavioral incident occurred and when, not just how many.
- TypeScript
- React
- Vite
PipThePilot
A curious 6-year-old asking why planes fly gives a teacher no warning and no lesson plan to fall back on — they don't need an AI that answers for them, they need one that briefs them first.
- Gemini API
- Human-in-the-loop workflow
- Instructional design
Teacher Dashboard
School wifi fails and the lesson still has to run at 8:40am regardless — this dashboard tells a teacher what's on today, keeps worksheets linked to their textbook PDFs for in-class demos, and points to their calendar, without a login or a network connection.
- HTML
- CSS
- JavaScript
Thai Lessons
Forty-year-old public-domain language curriculum is trapped in scanned PDFs and loose audio files. This is the pipeline that turns it into structured, teachable content.
- Astro
- TypeScript
- Python
- Pagefind
- Cloudflare Pages