ADITYA NANDAN

Full-Stack Software Engineer · SDE / FDE · Noida, India

AdityaNandanSketch to System

From first sketch to production systems.

01 / INDEXSCROLL ↓
02 / ABOUT

Only the intentstays human.

Illustrated portrait of Aditya Nandan
fig. 02 — the author.

I design and build systems — from the first sketch on paper to software running in production.

I work across the whole line: product thinking, interface design, front-end, back-end, databases and deployment. One person, one continuous act, no hand-offs where intent gets lost.

I've built operations platforms, B2B catalogues, mobile apps, e-commerce stores and brand identities — tools that real teams use every day, not just pages that look good.

AI is now part of how I build. People decide what matters; machines help carry it out faster. That balance is the work.

Based in
Noida, India
Role
Full-Stack SDE
Stack
TypeScript · React · Node · PostgreSQL
Status
Open to SDE · FDE · Founder's Office roles

Tech stack: React, TypeScript, Next.js, TanStack Start, Node.js, Bun, PostgreSQL, Supabase, Cloudflare Workers, Tailwind CSS, Three.js, GSAP, Capacitor, REST APIs, Git

03 / WORKS

Hand-drawn order-to-challan flow beside the ERP command centre and the cutter's tablet screen.

01 — Enterprise system

Operations Platform

Jun 2026 – Present

An end-to-end ERP running a two-plant textile business — stock inward, order punch, approvals, cutting, inter-plant shipping, delivery challans and a per-garment retail production line — used daily by 150+ people across Delhi and Noida.

Sole engineer — requirements gathered on the shop floor, data model, Postgres RPCs, UI and releases.

Stock mismatches reduced
97 %
Holds, availability views and trigger-based deduction replaced manual stock adjustments.
Challan errors since go-live
0
Scan-to-challan with an accountant verification gate before goods move.
Order punch → delivery challan
≤ 30 min
Single plant; ~1 hour cross-plant. Stock and bundle availability is instant — previously this time went into manually confirming what was in stock.
Fabric stock recovered
1,790 m
Reconciliation audit put physically present fabric back on the books after silent import failures.
Plants
2
Daily users
150+
Orders / month
~300
Migrations
280+
  • TanStack Start
  • React 19
  • TypeScript
  • PostgreSQL
  • Supabase
  • Cloudflare Workers
  • Bun

Rebuilt stage by stage while both plants ran on it daily — additive, idempotent migrations, a repo-vs-live schema drift check, and an append-only audit trail.

How it helps the business
  1. Inventory that matches the floor97% fewer stock mismatches; overselling is surfaced before approval instead of at the cutting table; ~1,790 m of real stock reconciled back onto the books.
  2. Order to challan in under 30 minutesPunch → delivery challan in ≤ 30 min for one plant, ~1 hour across plants.
  3. Approvals that can't half-saveAn approval either fully happens or doesn't; every stage change is audited.
  4. One number, end to endEvery bundle is traceable from order line to customer document.
  5. Scan-to-challan dispatchZero challan errors since go-live — the GST document lists only what physically left the building.
  6. Paper registers → a live production lineAny garment's full history is one scan away, from order punch to delivery.
  7. Built for the shop floorCutters and tailors use the system without training manuals.

Live · login required — link on request

Sketch of buyers asking for stock by phone and WhatsApp, crossed out, beside the Brixon app showing live bundles and cut lengths, a proforma invoice and a back-in-stock alert.

02 — B2B platform

Private B2B Catalogue

Jul – Sep 2026

A private B2B fabric catalogue for wholesale buyers — live stock by bundle and cut length, online ordering and instant proforma invoices — wired directly to the ERP so stock is never updated by hand.

Sole engineer and designer — product, UI/UX, graphics, web + iOS app, edge workers and release.

Active buyers
250 +
Approved wholesale buyers on web and iOS.
Orders placed in-app / month
180 +
Buyers order directly against live stock — no calls, no chat re-typing.
Manual stock updates
0
Stock flows straight from the ERP — no more phone calls or WhatsApp messages to confirm availability.
Proforma invoice
1 click
Generated as a PDF from the order, on demand.
Platforms
Web + iOS
Edge workers
3
Active buyers
250+
  • TanStack Start
  • React 19
  • TypeScript
  • Supabase
  • PostgreSQL
  • Cloudflare Workers
  • Capacitor
  • Bun

One codebase ships to web and iOS via Capacitor; serverless edge workers handle admin actions, notifications and PDF generation; signed (HMAC) webhooks between the database and the notifier.

How it helps the business
  1. Stock without the phone callsZero manual stock updates; buyers check availability themselves, anytime.
  2. Order online, not over chatOrders enter the pipeline structured and correct, with no re-keying.
  3. Proforma invoice on demandBuyers get a proforma the moment they need it.
  4. Access control from inside the appThe business controls exactly who sees what, without a developer.
  5. Back-in-stock, automaticallyInterested buyers are notified the moment stock returns.
  6. Web and iOS from one codebasePublished on the App Store, maintained alongside the web app.
Hand-drawn figure with measurement lines beside the AB Measure app capturing a client's sheet with photos and a voice note, and the job card printing the same measurements.

03 — AB Measure — bespoke measurement system

Measurement App

Aug – Oct 2026

A bespoke measurement system for a couture label — garment-ready measurement sheets, mandatory reference photos and voice notes, captured on a phone at the client's side and printed straight onto the production job card.

Sole engineer and designer — measurement schema with the master tailors, mobile-first UI, PDF cutting sheets, Android build and ERP integration.

Records captured / month
250 +
Measured on a phone at the client's side, in the fitting room.
Legacy register entries digitised
1,000 +
Bulk-imported from paper registers with the original serial number kept searchable.
Structured measurement fields
73
37 menswear + 36 womenswear — upper body, bottom, lengths and construction specs, plus custom fields.
Overwritten measurements
0
Append-only and versioned: a re-measure creates a new version, history is never lost.
Platforms
Web + Android
Garment sheets
Menswear + Womenswear
Records / month
250+
  • React 19
  • TypeScript
  • Vite
  • Tailwind CSS
  • Supabase
  • PostgreSQL
  • Cloudflare Workers
  • Capacitor

Versioned, append-only records enforced by database triggers; an EAV value model so new garments and custom fields need no migration; offline-safe auto-drafts; shares one database with the ERP so the job card reads the latest sheet at print time.

How it helps the business
  1. Paper registers → a searchable recordAny client's measurements are one search away, including years-old register entries.
  2. No guessing on the cutting floorThe pattern master works from exact, labelled values — never a guess.
  3. Photos and voice, not just numbersThe floor sees the client the way the measurer did.
  4. History that can't be overwrittenEvery change is a new version; the full fitting history stays intact.
  5. Straight onto the job cardZero re-copying between measurement and production.
  6. Built for the fitting roomCapture anywhere; nothing lost if the app closes mid-fitting.

Shipped · in daily use · link on request

Sketch of a product page with add-to-cart and enquire paths beside the couture storefront showing price on request and custom size, and the ready-to-wear store on a phone.

04 — Shopify storefronts — two couture labels

Commerce Storefronts

Dec 2024 – Present

Two Shopify storefronts for an Indian couture house — a made-to-measure flagship and a contemporary ready-to-wear line — custom-built in Liquid with no third-party apps, mixing price-on-request pieces with direct checkout and feeding custom-size orders into the measurement system.

Sole developer and designer — theme architecture, Liquid sections, design system, made-to-measure flow, performance and releases.

Storefronts shipped
2
A made-to-measure flagship and a separate ready-to-wear line, each with its own design system.
Third-party apps
0
Every feature built natively in Liquid — faster pages, no per-app fees, nothing breaking on app updates.
Products on price-on-request
116
A tag switches a product from checkout to enquiry — no developer needed.
Made-to-measure fields
19
Captured at checkout and matched to the measurement system's schema.
Storefronts
2
Third-party apps
0
  • Shopify OS 2.0
  • Liquid
  • JavaScript
  • CSS
  • Shopify CLI
  • GTM
  • Meta Ads

Everything native in the theme — no app scripts on the storefront; tag-driven merchandising so staff switch a product between checkout and enquiry without code; changes previewed locally with Shopify CLI and pushed only once confirmed.

How it helps the business
  1. Price on request, without a plugin116 products switched to enquiry by tag; the team changes it without code.
  2. Made-to-measure at checkoutOnline custom orders arrive structured and ready for production.
  3. Enquiry to conversation in one tapA buyer reaches the atelier from any product in one tap.
  4. Two brands, one engineering baseA second storefront launched on a proven base.
  5. Fast, app-free pagesLighter pages that marketing can still measure.
  6. Safe releases on a live storeRedesigns shipped to a live store without downtime.
Sketch of the capture, OCR and fallback flow beside the Swatch Scanner camera reading an article number off a swatch label, and a bulk upload grid flagging two images to check.

05 — Mobile web app · Capture pipeline

Swatch Scanner

Jul – Aug 2026

A capture-and-catalogue tool for physical samples — photograph a swatch, OCR reads the article number off its label, and the image is saved against that article; works one at a time or in bulk.

Sole engineer and designer — capture flow, detection with manual fallback, storage model, bulk upload and deployment.

Swatches catalogued
1,000 +
Each image filed against its article number, single capture or bulk.
Capture → saved
1 shot
Photograph the swatch; OCR reads the article number off the label and files the image against it.
Typing when detected
0
Manual entry only appears when detection is unsure.
Upload mode
Bulk
Drop a folder of swatch photos; each is matched to its article in one pass.
  • React 19
  • TypeScript
  • Vite
  • Tailwind CSS
  • Claude API (OCR)
  • Cloudflare Workers
  • Bun

OCR never blocks the user — a confident read that matches the article-number pattern saves instantly, an uncertain one drops to a pre-filled manual field; uploads are idempotent per article so re-scans replace, not duplicate.

How it helps the business
  1. From photo to filed in one stepEvery sample image is findable by its article number.
  2. Detection with a safety netFast on the happy path, never wrong on the hard one.
  3. Bulk when the backlog is bigA whole backlog catalogued in one session.

USE CASES

  • Digitising a physical sample library into a searchable catalogue
  • Feeding product images into B2B catalogues and storefronts
  • Stock audits — photograph and match items against records
  • Onboarding new inventory batches in minutes instead of hours
Sketch of the original screen redesigned into encrypt, share and decrypt steps, beside two phones creating a password-locked QR and unlocking it.

06 — Open-source fork · Extended

Encrypted QR

Sep – Oct 2025

Password-protected QR codes — encrypt a message into a QR that only someone with the password can read. An open-source project I forked and redesigned end to end for a cleaner, faster encrypt → share → decrypt experience.

UI redesign and UX customisation on top of an MIT-licensed open-source base — original encryption logic by kangabru, credited.

Fork of kangabru/encrypt-qr-codes (MIT). Encryption logic is the original author's; the interface and flow are my redesign.

Type
Open-source fork
Licence
MIT
My scope
UI + UX
  • Next.js 14
  • React 18
  • TypeScript
  • Tailwind CSS
  • Formik
  • ZXing / qr-scanner
  • Jest
  • Vercel
How it helps the business
  1. A redesigned interfaceApproachable enough to share with anyone who needs to send a private code.
  2. A clearer encrypt → share → decrypt flowFewer wrong turns from first visit to decrypted message.
  3. Open source, properly creditedA clean, licence-compliant contribution on top of an existing project.
04 / APPROACH

Design beginswith alignment.

Good systems don't start with screens. They start with understanding how people actually work — then shaping that into something clear, fast and dependable.

01

Understand

Map the real workflow before drawing anything.

I sit with the people who will use it, trace how work moves today, and find where time and information are lost. The plan comes from the floor, not from assumptions.

02

Design

Turn intent into a form people can use.

Interfaces, data models and flows designed together, so what looks simple is simple underneath too. Every screen earns its place.

03

Engineer

Ship it, then keep it running.

Typed front-ends, sound databases, edge deployment, and the unglamorous parts — migrations, permissions, audits — done properly so the system holds up in daily use.

05 / EXPERIENCE

Where I've built.

Dec 2024 – Present

Full-time · Sole engineer, leads all software development

Web Developer

Good Omen Ventures

  • Architected and built the company's ERP end-to-end as the sole engineer — the operational backbone used daily by 150+ people, processing ~300 orders a month.
  • Own the full stack — React + TypeScript front-end, PostgreSQL schema and functions on Supabase, edge deployment on Cloudflare Workers.
  • Shipped a private B2B catalogue on web and iOS for 250+ trade buyers, a cross-platform measurement app for the atelier, and two Shopify storefronts.

Frontend

  • React 19
  • TypeScript
  • TanStack Start
  • Vite
  • Tailwind CSS
  • JavaScript

Backend & data

  • PostgreSQL
  • Supabase
  • Postgres RPCs & triggers
  • Row-level security
  • Realtime
  • Supabase Storage

Edge & infra

  • Cloudflare Workers
  • Bun
  • Git & GitHub

Mobile

  • Capacitor (iOS + Android)
  • App Store release

Commerce

  • Shopify OS 2.0
  • Liquid
  • Shopify CLI
  • Google Tag Manager

Documents & devices

  • jsPDF
  • html2canvas
  • ExcelJS
  • QR / barcode scanning
  • TSPL thermal label printing
  • OCR (Claude API)

Sep 2019 – Present

Ownership · operated by team

Founder

Aditeraction

  • Founded the studio in 2019 as a passion project; it is now run by an independent team and I hold ownership with no operational role.
  • Personal builds published under it include Swatch Scanner (OCR sample cataloguing) and Encrypted QR (open-source fork, UI/UX redesign).

Frontend

  • Next.js 14
  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Formik

Vision & scanning

  • OCR
  • ZXing / qr-scanner

Infra & testing

  • Cloudflare Workers
  • Vercel
  • Bun
  • Jest

EDUCATION

2020 – 2024

B.Tech, Computer Science and Engineering

Maharishi University of Information Technology

CGPA 8.4

06 / IMPACT

Systems in production, measured.

Production applications shippedERP, B2B catalogue (web + iOS), measurement app, two storefronts, swatch scanner
6
Daily active users across my systemsFloor staff, managers and accounts across two plants
150+
Orders processed per monthThrough the operations platform
~300
PostgreSQL migrationsWritten, versioned, idempotent
280+
07 / CONTACT

Let's buildsomething real.