I’ve been building software for thirty years, and I still lose sleep over other people’s data. That feeling got sharper the day Homeschool Ace stopped being a spreadsheet for my own family and started holding records for yours.
So I want to pull the curtain back a little. Not all the way. This is the shape of how we build and why, written for the parent who wonders where their kids’ records actually live, and for the engineer who’s curious what a family-sized team ships.
Homeschool Ace is built by a family. There is no on-call rotation, no room full of servers, no ops team waiting for a pager to go off at two in the morning. When something breaks, it’s me. When your child’s transcript needs to be there next August, it’s on us to make sure it is.
That constraint shapes every decision we make. We can’t babysit machines. We don’t want to. So the architecture has to hold itself up while we’re at a golf tournament or sitting around the kitchen table doing actual homeschool. Most of what looks like a design philosophy is really just that one honest limit talking.
The job has never been about the technology. It’s about the problem. And the problem here is simple to say and hard to earn. Your records have to be safe, they have to be there, and the site has to be fast for a family checking a lesson plan on a phone in a parking lot.
So we chose boring. Boring stays up.
The marketing site you’re reading right now is a pile of static files served from a content delivery network. There’s no database behind this page, nothing to hack, nothing to fall over. It sits close to you geographically, so it loads fast whether you’re in Oregon or Georgia. When we publish a post, we rebuild the files and push them out. That’s the whole story for the public site, and that’s the point.
The application, the part where you actually manage your homeschool, is a different animal. It runs on Amazon Web Services, behind a load balancer, with managed services doing the heavy lifting for storage and security. We lean on AWS to run the plumbing we’d otherwise have to run ourselves, and run worse. Patching and backups. Scaling when a back-to-school rush hits. That’s work a family team should not be doing by hand, and with the cloud we mostly don’t.
People say “the cloud” like it’s a single thing. For us it’s a trade. We give up owning the machines, and in return we get reliability and reach we could never build on our own.
A few things matter to us more than anything else:
None of that is exotic. Plenty of companies run this way. What’s different is who’s making the calls, and why.
Here’s where being a family instead of a venture-funded team actually shows up in the architecture.
We’re our own first customers, so we don’t design for a slide deck. We design for the Tuesday when one of us needs to pull up a kid’s progress and doesn’t have time for the app to think about it. Our two boys are the first students to use whatever we ship, and they’ll let us know in about four seconds if it’s slow or confusing. That pushes us toward simple, fast, and dependable over clever.
We’re also the ones who’d have to fix a mess at midnight, so we don’t build messes. Every service we add is a service we have to understand, patch, and trust. That’s a real cost, and it makes us say no a lot. A feature has to earn the complexity it brings.
And we’re storing other families’ children’s records, which is not a thing I take lightly after thirty years of watching data get treated carelessly. So we keep the public site and the private application separate. We encrypt what matters. We give ourselves less access, not more, because the safest data is data almost nobody can touch.
That’s either overly cautious or exactly right, and I’ve decided it’s exactly right.
You will probably never think about any of this, and that’s the goal. Good infrastructure is invisible. You open Homeschool Ace, it’s there, it’s quick, and your records are where you left them. The whole point of the work behind the curtain is that you never have to notice it.
We built this the way we’d want someone to build it if they were holding our family’s records. Because they are. And we’re going to keep it that way.