Project Overview
This handwriting practice generator was built using an iterative, feedback-driven development process with Claude Code. The approach demonstrates how to effectively collaborate with AI agents to build real-world applications through incremental refinement.
AI Context Usage
The entire development process used 106k out of 200k tokens (53%) from Claude Sonnet 4.5. This includes all conversations, code generation, iterations, and this documentation.
Model: claude-sonnet-4-5-20250929
Remaining capacity: 94k tokens (47% available)
Process Documentation
The "Vibe Coding" Process
Rather than attempting to specify everything upfront, this project used an iterative, test-and-refine approach:
- Fixed print preview functionality
- Integrated custom handwriting font (KGPrimaryDotsLined.ttf)
- Adjusted layout structure (all traced lines, then one practice line)
- Removed redundant CSS guide lines (font has them built-in)
- Tuned spacing and font sizes for different age groups
- Switched from fixed heights to padding-based layout
- Improved UX with secondary-colored print button placement
- Added social media meta tags
What Worked Well
- Markdown-Based Feedback: Using numbered feedback files (04_feedback.md, 05_feedback.md, etc.) created a clear audit trail
- Incremental Changes: Each feedback round tackled 1-3 specific issues, making debugging easier
- Concrete Examples: Providing the actual TTF font file eliminated ambiguity about requirements
- Product Owner Pattern: Having the AI act as product owner to ask questions surfaced hidden requirements early
- Visual Feedback Loop: Testing in browser after each change enabled quick iteration
Areas for Improvement
Next Time, Do This Better:
Optimal Workflow for Next Project
Key Takeaways
- AI excels at rapid iteration: Each feedback cycle took minutes, not hours
- Specificity matters: Vague feedback ("make it better") leads to guessing; concrete feedback ("use padding instead of fixed heights") gets results
- Visual context is king: Showing > telling, always
- Document as you go: The numbered feedback files made this retrospective easy to write
- Product thinking + AI coding = magic: The product owner pattern surfaced requirements that weren't in the initial brief
Final Thoughts
This project demonstrates that AI-assisted development isn't about replacing human judgment—it's about amplifying it. The human provides vision, taste, and quality standards. The AI provides rapid implementation and tireless iteration.
The "vibe coding" approach works because it mirrors how humans actually think: start with a fuzzy idea, refine through conversation, prototype quickly, and polish through iteration. The key is maintaining a tight feedback loop and being specific about what needs to change.
Total development time was approximately 2 hours from initial thought to production-ready application, including documentation. Traditional development would have taken days or weeks.
← Back to Handwriting Practice Generator