TL;DR: I built TypeFast — a free web-based typing trainer that actually teaches you, not just tests your speed. 30-day program, race mode, daily challenges. French-first, works in English too. No download, no account needed to start.
Most typing tools just measure how slow you are. They don't teach you.
I got tired of that, so I built TypeFast — a structured 30-day program that builds real muscle memory, with gamification to keep it fun.
What it does
- 30-day structured program: 2 short exercises per day (~10 min total). Each day introduces new keys and drills them until they're automatic. No "figure it out yourself" — it's a guided path.
- Race mode: Real-time typing races against other users. Competitive, fast-paced, way more engaging than solo tests.
- Daily challenge: Unique text every day with community rankings. Keeps you coming back.
- Error heatmaps: See exactly which keys slow you down. Finger-by-finger analytics.
- French + English: Most tools are English-only. TypeFast is French-first (full French texts, UI in French), but works in English too.
Why I built it
I'm a systems engineer at Thales. I type 8+ hours/day. I noticed most of my colleagues hunt-and-peck their way through work — not because they don't care, but because they never learned.
Monkeytype is great for testing speed, but it doesn't teach. TypingClub is too kid-focused. Keybr's adaptive algo is clever but intimidating for beginners.
I wanted something in between: structured enough for beginners, competitive enough for enthusiasts, French enough for francophones.
Tech stack
- Frontend: React (SPA, no server-side rendering — the homepage is basically just the app shell)
- Backend: Firebase (Firestore for leaderboards + progress tracking, Auth for optional accounts)
- Hosting: Render
- Cost: ~€0/month so far (Firebase free tier + Render free tier)
Current state
Beta. Functional, but rough around the edges:
- Pro tier (€4.99/mo) is listed but not live yet
- No social proof (no user counts, no testimonials)
- No community (no Discord, no Twitter presence)
- Race mode works but lobby is often empty (chicken-and-egg problem)
I'm currently at ~12 active users (friends + Reddit testers). The product works; distribution is the bottleneck.
What I learned
- Building is the easy part. Getting users is 10x harder. I spent 3 months on the product, 0 days on marketing. That was a mistake.
- Free tier has to be good, but not too good. Right now, free users get almost everything. The Pro upsell ("advanced analytics") is weak. I should've gated unlimited races or full history behind the paywall from day one.
- French-first is both a wedge and a ceiling. It's a defensible niche (most competitors are English-only), but it caps my addressable market unless I go multilingual fast.
- No account-needed onboarding = high bounce, but also high trial rate. People try it fast, but don't stick because there's no investment. I'm A/B testing "skip login" vs. "quick OAuth" now.
What's next
Short-term (this week):
- Submit to AlternativeTo, Product Hunt (3-week runway), Reddit (r/learnprogramming, r/typing, r/france)
- Add a "share your speed" button (auto-generates a shareable image) — free viral loop
- Fix the empty race lobby problem (add bot opponents with realistic speeds until real users show up)
Medium-term (next month):
- Launch Pro tier (even if features are basic — I need to test willingness to pay)
- Add B2B features (teacher dashboards, team progress tracking) and cold-email French coding bootcamps
- Build a Discord + start posting on Twitter
Long-term:
- Multilingual (Spanish, German, Italian — not just UI, but texts + leaderboards per language)
- Mobile app (PWA first, then native if traction is real)
- Enterprise (company site licenses for onboarding/training)
Try it
No download, no account needed to start. Takes 60 seconds to try the speed test. If you like it, the 30-day program is waiting.
I'd love feedback — what's good, what's broken, what would make you actually use it for 30 days straight?
Questions I'm happy to answer:
- How did you build the race mode? (WebSockets + Firebase Realtime Database)
- Why Firebase and not Supabase/PlanetScale/etc.? (Firebase free tier is very generous for MVP scale, and Firestore's real-time listeners are perfect for races)
- Are you making money? (No. €0 revenue so far. Pro tier isn't live yet.)
- What's your biggest regret? (Not launching publicly sooner. I should've posted on Reddit / HN 2 months ago when the MVP was done.)
Drop a comment if you have questions or want to roast the product. I'm here.