Skip to content

Frontend audit · React and Vue

Find what is making your frontend harder to change.

I trace architecture, state, shared UI, and critical flows, then give your team a clear repair plan.

Typical engagement: 1 to 2 weeks. Fixed price, agreed before the work starts.

What the audit is for

One screen, one value. The filters a user picks are kept in three places at once, and three parts of the screen ask the server for the same list separately. Nothing here is broken, which is why it stays this way for years. No one can say where a value comes from any more.

Before

  • The filter value is stored in a shared store, in the web address, and inside one screen
  • Three parts of the screen ask the server for the same list
  • Changing a filter means finding every copy first, so small work turns into careful work

After

  • The web address owns the filters, and one place reads it
  • One request for the list, shared by everything that needs it
  • The same four parts of the screen, untouched. Ownership moves into one place without changing the screen

What I look at

The product works. The problem is that every change costs too much context, caution, or repeated work. These are the five places that usually explain why.

  1. 01Architecture and ownership

    A small UI change touches too many parts of the app

    Where feature boundaries, shared code, and responsibilities stopped being obvious.

  2. 02State and data flow

    Nobody can say where a value comes from without tracing it

    Where server state, local state, side effects, and cross-screen behavior create risk you are not choosing.

  3. 03Shared UI

    Shared components exist, but the team avoids using them

    Why repeated components drift, where reuse pays, and where product rules belong in the feature instead.

  4. 04Critical-flow performance

    The screens you cannot afford to lose feel slow

    Measured rendering, loading, and interaction cost in real use, not lab scores.

  5. 05Migration risk

    A rewrite is being discussed without a clear diagnosis

    What can be repaired in place, what needs a staged migration, and what to leave alone.

What you receive

We agree on the areas causing the most trouble, I trace the real code and the critical flows, then we go through what I found. Each finding explains what I saw, why it matters, and what I would do next.

  • A short report your team can use in planning
  • What I found, why it matters, and the evidence behind it
  • A fix now, plan next, or leave alone recommendation
  • A walkthrough with time for your team’s questions

Questions I get asked

How much does an audit cost?

A fixed price, agreed before any work starts. I scope it on the first call once I know which product areas are causing trouble and how much of the codebase the answer has to cover. There is no hourly meter running and no invoice that grows during the engagement.

How long does an audit take?

One to two weeks, depending on how much of the codebase the answer has to cover. Shorter than that and I am guessing from file structure. Longer and the findings start describing a version of the code your team has already moved past.

What do you need from us to run it?

Read access to the repository, someone to show me around the product, and the flows your team finds most painful. Time with whoever remembers why the difficult parts ended up that way is worth more than any document.

Will the audit disrupt the team?

No. The work is reading, tracing, and measuring, not changing your code, so your team keeps shipping throughout. The time it asks for is a kickoff conversation, occasional questions, and the walkthrough at the end.

Is this a code audit or a performance audit?

Both, when the product needs it. A frontend code audit looks at architecture, state, and component boundaries. A performance audit measures rendering, loading, and interaction in the flows that matter. Most teams need some of each, and the first call decides the balance.

Should we start with an audit or go straight to an implementation sprint?

Audit first when the team disagrees about what is actually wrong. Go straight to a sprint when you already agree on the diagnosis and want the fixes built.

Why an audit rather than an agency or a full-time hire?

An audit is a diagnosis, not delivery capacity. If you already know what to build and need hands to build it, an agency or a full-time hire is the better spend.

Do you work remotely?

Yes. I work remotely across North American hours, from Toronto. An audit does not need anyone in a room, and every engagement I have run in the last few years has been remote.

Relevant work

LockeBio

Shared React architecture with clear migration boundaries

I inherited unclear ownership, overloaded shared state, and duplicated UI across healthcare applications. I moved production forms, tables, and shared behavior behind clearer boundaries without hiding product rules inside a generic internal framework.

Read the architecture insight

CandidateX

Design system and frontend structure for faster delivery

I joined with an incomplete frontend and unreliable product flows. I stabilized the React foundation, built a reusable component system, and organized the product into clearer apps and shared packages. The team reported faster delivery after adopting the shared UI work.

View CandidateX case study

A diagnosis based on the product and the code.

The scope covers frontend architecture, state, shared UI, and critical-flow performance. We agree on it before repository access.