RT
Răzvan Todică · code-architecture-audit

Find the reason the next change feels expensive

When a codebase feels harder to change than it should, the answer is rarely one bad file. I trace the important paths, identify the constraints that slow delivery, and turn the findings into decisions a team can actually use.

What this can include
We shape the engagement around the product and the decision in front of the team.
  • A guided review of architecture, boundaries, data flows, testing, deployment, and failure handling
  • Risk-ranked findings with concrete examples from the product, not generic recommendations
  • A short improvement sequence with ownership and the next decision made explicit
Who it is for
A good fit starts with enough context to make the next step honest.
  • Teams inheriting a product whose architecture is no longer easy to explain
  • Leaders preparing a rewrite, migration, scale-up, or important platform decision
  • Founders who need an independent technical view before committing time or budget
Relevant experience

The kind of problems I have worked through

This is grounded in real product, platform, and team work across the last 13+ years.

Fluxguard · Salt & Pepper
Modernization with reliability in mind

Modernized React and Node.js areas, migrated JavaScript toward TypeScript, simplified server-state ownership, and improved crawler retry, timeout, backoff, and recovery behavior.

EDITIS · HN Services Romania
Architecture that supports delivery

Drove decisions around application boundaries, data flows, performance, AWS integration, long-term maintainability, and multiple rewrite or modernization initiatives.

Ezugi · SII Romania
Finding leverage in an existing codebase

Restructured shared game infrastructure and extended an existing roulette implementation to maximize reuse and reduce duplicated logic.

A practical starting point

How the engagement can move forward

  1. 1. Start with context

    Understand the product, the users, the team, the deployment path, and the changes that currently feel risky or expensive.

  2. 2. Review the system in motion

    Trace the important paths through architecture, state, data, testing, deployment, observability, security, and failure handling.

  3. 3. Decide what to improve first

    Rank the findings by product and delivery impact, then turn them into a sequence the team can own and execute.

You leave with a shared picture of the system and a sequence of improvements that respects the product rather than chasing a perfect diagram.

Tell me what is getting in the way

Common questions

What do I receive after an architecture audit?

The output is a prioritized view of architectural risks, coupling, reliability, delivery friction, and the smallest changes that can reduce them.

Is an audit just a code-quality score?

No. A useful audit looks at the system in its real context: product priorities, team habits, operational constraints, and what the code needs to do next.

Can you audit a legacy or unfamiliar stack?

Yes. My experience includes modern React and Node.js systems, legacy JavaScript and Perl applications, Java services, PHP products, cloud workloads, and mixed environments.