A modern web application for studying US Amateur Radio license exams. Open source, community-driven, born in North Carolina.
Live App: app.openhamprep.com
- Practice Tests - Simulated exam experience with optional timer
- Random Practice - Study questions with instant feedback
- Study by Topics - Focus on specific subelements with learning resources
- Weak Questions - Review questions you've missed
- Glossary & Flashcards - Learn key terms with spaced repetition
- Progress Tracking - Dashboard with test readiness, streaks, and goals
- Bookmarks - Save questions with personal notes
Supports all three license classes: Technician, General, and Extra.
Prerequisites: Node.js 20+, Docker Desktop
git clone https://github.com/sonyccd/openhamprep.git
cd openhamprep
npm install
npm run dev:full- App: http://localhost:8080
- Database GUI: http://localhost:54323
See LOCAL_SETUP_QUICKSTART.md for details.
npm run dev # Start dev server
npm run dev:full # Start Supabase + dev server
npm run supabase:stop # Stop Supabase
npm run supabase:reset # Reset database
npm test # Run tests
npm run build # Production buildReact 18, TypeScript, Vite, Tailwind CSS, shadcn/ui, Supabase (PostgreSQL, Auth, Edge Functions)
- Local Development Guide
- Testing Guide
- Contributing Guidelines
- Deployment Guide
- Claude Code Instructions
- Fork the repo
- Run locally with
npm install && npm run dev:full - Make your changes
- Submit a pull request
See CONTRIBUTING.md for guidelines.
© Brad Bazemore