How I Built LearnGOAT - A Free Maths Worksheet Generator
Ever found yourself thinking "there must be a better way"? That's exactly what happened when I was buying yet another maths practice book for my kids. As these books started piling up (along with their cost!), I realized I could turn this parental challenge into an opportunity to build something useful - not just for my family, but for everyone.
The Problem
As a dad of two school-age boys, I kept running into the same issues with traditional maths practice books:
- They're not exactly cheap (especially when you need them regularly)
- They take up precious storage space
- Once used, they're basically done - you can't reuse them
- You can't customize the difficulty level as your child progresses
Then it hit me - we all have printers at home, right? What if we could generate fresh worksheets whenever we needed them?
The Solution: LearnGOAT.com
I decided to build a web application that would:
- Generate custom maths worksheets on demand
- Be completely free for everyone
- Work entirely in the browser (no backend needed!)
- Be simple enough for any parent or teacher to use
The Tech Stack & Development Journey
This is where the story gets interesting for my fellow tech enthusiasts. What started as a single HTML file with embedded JavaScript and CSS has evolved into a fully-fledged static site built with Eleventy. But let me rewind to the beginning.
I began the development process with Claude 3.5 Sonnet, Anthropic's AI assistant, as my pair programming companion. Our initial prototype was deliberately simple - everything in one file, just to get the core worksheet generation working. No build process, no TypeScript, just pure HTML, CSS, and JavaScript.
One of the key decisions I made early on was to keep everything client-side. This means:
- Zero server costs (it's just static files being served)
- No database to maintain
- Lightning-fast performance
- Works offline once loaded
- Easy to scale - static files are trivial to serve from CDNs
As the project grew, so did its architecture. Through multiple iterations and conversations with Claude, we:
- Split the codebase into proper TypeScript files
- Set up an Eleventy build pipeline for optimal performance
- Implemented proper bundling and minification with esbuild
- Maintained everything as a purely client-side application
This iterative process, guided by both practical needs and AI assistance, resulted in what you see today: a lean, fast-loading application that generates worksheets entirely in your browser. No backend, no database, just efficient client-side code doing its job.
The Development Process
The evolution of LearnGOAT was fascinating from a technical perspective. Each iteration brought new challenges:
Initial Version: - Single HTML file - Inline JavaScript - Basic styling - Core worksheet generation Current Version: - TypeScript for type safety - Proper build pipeline with Eleventy - Optimized bundle sizes - Enhanced worksheet generation algorithms
Working with Claude was particularly interesting - it helped not just with code, but with architectural decisions and optimization strategies. The AI wasn't just generating code; it was a thought partner in designing the system's evolution.
What's Available Now
Currently, LearnGOAT offers worksheets for:
- Addition
- Subtraction
- Multiplication
- Division
- Fractions
Each type comes with different difficulty levels, so you can match the worksheets to your child's current abilities.
Looking Forward
This is just the beginning for LearnGOAT. I have plans to add:
- More types of maths problems
- Different worksheet layouts
- Additional customization options
But I'm also keen to hear what other parents and teachers need. What would make these worksheets even more useful for you?
The Big Picture
Sometimes the best projects come from solving our own problems. What started as a way to save money and storage space has turned into a tool that anyone can use, completely free. It's my way of giving back to the community, using technology to make education a little more accessible.
Have you used LearnGOAT? What features would you like to see added? How do you handle maths practice in your family? Let me know in the comments!
Oh, and if you're a fellow tech enthusiast curious about building client-side apps with AI assistance, or if you're a parent looking for free educational resources, feel free to reach out. I'd love to hear from you!
Visit LearnGOAT.com to try it out for yourself!
Comments