Red First

Frontend modernization studio

We upgrade old React apps without breaking them.

Stuck on Create React App, an old Webpack setup or an aging React codebase? Red First moves it to Vite and modern tooling in a fixed 10-day sprint, and checks that every change works before it ships. It starts with a $2,500 audit.

Book a call (20 minutes)

Real result: apache/answer, Create React App to Vite

Cold production build
19.87sto4.77s-76.0%
Dev server time-to-ready
7104msto359ms-94.9%
Dependency count, total
1578to689-56.3%

How it works

  1. Audit

    We find what could break.

  2. Sprint

    We fix it in 10 days, at a fixed price.

  3. Handover

    You get the code, the checks and the numbers.

A green build is not a working app

Upgrading an old Webpack or Create React App setup is where things quietly break.

  • Builds that pass, then ship a blank page.

  • Security warnings nobody wants to touch.

  • Thousands of dependencies nobody can explain.

  • Slow builds and a slow dev server.

Proof: a real migration on a public open-source project

We moved the frontend of apache/answer, an Apache Software Foundation project, from Create React App to Vite. The build passed, yet a review built to find faults caught three hidden bugs. The switch to Vite is merged into the project and ships in the v2.0.3-RC1 pre-release: https://github.com/apache/answer/releases/tag/v2.0.3-RC1. Coding agents did the repetitive work and every change was reviewed by hand. Full write-up: https://redfirst.dev/writing/three-silent-failures.

MetricBeforeAfterChange
Cold production build19.87s4.77s-76.0%
Dev server time-to-ready7104ms359ms-94.9%
HMR latency (edit to re-render)421ms139ms-67.0%
Bundle size, total gzip (sourcemaps excluded)1652.24KB1474.34KB-10.8%
Dependency count, total1578689-56.3%
Audit findings (critical/high/moderate/low)4/78/63/131/50/38/6down across all four

Measured on the original single pull request, before it was split into smaller ones upstream; HMR latency comes from an earlier commit.

Two of these numbers are worse on purpose. The first pass quietly dropped the production type check and left out the icon fonts. We put both back and published the slower, heavier numbers. Honest numbers beat flattering, broken ones.

Start with the audit

The Modernization Audit is $2,500, capped at 8 hours, delivered inside 3 calendar days. It shows where your frontend could pass the build and still break.

Book a sprint within 30 days and the full audit fee comes off its price.

Book the audit

Booking starts with a 20-minute call to check your stack is a fit.

What you get

  • diagnosis
  • baseline metrics
  • risk map
  • prioritized roadmap
  • sprint estimate

After the audit, pick one fixed-scope sprint

  • Webpack/CRA to Vite migration

    Move off Create React App or an old Webpack setup to Vite.

  • React architecture rescue

    Untangle a React codebase that has become hard to change.

  • Agent-ready repository setup

    Set up your repository so coding agents can work in it safely.

Founding engagement: $7,500. Standard engagement value: $12,500.

  • 50% upfront.
  • Scope cap of 24 to 30 hours.
  • 10 working days.
Book a call

As a founding client you provide repository access, one named contact from day 0, rights to an anonymized case study, and a testimonial if satisfied. Founding pricing covers only the first two engagements booked; after that, every engagement is the standard $12,500.

The 10-day sprint

  1. Day 0

    Kickoff: access, plus current build and CI numbers

  2. Day 1-2

    Map the risks. Plan review call, scope locked.

  3. Day 3-6

    The work: coding agents make the changes, we review each one

  4. Day 7

    Tests and CI pass

  5. Day 8

    Before and after numbers, and docs

  6. Day 9

    Call to walk you through the pull requests

  7. Day 10

    Report, 90-day roadmap, wrap-up call

From day 3, pull requests land in your repository every day. No big merge at the end.

Measured before and after, every sprint

What we measure

cold build, warm build, dev server start time, HMR latency, bundle size, CI run time, dependencies and audit findings, test time and pass rate.

The proof table shows five of the eight: warm builds matched cold ones, and the project had no tests or CI.

What we report

hours of human review, what the agents did, and every mistake caught before it reached you, including the agents' own.

You see the mistakes, not just the wins.

After the sprint

Want help after the sprint? Ask about the monthly modernization retainer once you have your sprint report.

About

Xan Torres. I'm a senior frontend and product engineer with 15+ years of frontend work, mostly React and TypeScript. I move frontends from Create React App and Webpack to Vite. Coding agents do the repetitive work, run through RepoKernel, a tool I built for it, and I review every change myself. I'm based in Cyprus and work remotely.

FAQ

What if the work is bigger than the scope cap?

The 24 to 30 hour cap is locked at the plan review call on day 1 or 2. Anything bigger becomes a separately scoped follow-on, never a surprise overrun.

How do you use coding agents, and who checks their work?

Agents do the repetitive work and a person reviews every change. Every fix comes with an automated check that failed before the fix and passes after it.

What access do you need?

Repository read and write access, CI visibility, and one named contact.

What if you become unavailable mid-sprint?

Nothing lives only on my machine: pull requests land in your repository from day 3, and you keep every merged change if the sprint stops.

Is my stack a fit?

Best fit is React and TypeScript on Webpack or Create React App, at a company with 5 to 50 engineers. Not sure? Start with the audit.

Find out what could break before you upgrade

Book a call

Or email hello@redfirst.dev