Skip to main content

Command Palette

Search for a command to run...

Designing Lessons and Facing Frustrations (Week 05)

Published
3 min read
Designing Lessons and Facing Frustrations (Week 05)
M

I love turning ideas into products that make learning and growth feel natural. Freelancing, experimenting, and building my startup one step at a time, learning out loud as I go.

Building the lessons turned out to be the most challenging part so far. Between making them interactive, story-driven, and based on inquiry learning, while still keeping them scalable, there was a lot to figure out. Scalable here doesn’t mean handling millions of users, but making it easy for me to keep adding and designing new lessons without rewriting code each time.

But building lessons isn’t just a technical task, it’s also creative and educational. I had to switch from being a builder to thinking like a teacher. I kept imagining how I’d explain the concepts to my little brother: how to simplify grammar, connect it to real-life examples, and make him actually curious to understand.

I re-watched grammar videos on YouTube, took notes, and broke each topic into smaller, focused parts. Then, using ChatGPT, I started designing short interactive lessons that follow storytelling and inquiry-based methods. I wanted every lesson to feel like a small discovery, not a static grammar rule.

When I finished the content, I moved to adding it into Supabase, which was a whole new challenge. I’d never done backend work before, and Supabase uses SQL, a language I had to learn on the go. Writing Arabic (a right-to-left language) directly inside SQL scripts that are optimized for English caused plenty of layout and syntax errors.

At first, I tried asking ChatGPT to generate the scripts automatically, but it didn’t format the Arabic data properly. So I decided to do it manually, line by line. It worked, but it was so repetitive and time-consuming.

To make things worse, during one cleanup, I accidentally deleted a row linked to a full lesson I’d just finished. I lost an hour of work in a second. 😅 Redoing it was frustrating, not because it was hard, but because it was boring. This made me realize how useful an AI-powered data-entry assistant could be for repetitive backend tasks like this.

Since adding every single lesson would take too much time, I decided to finish only the first section for now, enough to start testing the app with my brother. It’s a smarter approach: it saves time, lets me collect real feedback early, and gives me the flexibility to improve future lessons based on what works best.

This week wasn’t just about the lessons, though. I also made a few small improvements in the app itself and added a splash screen, the welcome screen users see when they open the app. Right now, it doubles as a loading screen to give the app time to retrieve data before opening the main interface. It’s a small detail, but it makes the experience feel smoother and more complete.

Even though this week was mostly repetitive and not the most exciting part of the process, it’s one of those weeks where persistence matters more than creativity. The foundation of the learning experience is now ready, and that’s what makes me proud.

Next week, I’m planning to make it the final week of building the first version of the MVP. By the end of next week, the app should finally be ready for my little brother to test.

Thank you for reading, see you next Tuesday! 🚀

More from this blog

Mohamed Sellami

11 posts