-
Notifications
You must be signed in to change notification settings - Fork 24
Open
1 / 21 of 2 issues completedLabels
TechnicalFor engineering-internal tasks that Product will not pay attention to. E.g.: tests, refactoring, ...For engineering-internal tasks that Product will not pay attention to. E.g.: tests, refactoring, ...
Description
Overview
We've identified a comprehensive set of optimizations to improve our repository performance, build speeds, and developer experience. This epic tracks all implementation work.
Goals
- ✅ Reduce local and CI build times by 60-80%
- ✅ Improve developer experience and editor performance
- ✅ Standardize and modernize tooling stack
- ✅ Optimize CI/CD pipeline
- ✅ Prepare codebase for future framework upgrades
Suggested Improvements
- Upgrade Node.js to v24 (latest LTS stable) #3960
- Move to Turbopack builds #3961 – Already tested and seems to be working well. We can set this up in a new branch for broader team testing. Shaves drastically a lot of build time compared to webpack. Note: requires a small change to our "update available" banner logic. (current build takes around 430 seconds)
- Drop SCSS compilation – Convert SCSS files to PostCSS or Tailwind directly. Removes a whole compilation step and simplifies our styling pipeline. (didn't test the impact yet, it may be minimal, but still makes sense to standardize to one toolset given that scss is used in only couple of files)
- Switch to Bun package manager – Much faster installs and runs than npm. Could save us time on CI (current npm install takes around 90 seconds)
- Replace ESLint/Prettier with Biome – Not related to direct build time but can really increase editor performance in local machines and also speed up our continuous integration checks (these are also should count as build time tho, we probably need to enforce the checks to be successful before continue to building in CI)
- Optimize Dockerfile – Restructure for better layer caching and parallelization. We currently have some, but may require a deeper look to further optimizations available. We can also switch to docker hardened images to improve security.
- Optimized GitHub workflows – Build Docker images for opened PRs so they're ready for deployment. Make deployment tasks use that already available images. This can eliminate additional build time when it's time to deploy, especially for already waiting pr's test environments, and quick test environment switching between branches (could make human reviews faster too).
- Upgrade to Next.js 16 – Optional, but actually not a lot of breaking changes, we can defer but will likely need eventually for latest features and performance gains in prod.
- Upgrade to Tailwind CSS v4 – A bigger lift we can tackle later. Takes time but sets us up for the newest utilities and improvements.
Target Metrics
- Build time under 3 minutes
- Commit to Deploy time under 5 minutes
Sub-issues
Metadata
Metadata
Assignees
Labels
TechnicalFor engineering-internal tasks that Product will not pay attention to. E.g.: tests, refactoring, ...For engineering-internal tasks that Product will not pay attention to. E.g.: tests, refactoring, ...