Zum Inhalt springen
aviral gupta

// PROJEKTE

Produktivsoftware, mit dem ganzen Engineering.

Ausgewählte Arbeiten aus meiner Zeit als Senior Developer bei Thrifty Car Rental UAE, zusammen mit früherem Enterprise-Engineering bei Mercedes-Benz R&D India, Grid Dynamics und SIKA Interplant. Die Beispiele zeigen die Art von Softwarearbeit, die ich übernehme: Backend-Architektur, Full-Stack-Anwendungen, Migrationen, Zahlungen, Integrationen und Produktions-Performance.

CARIVA2024 bis 2026 · AUFBAU VON NULL

Was gehört dazu, eine Autoverkaufsplattform aus einem leeren Repository zu bauen?

Cariva begann als leeres Repository. Der Auftrag: eine Autoverkaufs- und Gebrauchtwagenplattform für Endkunden in den VAE, die echte Zahlungen annimmt, ihren Katalog selbst hält und ihre Seiten aus dem Datenmodell erzeugt statt aus einem Page-Builder.

Ich habe sie von Anfang bis Ende konzipiert und gebaut: ein Next.js-Frontend mit SSR/ISR je nach Seitentyp, dahinter sechs Node.js-Microservices, 326 templatisierte Seiten aus dem Datenmodell generiert — davon 149 Modell-, 100 Gebrauchtwagen- und 65 Markenseiten. Zahlungen liefen über N-Genius und Adyen hinter einem einzigen Resolver, sodass eine zweite Marke eine Konfigurationszeile kostet und keine Verzweigung im Checkout. Die Seiten sind indexierbar, canonical-sauber und mit Schema ausgezeichnet, weil die Templates das von sich aus erzeugen, und nicht, weil jemand sie hinterher noch einmal durchgegangen wäre.

Niemand hat 326 Seiten von Hand gebaut. Der Katalog ist das Datenmodell, die Templates rendern es, und ein neues Modell ergibt eine neue Seite — weshalb auch keine davon einzeln aus dem Schema laufen kann.

Liniengrafik-Illustration: ein Sitemap-Baum, der in ein Raster aus Seitenkarten und eine Karte mit Standort-Pins übergeht.
326

Seiten live

149

Modellseiten

6

Node.js-Microservices

2

Payment-Gateways hinter einem Resolver

THRIFTYDOLLAR2024 · PLATTFORMMIGRATION

Wie ersetzt man eine live laufende Buchungsplattform, während sie weiter Buchungen annimmt?

Thrifty lief auf einem PHP-Laravel-Monolithen, Dollar auf einem React-Frontend mit einem .NET-Backend, beide langsam zu ändern und beide mit über Jahre aufgebautem Traffic. Ich habe Thriftys Frontend auf Next.js migriert und Dollars .NET-Backend durch sechs Node.js-Microservices ersetzt, die beide Marken gemeinsam nutzen, während die Plattform weiter Buchungen annahm.

Die unscheinbare Arbeit hat sie sicher gemacht: ein vollständiges URL-Inventar, eine 1:1 getestete 301-Redirect-Map, Seite für Seite verifizierte Metadaten- und Schema-Parität sowie Crawl-Vergleiche alt gegen neu am Launch-Tag. Das Ergebnis war das bestmögliche für eine Migration — es ist nichts passiert. Die Rankings blieben stabil, die Buchungen liefen weiter, und die neue Plattform war am ersten Tag schneller, als die alte es je war.

Darunter das Platform-Engineering. Sechs Services auf Cloud Run, von Cloud Build aus eigenen Dockerfiles gebaut, keiner davon öffentlich exponiert, mit einem Load Balancer, der nach Pfad-Präfix routet, und Rate Limiting an der Cloudflare-Edge. Zwei Authentifizierungswege mit Absicht: ein API-Key für das Frontend, JWT für das interne ERP, damit ein aus dem Browser abgegriffener Key keinen administrativen Endpunkt erreichen kann. Redis vor den Lesepfaden, mit TTL, wo Veralterung zeitlich begrenzt ist, und Invalidierung beim Schreiben, wo sie es nicht ist. RabbitMQ hinter der Buchungsbestätigung, damit die Bestätigung sofort beim Kunden ankommt, während das interne Fan-out dahinter läuft. Und New Relic hat den Vehicle-Listing-Endpunkt bei drei bis sieben Sekunden gefunden: die Lösung war erst ein zusammengesetzter Index, dann die Query-Form, dann Caching, in dieser Reihenfolge.

Das beste Ergebnis, das eine Migration haben kann, ist, dass nichts passiert: Buchungen laufen weiter, Rankings bleiben stabil, die neue Plattform ist am ersten Tag schneller. Dafür zahlt man mit einem URL-Inventar, einer getesteten Redirect-Map und einer Seite für Seite geprüften Paritäts-Tabelle.

Liniengrafik-Illustration: ein PHP-Laravel-Server-Stack, über Weiterleitungspfeile mit einem Next.js-Stack verbunden, unter einer flachen grünen Ranking-Linie.
0

verlorene Ranking-Positionen

0

Minuten Downtime

100 %

der URLs in der Redirect-Map

30

Tage Monitoring nach dem Launch

THRIFTY2024 bis 2026 · DATA LAYER

Was passiert, wenn die Person, die den Data Layer schreibt, auch verantwortet, was ihn ausliest?

Über drei Mietwagenmarken hinweg habe ich den kompletten Mess-Stack spezifiziert, implementiert und validiert: GA4 mit einer maßgeschneiderten E-Commerce-Event-Taxonomie, GTM mit dokumentierten Konventionen, Meta Pixel plus Conversions API mit Deduplizierung, Microsoft Clarity und Consent Mode v2 für DSGVO-/VAE-PDPL-Compliance.

Dann der Teil, der die Arbeit erst lohnend macht: Weil der Data Layer vertrauenswürdig war, haben wir direkt auf denselben Events ein Modul zur Rückgewinnung von Leads und abgebrochenen Buchungen gebaut, das Abbrüche und fehlgeschlagene Zahlungen in Karten überführt, mit denen die Fachbereiche arbeiten. Das ist ein Anwendungsfeature, das einen Anwendungs-Event-Stream liest, und das geht nur, wenn beides gemeinsam spezifiziert wurde.

Eine Event-Taxonomie ist ein Schema. Wird sie fern von dem Code spezifiziert, der sie aussendet, beschreiben die Zahlen am Ende die Tags und nicht die Buchungen — und das fällt erst auf, wenn eine Zahl verteidigt werden muss.

Liniengrafik-Illustration: ein zentraler dataLayer-Knoten, verbunden mit GA4-, GTM-, Pixel- und Clarity-Knoten, dazu ein einmündendes Consent-Schild.
4

Plattformen vereint — GA4 · GTM · Pixel · Clarity

1

Event-Spezifikation für 3 Marken

1

Recovery-Modul für Leads und abgebrochene Buchungen

v2

Consent-Mode-konform (DSGVO · VAE PDPL)

// DIE ROLLEN

Die Rollen hinter dieser Arbeit

THRIFTY CAR RENTAL UAE01.2024 bis 07.2026

Senior Developer für die Webplattformen von Dollar, Thrifty und Cariva, berichtend an den Head of E-commerce. Die primäre Backend-Architektur geschrieben, die transaktionalen Module hinter Buchung, Preisfindung und Zahlung gebaut und die Infrastruktur- und Performance-Arbeit für drei Mietwagen- und Autoverkaufsmarken verantwortet.

MERCEDES-BENZ R&D INDIA2022–2023

Die interne Plattform hinter der Typgenehmigungs-Dokumentation von Fahrzeugen — abteilungsübergreifende Datenerfassung, mehrstufige Freigaben mit lückenlosem Audit-Trail, Analytics über laufende Programme. Node.js, TypeScript, MongoDB, Kafka, RabbitMQ.

GRID DYNAMICS2023

Ein Kundeneinsatz bei Google auf einer Plattform für vernetzte Geräte: Verarbeitung von Datenpaketen, Bild-Upload und -Verarbeitung sowie Datenintegrität.

SIKA INTERPLANT2017–2021

Luft- und Raumfahrt sowie Verteidigung. Internes Online-Kalkulationswerkzeug gebaut und internationale Kunden bei Auftragsannahme, technischen Rückfragen und Versand betreut.

Ab sofort verfügbar für eine Festanstellung als Senior Engineer, remote oder vor Ort.

// KOMPETENZKARTE

Wo wurde welche Kompetenz nachgewiesen?

KompetenzNachgewiesen bei
ZahlungsintegrationN-Genius, Adyen, Bank of Muscat und PointsPay, hinter einem Resolver
Idempotente ZahlungsbestätigungDoppelte und gleichzeitige Webhooks, gelöst durch einen bedingten Schreibvorgang
Preise und VerfügbarkeitEin Pricing-Service, isoliert von einem Bulk-Ingest von drei bis zehn Minuten
Service-GrenzenBranch, Product, Content, User, Pricing und Booking, hinter einem Gateway
Caching-StrategieRedis: TTL, wo Veralterung zeitlich begrenzt ist, Invalidierung beim Schreiben, wo nicht
SSR/SSG/ISR-ArchitekturCariva, Thrifty, diese Website
PlattformmigrationThrifty Laravel zu Next.js, ohne Downtime und ohne Rankingverlust
Plattform-Engineering6 Microservices auf Cloud Run, mit Cloud Build, Docker und CI/CD
AI im ProduktivbetriebOCR-Onboarding auf Google Gemini
ComplianceDSGVO, VAE PDPL, Consent Mode v2

// OFFEN FÜR NEUE ROLLEN

Haben Sie eine Rolle, ein Projekt oder ein Problem, über das wir sprechen sollten?

Ich bin verfügbar für Senior-Engineering-Festanstellungen. Sagen Sie mir, was Sie bauen oder für welche Rolle Sie einstellen, und ich sage Ihnen, ob meine Erfahrung passt.