Skip to content
aviral gupta

// FULL-STACK DEVELOPER · NODE.JS · TYPESCRIPT · REACT · NEXT.JS

Senior Full-Stack Engineer, available for permanent enterprise roles.

I'm Aviral Gupta, a full-stack developer with nine years of experience building and shipping production software, with a strong focus on backend engineering. Most recently I was a Senior Developer at Thrifty Car Rental UAE, where I designed six Node.js microservices, wrote the bulk of the backend, migrated a PHP/Laravel monolith to Next.js without losing a ranking, and built Cariva from an empty repository. I work across Node.js, TypeScript, React and Next.js, from backend architecture and APIs through to production-ready front ends.

✓ 9+ years building production software · ✓ 6 domain services behind one gateway, serving three brands · ✓ 4 payment gateways integrated in production

build — production
npm run verify
→ 25 routes · en/de parity PASS
→ typecheck · lint PASS
→ employment claims PASS
→ content claims PASS
→ 279 unit tests PASS
✓ nothing ships that the CV cannot support

Availability at a glance

Availability
Immediately, for a permanent role, remote or on site.
Based
Dubai, United Arab Emirates
Languages
English (fluent), Hindi (native)

// TRACK RECORD

Nine years. Real systems. Software shipped.

9+

years building and shipping production software

From Mercedes-Benz R&D vehicle-data platforms to large-scale UAE web platforms, across backend systems, APIs and full-stack applications.

4

payment gateways integrated across three brands

N-Genius, Adyen, Bank of Muscat and PointsPay, selected by one resolver rather than a branch per brand. The gateways a brand may reach are configured per environment, so a brand cannot reach a gateway it is not configured for.

0

downtime in a full Laravel to Next.js replatform

A complete URL inventory, a redirect map tested one to one, metadata parity and post-launch monitoring. No ranking positions were lost either.

6

Node.js microservices powering three rental brands

GCP · Docker · CI/CD · APIs · backend architecture

// THIS SITE IS THE DEMO

How is this site actually built?

This site is a working example of the way I build: Next.js, server rendering, structured content, performance budgets, cookieless analytics and machine-readable pages. Every claim on it is checked by a script before it can ship, including the ones about my own employment.

  • Every route server-rendered or statically generated
  • CLS 0.00, nothing jumps while you read
  • Cookieless analytics, no consent banner
  • Readable by Googlebot, GPTBot, ClaudeBot, PerplexityBot

View this site's source structure

PASS · TYPECHECK AND LINTPASS · CONTENT CLAIM CHECKSPASS · EN/DE IN PARITY
verify — summary
npx lighthouse guptaaviral.com
→ performance ……… 94
→ seo ………………… 100
→ accessibility …… 100
✓ home page, mobile, production, 22.08.2026

// PROCESS

What does working together look like?

Clear scope, visible progress and practical handover. The same sequence applies whether we are talking about a permanent role or a defined piece of engineering work.

  1. 1

    Discovery

    An initial conversation about the role, product or technical problem, including what already exists and what success needs to look like.

  2. 2

    Blueprint

    A written scope or role definition covering responsibilities, architecture, integrations, sprint cadence and the expected outcome.

  3. 3

    Build

    Implementation on a working branch or staging environment, with regular progress you can review rather than a final reveal at the end.

  4. 4

    Verify

    Testing and release checks covering functionality, performance, tracking and the technical details that matter for the project.

  5. 5

    Monitor

    Handover, documentation and — where agreed — post-launch support or follow-up work.

// TOOLCHAIN

What do I build with?

Node.jsTypeScriptNext.jsReactExpressMongoDBRedisRabbitMQGCP (Cloud Run)DockerCI/CDPlaywrightVitestGA4GTMConsent Mode v2Lighthouse CI

The stack reflects the work I have shipped: application code, backend infrastructure, data, queues, testing, and the measurement that reads them.

// HONESTY FIRST

Are we a good fit?

We're a good fit if…

  • You need someone who can work across backend and frontend rather than owning only one layer.
  • You need production experience with Node.js, TypeScript, React or Next.js.
  • You are rebuilding, migrating or extending a live product and need careful engineering around existing systems.
  • You value direct communication, clear scope and a senior developer who takes ownership.
  • You want performance, technical SEO and analytics considered during development rather than after launch.

I'm probably not the right developer if…

  • You only need a low-cost template or a large agency team with multiple specialists.
  • You want guaranteed Google rankings or promises I cannot honestly control.
  • You need a large account team and layers of project managers.
  • You want someone to just 'install a plugin' — I work at the code level.

// FAQ

What do people usually ask before hiring me?

Both. I build new production Next.js applications from an empty repository, and I work on existing ones: performance, Core Web Vitals, technical SEO and tracking. Tell me what you have and what it needs to do, and I'll tell you which of the two it is.

Idempotently, because at least once delivery is the contract a payment provider actually offers whatever its documentation implies. A duplicate webhook returns 200 with no side effect, and two concurrent deliveries are settled by a conditional write whose filter carries the status, so the database decides the winner rather than the application.

By who owns the data, how often it changes, and what breaks when it fails. That is how the six services behind three brands were drawn: Branch, Product, Content, User, Pricing and Booking. Pricing is its own service because a bulk ingest running for three to ten minutes must never be able to slow a booking, which is a failure mode rather than a diagram.

Both, backend first. I integrated N-Genius, Adyen, Bank of Muscat and PointsPay behind a single resolver, kept pricing in its own service so a bulk ingest could not slow a booking, and built abandoned booking recovery on the data layer. Physical stock, fulfilment, returns and EU VAT are not things I have shipped: I scope those as new work rather than list them as delivered.

Measure, then fix in the order the measurement gives you. A vehicle listing endpoint was running at three to seven seconds, traced in New Relic and measured there again after every change: a compound index first, then the query shape, then caching. Caching first would have hidden it and made the next change worse.

Dubai today, and I am open to permanent roles, remote or on site. English is the working language, and Hindi if that is easier. Calls run on your timezone within reason.

// OPEN TO WORK

Hiring, or building something that needs an engineer?