I Built an AI Learning Platform as a Student — Here's Exactly How
I built Eduquic because I was tired of passive learning.
I wanted a platform that could generate study content for me, quiz me on it, and track my progress. So instead of waiting for it to exist, I built it.
The Stack (And Why I Chose It)
| Tool | Why |
|---|---|
| Next.js 14 | App router, server components, full-stack in one repo |
| OpenAI API | Course content generation |
| MySQL + Prisma | Relational data with a great DX |
| Clerk | Auth without the pain |
| Shadcn UI + Framer Motion | Beautiful UI, fast to build |
The Hardest Part: OpenAI Integration
I expected AI to be plug-and-play. It was not.
My first prompt returned content that was too long, weirdly formatted, and sometimes just wrong. I spent a week just on prompt engineering.
What worked:
You are a curriculum designer. Given a topic, return exactly 5 learning modules in JSON format: { title, summary, keyPoints: string[] }. Do not add extra text. Return only valid JSON.
Strict output format + strict instructions = consistent results.
The Auth Rabbit Hole
I tried to build auth myself first. Big mistake.
After two days of JWT refresh token logic, I switched to Clerk. Setup took 20 minutes. It handled sessions, OAuth, and UI components out of the box.
Lesson: Use the right tool. Don't reinvent wheels that don't need reinventing.
What I'd Do Differently
- Add rate limiting on the OpenAI calls from day one
- Use Redis for caching generated content (it's expensive to regenerate)
- Build the mobile view first, not last
Eduquic isn't perfect. But it's real, it works, and I built it.
Sometimes that's enough. 🎓