Lately I've felt an irresistible pull to finally act on an idea I've carried around for years.
In a former life, I was a special education teacher. That job is actually how I got into tech: I wanted to build tools that would make my own work easier. I'm starting what is fondly known in the #100Devs community as my "100-hours project".
The problem
In many ways, special ed teachers are on their own. You find your own tools. You create your own systems. And the resources you need for everyday tasks are scattered across too many places. When it came time for me to update students' progress weekly or prep for a student's IEP, I would lose hours just collecting data from multiple sources.
A core part of the job is tracking students' IEP goals. One student can have one to five goals. In a state like mine, with no cap on caseloads, a teacher can have 25 or more students. Twenty-five students times even two goals each...you do the math.
So I'm building SpEd Hub, a tool that pulls those resources into one place, starting with writing, saving, and tracking IEP goals.
The tools
Database: PostgreSQL. Student goal data has a predictable shape, which fits a relational database with a fixed schema, where the database itself enforces the rules. I also chose it because I want to strengthen my skills in SQL and database design, so I'm writing every query myself.
Backend: Python with FastAPI. Python was the first language I learned, and its type hints feel familiar coming from TypeScript. I also love that FastAPI builds a solid docs page for my API automatically. But the biggest reason is AI. Python's data and AI ecosystem is hard to beat, and I have real AI plans for SpEd Hub, from progress analytics to helping teachers find resources.
Frontend: React and TypeScript. I have a soft spot for Angular, but React is a skill I want to stretch. That's really all that went into this one.
AI: Claude. In the past I've used tools like BMAD, and I still like it, but Claude has evolved so much over the last year and a half that BMAD's skills no longer feel unique. For this project I'm using Claude's Projects feature on the web: asking targeted questions, iterating on ideas, walking away, and then reading the source material myself. Claude is great at the overview, but it can't always predict what will spark understanding for me, so I love that it points me to sources. The biggest lesson has been learning to push back, so my own ideas shine through and I actually understand what I'm building instead of letting Claude do it all or just saying "looks good to me."
Right now the schema is in a good place, and I'm writing the endpoints.
Why it matters to me
This is a passion project. Making teachers' lives easier excites me, and so does building better connections between teachers and students and keeping parents in the know about their child's goals. I also have ideas for improving communication between special ed and gen ed teachers.
I'm not building something huge or worrying about scale. But I do want something that's actually useful and fast. Teachers have it hard enough.
Your turn
I'd love to hear from you:
- How do you make decisions about your database structure?
- What tools do you use for planning?
- What does your scoping and planning process look like?
Top comments (0)