Skip to content
Naman Bhatt
Résumé

0:00 / 0:00

Fade in:

Naman Bhatt in

The wholeproduct.

A software engineer's story in six reels: backend, web, mobile and real-time systems, told from the beginning.

Download résumé

Scroll at your own pace, or press K to play and pause.

This is how I went from studying machines to owning every layer of a product: the database, the API, the web app, the phone in your pocket, and the tests that keep all of it honest.

Reel 1

Int. Delhi Technological University — 2020

The wrong degree

I enrolled to study machines. But all around me, my seniors were building websites, and they started showing me how you make things on the web. It was a lot more interesting than nuts and bolts.

The first real thing I built was a registration portal, with those same seniors. I learned what I needed from YouTube and took on the front end. Then came freelance projects, and with them my first money from code.

Drawn by
Naman Bhatt
Degree
B.Tech, Mechanical Engineering
School
Delhi Technological University
Years
2020 – 2024
CGPA
8.00
Sheet
1 of 6

On paper it was the wrong degree.

It wasn't.

Code let me help people and help myself, and be creative instead of fixing machines or worrying about placements. It gave me freedom. It still does.

Reel 2

Int. Three internships, still in college — 2023

Side quests

Before I graduated I'd already shipped software real people relied on, for three very different businesses. Each one taught me a layer.

  1. Phone

    • Can you confirm the transfer went through?
    • Confirmed. Reference 4471-B.
    • Thanks, I'll close the request from here.Carbon from laptop

    Laptop

    • Can you confirm the transfer went through?Carbon from phone
    • Confirmed. Reference 4471-B.
    • Thanks, I'll close the request from here.

    Chat for European banks

    Frame 1 of 3

    A GDPR-compliant XMPP chat app for EU banks and financial institutions, running on AWS. Message carbons keep every one of a person's devices in sync.

    Alkras Online Services, Software Engineering Intern, 2023

    1. 1. What this grid ran on
    2. 2. Doesn't block
    3. 3. Fast, in memory
    4. 4. What auth hands you
    • Player 1
    • Player 2
    • Player 3
    • You

    Real time, four players at once

    Frame 2 of 3

    A four-player crossword that syncs over WebSockets, and a browser photo editor in Konva and React used by more than 1,000 people in six countries.

    Crazy Learners, Software Engineering Intern, 2023 – 24

  2. Firm 1
    Firm 2
    Firm 3
    Firm 4
    Firm 5
    Firm 6
    Firm 7
    Firm 8
    Firm 9
    Firm 10
    Firm 11
    Firm 12
    Firm 13
    Firm 14
    Page load before
    With server rendering

    Dashboards for fourteen firms

    Frame 3 of 3

    Frontend for a finance-management SaaS prototype: real-time dashboards across 14 firms, with server rendering that cut page loads by 40%.

    JRD Consultancy, Software Engineer, Frontend, 2024

Reel 3

Int. Boston Consulting Group — 2024

The big machine

Junior Software EngineerJul 2024 – Jul 2025

My first full-time role put me inside a global firm, building the sites, portals and AI tooling its consultants use every day. When your software serves seventy offices, you learn to be careful.

Sitecore XM Cloud

One platform, about seventy offices.

Twenty-plus micro-sites, each maintained on its own.

One managed content platform, serving about seventy offices.

micro-sites migrated to Sitecore XM Cloud
20+
BCG offices served by those sites
~70
lift in portal adoption
15%
less manual post-migration work
50%

The moment I'm proudest of

Presenting my team's quarter at BCG's annual internal meet. We'd hit a big migration target inside a tight window, and the room applauded. Part of the reason was my PowerShell automation, running across five or six repositories: it took the manual cleanup off people's plates, so they could be put on more valuable work.

Rebuilt two portals

InsideBCG and the Survey portal, rebuilt in React and Next.js and connected to Outlook, Slack and a central People API running on Go microservices and AWS Lambda.

React, Next.js, Go, AWS Lambda

AI Portal components

AI-assisted components for BCG's internal AI Portal, wiring LLM APIs into real-time content generation and personalisation.

LLM APIs, React, TypeScript

Kept the migration honest

Selenium and Cucumber regression coverage over every migrated site, PowerShell automation for the cleanup, and more than thirty production issues resolved along the way.

Selenium, Cucumber, PowerShell

Two product rotations

A month each embedded with two internal AI product teams, NAVI and Findability, learning how they scoped, tested and shipped AI features.

Reel 4

Int. Edock, a small product team — 2025

The whole thing

Senior Software Engineer, DecodesSoftware Architect, EdockSep 2025 – 2026

Then I joined Decodes as a senior software engineer and was assigned to Edock as its software architect: a product small enough that one engineer could own all of it. So I did.

Edock was an ed-tech product.

It became an event-first community platform.

The product changed direction while I was there, and every layer of the codebase had to change with it.

Six repositories, one owner

  • Schema
  • Backend
  • Web
  • Mobile
  • Admin
  • Tests and deploy

~48%

of every pull request the organisation opened in eleven months was mine: 200 of 412.

I also wrote the platform's architecture and onboarding guide, so the next engineer doesn't need me in the room.

Ticketing and payments

Bringing ticketing on-platform gave Edock its first revenue path. Money is where optimism goes to die, so the design assumes everything goes wrong: two buyers race for the last seat, a webhook arrives twice, a buyer walks away mid-checkout.

Node.js, PostgreSQL, Prisma, Razorpay, Redis

Pick a scenario to walk through it.

  1. A buyer opens checkout for an event.
  2. A payment attempt is created with a TTL, so it can't stay open forever.
  3. Razorpay confirms the payment through a webhook.
  4. Inside one database transaction, remaining capacity is checked again.
  5. There's still room, so the ticket is confirmed.

Simplified model of the production flow.

Now try to break it

One seat left. Send three buyers for it at the same moment, replay a payment webhook, then switch the safeguards off and try again.

  • Buyer AWaiting
  • Buyer BWaiting
  • Buyer CWaiting
Never sell more seats than exist
Holding0 of 1 seat sold
One outcome per payment
HoldingEvery payment settled once

  1. Server log. Send the buyers to start.

Testing as a merge gate

127tests failing

I inherited a suite with 127 failing tests across 72 files. People had learned to ignore it.

I repaired it without changing product behaviour and split CI into critical and normal tiers. Now 3,800+ tests run green on every merge.

Each square is a test file; each dot, a failing test.

Along the way I closed XSS, SSRF and auth-gating gaps, and blocked a migration that would have dropped three live production columns.

Flutter app, iOS and Android

From first commit through TestFlight to the stores: chat parity with web, push that deep-links to the right screen, a share extension, Apple and Google sign-in, and guest mode, shipped behind seven CI workflows with fastlane match signing.

Flutter, Dart, FCM / APNs, fastlane, GitHub Actions

Events and community

Bookings, threaded event chat, WebRTC voice, read state synced across devices, and Vault, one home for event photos that used to scatter across WhatsApp and Drive. Private communities laid the groundwork for a B2B offering.

Socket.IO, WebRTC, React, Next.js, AWS S3

Beyond the code

Not all of it was code. I worked with clients directly: onboarding them, and helping them find collaborators for their events. I brought in stakeholders and investors, and worked as the product's growth person too, gathering a lot of its early adopters and users.

Reel 6

Int. Editing room — later

What stuck

Cut everything else and this is what's left.

  • Own the whole path.

    I'd rather carry a feature across schema, API, web and mobile than hand it off at a boundary. Fewer handoffs means fewer places for a product decision to get lost.

  • Be paranoid where money moves.

    Payments get transactions, state machines and idempotency keys, never optimism. Concurrent buyers, replayed webhooks and failed refunds are designed for up front.

  • Green is the only way to merge.

    A red suite people have learned to ignore is worse than none. I fix it, tier it, and make passing tests the gate.

  • Write the system down.

    An architecture guide means the next engineer doesn't need me in the room. I was the sole author of Edock's, along with its onboarding guide.

Written, directed and engineered by

Naman Bhatt

Supporting cast
DecodesBoston Consulting GroupJRD ConsultancyCrazy LearnersAlkras Online Services
Featuring
Adonai ReserveBeeliaAlora Vacations
Languages
TypeScriptJavaScriptDartSQL
Frontend and mobile
ReactNext.jsReduxTailwind CSSFlutter for iOS and Android
Backend and cloud
Node.jsExpressPrismaPostgreSQLRedisAWS: EC2, S3, RDS, Lambda, Cognito, CloudFront, ECR, SES
Real time and systems
Socket.IO and WebSocketsWebRTCDockerGitHub Actionsfastlane
Quality
JestPlaywright
Payments and messaging
RazorpayFirebase (FCM and APNs)OpenAI API
Motion and 3D
GSAPthree.jsWebGL shaders
Education
Delhi Technological UniversityB.Tech, Mechanical Engineering
Off screen
Music producer, seven years and countingAn album in progress
Favourite film
War Dogs
Filmed on location in
New Delhi, India
This site
Next.js, GSAP, Lenis and three.jsScore synthesised live with the Web Audio API

To be continued.

The next chapter is a senior engineering role on a team that wants the whole product built well. If that's your team, or you need a product built end to end, I'd like to hear about it.

Your ticket

Every screening comes with a stub. This one's yours to keep. Turn it over for the fine print.

Admit one

The Whole Product.

Starring Naman Bhatt

Audience
–
Date
–
Showtime
–
Seat
–
Watched
–
Ticket
–

Redeemable for one conversation: namanbhatt.dev@gmail.com

–

© 2026 Naman Bhatt. Designed and built by me.

New Delhi,