Building Mentrex wasn't just a technical project — it was a product journey. I was simultaneously the developer, the product owner, and the first user.
Lesson 1: Start with the Admin
I built the student-facing app first. Mistake. The admin dashboard should come first because that's where you understand your data model.
Lesson 2: Don't Abstract Too Early
My first version had a pluggable course engine, configurable grading systems, and a theme editor. Nobody needed any of that. What they needed was a reliable attendance tracker.
typescript
// What I built first (wrong):
class ConfigurableGradingEngine<T extends GradeSchema> { ... }
// What users actually needed (right):
function markAttendance(studentId: string, date: Date): Promise<void>The best architecture is the one that serves your users, not the one that impresses other engineers.
Lesson 3: Feedback Loops Matter
I sit in the same room as my users (students). When something breaks, I know within minutes. This tight feedback loop is worth more than any monitoring tool.