Over the last year, I’ve been building an online learning platform focused on exam preparation and structured education. The idea started from a simple problem: students were preparing from too many scattered sources — YouTube videos, PDFs, Telegram chats, random tests — and most of them felt overwhelmed instead of progressing.
So we started building https://edu.erudit.kz
— not just another learning website, but a system where lessons, tests, and progress tracking live together.
This post isn’t marketing — it’s a reflection on what we learned while building an EdTech product with a real user base.
The Problem With Traditional Learning Platforms
Most educational platforms focus on content delivery, not on learning flow.
Students usually:
watch videos in one place
solve tests somewhere else
track progress nowhere
From a developer perspective, the biggest challenge wasn’t UI — it was designing a structure that encourages consistency.
Instead of “courses”, we focused on small learning actions:
short practice sessions
instant feedback
visible progress
This dramatically changed engagement.
Tech Stack We Chose (and Why)
We needed something flexible enough for rapid iteration.
Backend: Laravel
Frontend: Nuxt 3
Auth: Token-based flow
Architecture: REST API + modular content structure
Why this stack?
Laravel allowed us to quickly model complex entities:
subjects → modules → lessons → tests
user progress
gamified attributes (XP, streaks, etc.)
Nuxt 3 gave us:
fast SSR pages
reactive UI for test sessions
clean routing for educational flows
One unexpected lesson: performance matters more in EdTech than you think. Students lose focus fast — even small delays during test loading reduce retention.
Designing Practice Instead of Content
One of the biggest mistakes we avoided was building a “video-first” platform.
Instead, we structured the system around practice loops:
Student opens a subject
Solves a short task
Gets instant feedback
Continues without friction
From a product perspective, this required building:
flexible question models
session tracking
lightweight progress analytics
From a dev perspective — lots of edge cases 🙂
Gamification Isn’t About Games
When people hear “gamification”, they imagine flashy badges.
What actually works:
visible streaks
small rewards
clear progression
Technically, this meant tracking actions as events rather than static states. For example:
completing practice
improving score
daily activity
This event-based approach simplified logic across the platform.
Biggest Challenges So Far
- Content Structure
Education isn’t just CRUD. Relationships between lessons, tests, and attempts grow fast. Early database decisions matter a lot.
- Motivation vs Complexity
Adding features is easy.
Keeping students focused is hard.
We learned to reduce UI noise and keep interactions short.
- Real Users Behave Differently
Developers imagine ideal flows.
Students click everything randomly 🙂
Logging and analytics became essential.
What I’d Do Differently If Starting Again
Design analytics first, not last
Avoid overengineering gamification early
Think in “learning actions”, not pages
EdTech feels simple on the surface, but building a system that people return to daily is closer to building a game than a website.
Final Thoughts
Building edu.erudit.kz taught me that educational platforms aren’t just about delivering knowledge — they’re about designing habits.
If you’re working on EdTech, I’d love to hear:
what stack you’re using
how you track user progress
and what actually keeps students engaged
Because honestly — the hardest part isn’t code.
It’s helping someone come back tomorrow and learn again.
Top comments (0)