Platform rebuild and infrastructure for a learning and careers platform
A growing learning and careers platform had outgrown its codebase. It was built as plain HTML pages with no shared components, so every new feature was harder to add safely, and deployments caused downtime.
- My role
- Lead Fullstack Developer - engineering and deployment
- Team
- Cross-functional - designers, developers, product manager, marketers, stakeholders
- Timeline
- 2 months to production
- Constraint
- Moving a live codebase to a component-based architecture without disrupting ongoing operations

The problem
The product was expanding into a job board, courses, a social feed, a blog and admin and recruiter dashboards. Without a consistent structure or reusable components, every addition risked breaking something unrelated.
The hosting had the same limits: shared hosting with no support for Redis, background workers or separate environments, and manual deployments that caused downtime.
The tradeoff I made
I moved deployment from shared hosting to a VPS. Shared hosting was cheaper and needed less operational work, but it could not support Redis, proper process management or isolated environments. The VPS cost more and put full server responsibility on us, but it gave us a separate development environment, a clean production setup and the monitoring the platform needed to grow reliably.
Infrastructure control and reliability over convenience and lower cost.
Outcomes
Product areas shipped - public site, job board, courses, social feed, blog, admin dashboard and recruiter dashboard
Unplanned downtime incidents after moving to a VPS with separate development and production environments
Full rebuild to a modular, deployed, production-ready MERN platform
What I would do differently
I would set up a continuous integration and deployment pipeline from day one rather than deploying manually. Manual deployment worked at our team size but would have become a bottleneck quickly. I would also containerise the application with Docker earlier, so the development and production environments behave the same from the start.