The same dashboard, rebuilt three times
Turning a German self-study language platform into a learning management system, and answering one question three times: who logs in, and what do they see?
- React
- TypeScript

Outcome
- The same German client across two engagements: 2019 to 2021, and 2025
- Existing exercises reused in a new web and mobile product
- Teacher, student and administrator flows delivered through three successive access models
The problem
Davilo began as a self-study site with interactive exercises. I built web and mobile interfaces for it from 2019. In 2025 the client brought me back for a restart: the same material inside a platform with classes, courses, examinations, and separate portals for teachers, students and administrators.
The exercises already worked and carried years of teaching judgement. What needed work was everything around them, and one question nobody could settle: who logs in, and what do they see?
What I did
I kept the existing exercises and built the new platform around them, on the web and in a mobile app. New engineering went where the new requirements were.
The dashboard question was then answered three times. First, one dashboard for teachers and students that changed with the role. Then one login leading to two separate dashboards. Then two logins, each with its own dashboard. Each version meant real rebuilding.
The engagement was a contract alongside other work, in a different time zone, so I had to be deliberate about availability: reachable when something broke, and never the reason someone else was blocked.
What I would do differently
I would push harder on things I was sure about. More than once I could see that a direction would have to be undone, said so once, and let it go. At least one of the three rebuilds was avoidable. Nobody was careless; the person who could see the cost most clearly stopped arguing for it.