
Migrating to Next.js
Author
Séalan Cronin
Date Published
We've completed a major technical migration: moving Basker's admin interface from Express to Next.js. This change enables us to run a fully serverless architecture on AWS Lambda, reducing operational complexity and improving reliability.
Express required us to maintain long-running server processes, which meant dealing with server scaling, health checks, and deployment coordination. Next.js, when deployed to Lambda, eliminates these concerns entirely. Each request is handled independently, scaling automatically based on demand without any infrastructure management.
The serverless approach delivers tangible benefits: automatic scaling during traffic spikes, significantly reduced hosting costs, and no need to provision or maintain server capacity. For a multi-tenant platform serving organisations across different time zones and usage patterns, this architecture is far more efficient than maintaining dedicated servers.
Next.js also provides a better development experience for our team. The framework's conventions around API routes and server-side logic integrate cleanly with our React admin interface, and the deployment process is simpler without needing to manage server state or coordinate rolling deployments.
This migration represents months of engineering work, but the serverless foundation gives us the reliability and scalability we need as we continue to grow. The platform is more robust, and we can focus our technical effort on features rather than infrastructure.