May 31, 2021
Blocks is a school schedule app that I created in the summer before junior year of high school, and ran for my junior and senior years.
It was born from my high school switching to a six-day rotating schedule, which would be harder to memorize.
I came up with the idea at the end of sophomore year, but I shelved the idea because I thought it would be too much work. But later in the summer, a friend texted me a screenshot of their texts with someone else, who thought it was a great idea.
Seeing someone who was actually interested in an app like that motivated me a lot, and I started working that night.
I finished a rough version of the app within a week. I shared it with a friend, who sent it to some friends, and I remember it hitting 8 users. That night I hit around 200 downloads, and the next day 500.
From there, I met with my high school’s vice principal to ask him for his blessing. But midway through that meeting I realized that I didn’t want him to tell people about the app — that would make it uncool. Instead, I asked for his blessing just so peer mentors (who helped freshmen transition to high school in the first few weeks) could talk about it.
I’m not sure whether having the vice principal share the app would’ve actually hurt its success. Oh, well.
The app in its first year was a Gatsby (React) app that interacted purely with local storage. Nearing winter, some people started to have their data wiped randomly by iPhone’s local storage management, which was extremely annoying and scary.
I built a simple backup server on Glitch, but anyone who put in someone else’s email address into a fresh Blocks installation would get that person’s entire schedule downloaded. This was an issue that I somehow managed to ignore.
The app chugged along until March of 2020, when we were sent home because of Covid. Two weeks into the school’s shutdown, I put up this message:
With remote learning, Blocks won’t be super helpful for the next while.
I truly appreciate you using my app this year. Blocks will be back in August.
Stay safe,
Ben 🧼
Over the summer, I carefully kept up with the proposed schedules and even attended many school board meetings on Zoom. I eventually rebuilt the app from scratch with user accounts using Laravel, and deployed it to the same domain: blocks.elk.sh
This year, the app has grown to almost 2,100 students and teachers using it, with consistent 92%-94% weekly active users. The entire high school was ~2,400 students, so it had substantial adoption.
Realizing that I had an app that thousands of students visited every day, I ended up having some fun:
After my senior year, I made the difficult decision to shut the app down instead of passing it off to someone else.
I would rather go out with a bang than a whimper, ya know?
Further reading: Tips for Creating the Next Blocks