Privacy-respecting analytics

Joh uses Google Analytics to understand which stories and portfolio pages are useful. Advertising storage stays off. Read the privacy notice.

Joh Azores

Next.js and SaaS modernization

Modernize your Next.js product without an unnecessary rewrite.

I help teams simplify and improve existing Next.js, React, TypeScript, dashboard, SaaS, membership, and business platforms while protecting working functionality and production continuity.

Review selected work

Best fit

Built for products with real constraints.

A working application has become difficult to understand, change, or release safely.

The UI is inconsistent, desktop-first, or difficult to use across real devices.

Authentication, data access, API boundaries, or state management have grown fragmented.

The team needs senior implementation help rather than a high-level audit alone.

Problems addressed

Duplicate layouts, components, utilities, validation, or API logic.

Slow pages, oversized client bundles, unnecessary rendering, or weak caching decisions.

Unclear server and client boundaries in the App Router.

Fragile integrations, deployment workflows, environment configuration, or error handling.

Generic dashboard UX that hides important workflows instead of supporting them.

Expected outcomes

A smaller and clearer component, route, API, and data-access structure.

Responsive product flows built around actual user tasks.

Improved performance, accessibility, validation, and production reliability.

A prioritized implementation path that avoids unnecessary abstractions.

Documentation another engineer or coding assistant can follow confidently.

Working process

Clear decisions before unnecessary implementation.

1

Review the repository, production constraints, current workflows, and highest-risk areas.

2

Define what should be preserved, simplified, repaired, replaced, or deferred.

3

Implement focused improvements in small reviewable commits without mixing unrelated changes.

4

Validate lint, types, builds, schema changes, critical flows, and deployment requirements.

5

Document the final architecture, operational decisions, and practical next priorities.