Skip to content
DV

Full stack, all the way down

Darshatak Vyas

Senior Full-Stack Developer · Mumbai

I build the whole thing: the schema, the API, the app in your pocket and the server it runs on.

Before we go down

The short version

Senior full-stack developer in Mumbai, shipping production software since early 2023. Web and React Native apps, the APIs and databases behind them, payments, store releases, and the cloud or self-hosted servers it all runs on. When a tool gets in my way, I build a better one.

  1. 3+

    years shipping production software

    derived from dates

  2. 8+

    products taken from an empty repo to production

    self-reported

  3. 20+

    technologies used in production

    self-reported

  4. 130

    repositories of my own on GitHub since 2021

    computed from the GitHub scan

Layer 01

Interface

What people touch: web apps, React Native apps and dashboards that feel quick on a bad network.

  1. React and Next.js web apps
  2. React Native apps, first screen to store release
  3. Micro-frontends under one shell
  4. Motion, accessibility and responsive detail

01.1 · Illustrative art

Layer 01 · Employer work · 2025 – now

Both sides of the counter

React Native apps, kitchen dashboard, payments, store releases

Office lunch runs on a tight window. People need to order and pay in a few taps, and the kitchen needs every paid order the moment it lands, printed and queued.

  • 20+

    customer-app screens

What I built

  • Customer app with 20+ screens, from menu customisation to invoice QR codes
  • Vendor app and kitchen dashboard fed by a live order stream over Socket.io
  • NFC card payments and thermal receipt printing at the counter
  • Payment gateway integration with refunds and webhook reconciliation
  • Push notifications that deep-link to the right screen; Play Store and App Store releases
  • An API layer with token refresh, caching, retry with backoff and honest offline screens

Stack

  • React Native
  • Socket.io
  • Firebase Cloud Messaging
  • Notifee
  • Payment gateway
  • Axios
  • NFC
  • Thermal printing

Layers touched

Layers this project touches: Interface and Services.

Recreated demo · sample data

Tap to ticket

Place a sample order on a phone. Watch it get paid by webhook, land on the kitchen board over a live socket, and print as a receipt strip.

Ask for a walkthrough

01.2 · Illustrative art

Layer 01 · Own product · 2026

DraftDeck

My own product: designed, built and self-hosted

System design lives in five tabs: a whiteboard, a diagram tool, a schema designer, some Markdown slides and a folder of exports nobody can find.

  • 5

    apps behind one login

  • 260

    passing tests in SysCraft alone

What I built

  • Five apps behind one login, one origin and one share dialog: Whiteboard, SysCraft, ERD-DB, MermaidPad and MDDeck, plus a Drive with folders and versions
  • Whiteboard: Excalidraw with accounts, autosave, version history and realtime collaboration
  • SysCraft: drag-and-drop architecture builder with request-flow simulation, bottleneck and single-point-of-failure detection, and failure injection
  • ERD-DB: visual schema designer that generates SQL, Prisma, TypeScript + Zod and seed data
  • Share links with view or edit access, optional expiry, password and an access log
  • Built contract-first: shared types, parallel implementation, tests and an adversarial review gate; the whole suite starts with one docker compose up

Stack

  • Bun
  • Hono
  • Prisma
  • PostgreSQL
  • React 19
  • TypeScript
  • Vite
  • Tailwind CSS v4
  • Zustand
  • @xyflow/react
  • Excalidraw
  • Mermaid
  • nginx
  • Docker Compose

Layers touched

Layers this project touches: Interface, Services, Data and Infrastructure.

Recreated demo · sample data

Break my architecture

A tiny SysCraft graph: requests flow from a client through a gateway to two API nodes, a queue and a database. Knock a node out and watch traffic reroute, pile up or stop at a single point of failure.

Ask for a live tour

Layer 02

Services

The APIs underneath: auth, payments, realtime, and the retries nobody notices.

  1. REST and realtime APIs (Node, Bun, Hono, Express)
  2. SSO, MFA and multi-tenant access control
  3. Payment gateways, webhooks and idempotent money flows
  4. Serverless functions and background jobs

02.1 · Illustrative art

Layer 02 · Client engagement · 2025 – now

One sign-in, many consoles

Full-stack developer on the client team

Every organisation and tenant on a healthcare platform must see only its own data, and every role needs its own console without juggling separate logins.

What I built

  • Micro-frontends (Vue 3 + Module Federation) loaded at runtime under one shell, with shared routing and auth propagation
  • OIDC single sign-on with TOTP MFA, and organisation- and tenant-level isolation
  • Effective permissions cached in Redis, with Postgres as the source of truth
  • A data-policy editor: recursive condition trees, first-match rule chains and a live preview, shared by three admin apps
  • Fixes for production-class auth bugs: an MFA and lockout regression, intermittent 403s from a shared cache key, oversized permission headers at the gateway

Stack

  • Vue 3
  • TypeScript
  • Vuetify 3
  • Pinia
  • Module Federation
  • Node.js
  • Express
  • Prisma
  • PostgreSQL
  • Redis
  • OIDC SSO
  • Docker
  • Jenkins
  • Kubernetes (Helm, ArgoCD)

Layers touched

Layers this project touches: Interface, Services, Data and Infrastructure.

  • 5

    micro-frontends under one shell

Recreated demo · sample data

Who sees what

A sample policy as a condition tree. Change who is asking (role, tenant, MFA done or not) and watch the first matching rule light up and decide.

Ask how the access model works

02.2 · Illustrative art

Layer 02 · Client work · 2025 – now

Meal plans on 61 functions

Full stack: serverless backend, both apps, admin, releases

Local messes, tiffin services and home kitchens needed to sell monthly meal plans, with wallets, memberships and delivery, without anyone running a server.

What I built

  • A serverless backend: 61 AWS Lambda functions behind API Gateway on 30+ MySQL tables
  • Customer and partner React Native apps, plus a React admin portal
  • Payment-gateway webhooks with reconciliation; a push notification at every order step; S3 presigned uploads
  • A silently broken referral reward traced to a mass revert in git history, then rebuilt with idempotent, order-scoped wallet credits, clawbacks on cancellation and idempotent refunds
  • A full production release (backend, admin and both Play Store apps) with backups verified by row count and zero rollback

Stack

  • React Native
  • Redux Toolkit
  • AWS Lambda
  • API Gateway
  • MySQL (RDS)
  • S3
  • AWS SAM
  • CloudFormation
  • GitHub Actions
  • Payment gateway
  • Firebase Cloud Messaging
  • Google Maps
  • React
  • Vite
  • Tailwind CSS

Layers touched

Layers this project touches: Interface, Services, Data and Infrastructure.

  • 61

    Lambda functions

  • 30+

    MySQL tables

  • 0

    rollbacks on the full production release

Recreated demo · sample data

Retry the webhook

Payment providers retry webhooks. Deliver this one as many times as you like: the wallet is credited exactly once per order, duplicates are acknowledged and ignored, and cancelling posts a clawback.

Ask about the release

Layer 03

Data

Schemas that hold their shape: normalised models, rules the system enforces, and audit trails you can trust.

  1. PostgreSQL and MySQL schema design
  2. Drizzle and Prisma migrations
  3. Business rules as data (windows, quotas, accruals)
  4. Audit trails and generated documents

03.1 · Illustrative art

Layer 03 · Employer work · 2026

Rosterly

Designed and shipped: schema, API and web app

Attendance, leave, approvals, payslips and letters lived in spreadsheets and email threads.

  • 41

    tables, third normal form

Stack

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • TanStack Query
  • Zustand
  • Hono
  • Drizzle ORM
  • PostgreSQL
  • node-cron
  • PDFKit
  • docx
  • MinIO
  • Docker

What I built

  • A 41-table PostgreSQL schema in third normal form behind a Hono API and a Next.js 15 / React 19 web app
  • A monthly leave-accrual job with per-type buckets
  • Multi-manager approvals
  • Generated increment letters (DOCX and PDF) and payslips
  • Developer-controlled feature flags

Layers touched

Layers this project touches: Interface, Services and Data.

Recreated demo · sample data · Leave, accruing

Ask about the schema

03.2 · Illustrative art

Layer 03 · Client work · 2025 – 2026

Every part, traceable

Full stack

A manufacturing client had to label every part with a code its customer's quality system accepts, and prove part by part what was inspected and when.

  • 38

    characters per part code

  • 20

    dimensions per part spec

  • 14

    audit event types

Stack

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • shadcn/ui
  • Node.js
  • Express
  • PostgreSQL
  • Drizzle ORM
  • node-qrcode
  • jsPDF

What I built

  • 38-character QR codes that encode IST date and time and batch serials, with gap-filling serial numbers
  • One-click and bulk printing of 8 mm labels
  • Part specifications with 20 dimensions and revision history
  • Inspection reports generated as PDF and submitted to the customer's quality system, with per-report status
  • A 14-event audit trail, and Admin and Operator roles

Layers touched

Layers this project touches: Interface, Services and Data.

Recreated demo · sample data · Print a label

Ask for a walkthrough

03.3 · Illustrative art

Layer 03 · Client work · 2025 – 2026

Tap to eat

Full stack

A mess serving many residents needed meal access that enforces its own rules (lunch or dinner, two meals a day, no double taps) from a scanning station that runs in a browser.

  • 2

    meals a day, enforced

  • 3

    permission tiers

Stack

  • React
  • TypeScript
  • Tailwind CSS
  • shadcn/ui
  • TanStack Query
  • Node.js
  • Express
  • WebSockets
  • PostgreSQL
  • Drizzle ORM

What I built

  • An RFID card registry with live meal scanning from a browser plus USB reader station, nothing to install
  • Time-window rules: lunch before 4 PM, dinner after, one meal per window, two a day at most
  • A duplicate-scan cooldown, and blocked cards or users
  • A live scan board over WebSockets, and cash and online payment records
  • Super admin, mess admin and consumer roles across multiple facilities

Layers touched

Layers this project touches: Interface, Services and Data.

Recreated demo · sample data · Tap to eat

Ask for a walkthrough

Layer 04

Infrastructure

Where it runs: serverless on AWS, containers, self-hosted machines, and releases that do not need a rollback.

  1. AWS Lambda, API Gateway, RDS, S3, SAM and CloudFormation
  2. Docker and Docker Compose; CI with GitHub Actions and Jenkins
  3. Self-hosting with nginx and system services
  4. Credential hygiene, approvals and audit logs

04.1 · Illustrative art

Layer 04 · Own product · 2026

DefCon

My own product: designed and built

Running several servers meant a dozen terminals, a file client, a Docker UI, a metrics tab, and no record of who did what.

What I built

  • One Bun process on SQLite that manages many servers over SSH, with nothing to install on them beyond sshd
  • A file manager, durable cross-device web terminals, Docker controls, live metrics and log search
  • App and static-site deploys (including from git), databases, backups, DNS and tunnels
  • Scoped service tokens, credentials encrypted at rest, argon2id passwords and an audit log

Stack

  • Bun
  • Hono
  • Prisma
  • SQLite
  • ssh2
  • React
  • Vite
  • Tailwind CSS
  • TanStack Query
  • xterm.js
  • tmux
  • Docker

Layers touched

Layers this project touches: Interface, Services, Data and Infrastructure.

  • 281

    automated tests passing

Recreated demo · sample data

Pull the plug

A sample fleet of four machines with live metrics. Pull the plug on one: it goes dark, the dashboard retries, the audit log records it, and it comes back when you plug it in.

Ask for a live tour

04.2 · Illustrative art

Layer 04 · Own product · 2026

Passport

My own product: designed and built

Credentials end up in dotfiles, shell history and chat logs, and nothing records who used what, where.

What I built

  • A local-first credential vault: AES-256-GCM envelope encryption with the key held in the OS keychain
  • Every action names its target, and an ambiguous request is refused; nothing defaults
  • Four risk tiers, with approvals from the terminal, a desktop notification or a phone
  • A redacted audit log with canary values
  • A 12-view admin portal shipped as one self-contained page, and an always-on background service

Stack

  • Bun
  • TypeScript
  • SQLite (FTS5)
  • Zod
  • YAML
  • macOS Keychain
  • launchd / systemd

Layers touched

Layers this project touches: Services, Data and Infrastructure.

  • 159

    tests passing

  • 33

    checks in the end-to-end self-test

  • 4

    risk tiers

Recreated demo · sample data

You're the bouncer

Requests arrive, each naming a target and a risk tier. Low tiers pass on their own; the risky ones wait for you. Approve or deny, and watch the audit log record it with the values redacted.

Ask for a demo

Layer 05

Core

At the centre of it: how I work.

  1. 01

    Proof, not "should work"

    Done means the artifact proves it: the build that is actually deployed, row counts that match after a backup, a test run I can show you.

  2. 02

    The whole product

    Data model, API, web and mobile apps, the store release and the machine it runs on. Fewer hand-offs means fewer gaps.

  3. 03

    Secure from the first commit

    No secrets in code, encrypted credentials, tiered approvals and an audit trail, built in rather than bolted on later.

  4. 04

    Numbers come from the data

    Every number on this page traces to a source. If the code does not back a claim, the claim goes.

  5. 05

    Read the history first

    A feature everyone called "never built" had been built, then reverted. Git history found it; idempotent credits fixed it.

  6. 06

    Contract first

    Shared types and interfaces come first, then parallel work, tests and a hard review, finished in a real browser.

06 · Roles and dates

Experience

Two full-time roles, my own independent work and a client engagement, several of them at once. Where the bands overlap, so did the work.

Running at the same time

Scroll to move the marker through the years, or pick a band on the rod to jump to it.

  1. Full-time · – now

    Senior Full-Stack Developer

    A Singapore-headquartered technology company, Remote, from Mumbai

    Interface · Services · Data
    • Built the customer and vendor React Native apps for a corporate-cafeteria ordering platform: 20+ customer screens, from menu customisation to invoice QR codes.
    • Built the kitchen side: a live order stream over Socket.io, NFC card payments and thermal receipt printing.
    • Integrated a payment gateway end to end (UPI, cards, wallets, net banking) with refunds and webhook-based reconciliation.
    • Ran the Play Store and App Store release routine (signing, bundling, metadata, review) and set up push notifications that deep-link to the right screen.
    • Designed and shipped the in-house HR and people-ops portal, shown here as Rosterly, on a 41-table PostgreSQL schema.
    • React Native
    • Socket.io
    • Firebase Cloud Messaging
    • Notifee
    • Payment gateway
    • Next.js 15
    • React 19
    • Hono
    • Drizzle ORM
    • PostgreSQL
    • GSAP
  2. Client engagement · – now

    Full-Stack Developer (client engagement)

    An enterprise healthcare SaaS platform, through a consulting partner, Remote

    Interface · Services · Data · Infrastructure
    • Built micro-frontends (Vue 3 + Module Federation) that load at runtime under one shell, with shared routing, auth propagation and state.
    • Built multi-tenant access control: organisation and tenant isolation, OIDC single sign-on, TOTP MFA and Redis-cached effective permissions, later with Postgres as the source of truth.
    • Shipped a data-policy editor (recursive condition trees, first-match rule chains, a live preview) as one component shared by three admin apps.
    • Root-caused production-class auth bugs: an MFA and lockout regression, intermittent 403s from a shared cache key, and permission headers dropped at the gateway.
    • Worked the dev to test to stage promotion flow with Jenkins, Docker Compose environments and Kubernetes (Helm, ArgoCD).
    • Vue 3
    • TypeScript
    • Vuetify 3
    • Pinia
    • Module Federation
    • Node.js
    • Express
    • Prisma
    • PostgreSQL
    • Redis
    • OIDC SSO
    • Docker
    • Jenkins
  3. Full-time · –

    Full-Stack Developer

    A Mumbai-based analytics and software company, Mumbai

    Interface · Services
    • Joined through an internship project, a medicine-inventory system (Node.js, Express, SQL) with stock alerts and prescriptions, which turned into the full-time role.
    • Built an HR portal front end with separate admin and employee dashboards: attendance calendar, weekly timesheets, leave workflow and an employee registry.
    • Designed 11 customisable dashboard widgets with drag-and-drop reordering and visibility toggles.
    • Built the theme system, responsive breakpoints and a swipeable mobile drawer; managed state with Redux Toolkit and role-based protected routes.
    • React
    • Redux Toolkit
    • Redux Persist
    • React Router
    • MUI
    • MUI X
    • React Hook Form
    • Node.js
    • Express
    • SQL
  4. Independent · – now

    Freelance Full-Stack Developer

    Independent, Mumbai, remote

    Interface · Services · Data · Infrastructure
    • Built a meal-subscription platform on AWS serverless: 61 Lambda functions and 30+ MySQL tables, customer and partner React Native apps, and a React admin portal.
    • Shipped its full production release (backend, admin and both Play Store apps) with backups verified by row count and zero rollback.
    • Traced a silently broken referral reward to a mass revert in git history, then rebuilt it with idempotent, order-scoped wallet credits and clawbacks on cancellation.
    • Built an RFID canteen system with time-window meal rules and a live scan board, and a QR part-traceability system for a manufacturing client.
    • Keep a handful of small-business WordPress sites patched, fast and findable.
    • React Native
    • AWS Lambda
    • API Gateway
    • MySQL (RDS)
    • AWS SAM
    • GitHub Actions
    • Payment gateway
    • React
    • Express
    • WebSockets
    • PostgreSQL
    • Drizzle ORM
    • WordPress
  5. Education · –

    B.Voc in Software Development

    Jai Hind College, University of Mumbai, Mumbai

    • Three years of software development coursework; the Java and C++ exercises are still on GitHub.
    • Java
    • C++
    • HTML
    • CSS
    • JavaScript
    • PHP

07 · Tools, by layer

Stack

What I build with, sorted by the layer it lives in. No skill bars: each marker says how I know a tool.

Fig. 07 · The stack, explodedDV · 2026
Production
Used in software that shipped to real users.
Built
Used to build my own tools and projects.
Exposure
Worked alongside it on a team; not something I would claim to own.

01Languages

4 production, 2 built, 1 exposure

  • TypeScript, production
  • JavaScript (ES6+), production
  • SQL, production
  • HTML & CSS, production
  • Python, built
  • PHP (maintenance), exposure
  • Java (early Android work), built

02Web interfaces

16 production, 4 built, 0 exposure

  • React 18 / 19, production
  • Next.js 15, production
  • Next.js 16, built
  • Vue 3, production
  • Vite, production
  • Tailwind CSS v3 / v4, production
  • Vuetify 3, production
  • Pinia, production
  • Module Federation (micro-frontends), production
  • Redux Toolkit, production
  • TanStack Query, production
  • Zustand, production
  • Material UI / MUI X, production
  • shadcn/ui & Radix UI, production
  • GSAP, production
  • Framer Motion, production
  • Recharts / Chart.js, production
  • anime.js, built
  • three.js, built
  • Lenis, built

Nothing here at exposure level.

03Mobile

6 production, 0 built, 0 exposure

  • React Native, production
  • Firebase Cloud Messaging + Notifee, production
  • Deep linking, production
  • NFC, production
  • Thermal receipt printing, production
  • Play Console & App Store Connect releases, production

Nothing here at built level.

Nothing here at exposure level.

04Services & APIs

11 production, 4 built, 0 exposure

  • Node.js, production
  • Express, production
  • Hono, production
  • Bun, built
  • REST APIs, production
  • WebSockets / Socket.IO, production
  • JWT, production
  • OAuth2 / OIDC single sign-on, production
  • TOTP MFA, production
  • Zod, production
  • Payment gateways, production
  • Webhook reconciliation, production
  • BullMQ, built
  • WebRTC, built
  • Flask, built

Nothing here at exposure level.

05Data & storage

7 production, 2 built, 0 exposure

  • PostgreSQL, production
  • MySQL 8 (RDS), production
  • Redis, production
  • Firebase Firestore, production
  • Drizzle ORM, production
  • Prisma, production
  • S3 / MinIO, production
  • SQLite, built
  • MongoDB, built

Nothing here at exposure level.

06Cloud & delivery

7 production, 4 built, 1 exposure

  • AWS Lambda & API Gateway, production
  • Amazon RDS & S3, production
  • AWS SAM & CloudFormation, production
  • AWS Amplify, production
  • Docker & Docker Compose, production
  • GitHub Actions, production
  • Jenkins, production
  • nginx, built
  • Self-hosting on a home server, built
  • systemd / launchd services, built
  • PM2, built
  • Azure Kubernetes Service, Helm, ArgoCD, exposure

07Architecture & security

7 production, 2 built, 0 exposure

  • Micro-frontends, production
  • Microservices behind a gateway, production
  • Serverless, production
  • Multi-tenant access control, production
  • Audit logging, production
  • Feature flags, production
  • Idempotent payment & wallet flows, production
  • AES-256-GCM envelope encryption, built
  • argon2id password hashing, built

Nothing here at exposure level.

08Testing & quality

3 production, 4 built, 0 exposure

  • Jest, production
  • Playwright, production
  • Vitest, built
  • bun test, built
  • Real-browser (CDP) verification, built
  • Custom ESLint boundary rules, built
  • Husky, production

Nothing here at exposure level.

08 · Every repository

Index

Original repositories only: forks, copied templates and empty placeholders removed. Names shown only for public repos and own projects; everything else is anonymised to its kind, language and year.

on GitHub
152
forks left out
11
shown here
130
named
25

Every repository, as a field of tiles

130 / 130 match

2021(8)

2023(21)

2024(5)

2025(46)

2026(50)

How to read the field

  • Own project27
  • Client or employer work60
  • Practice43
  • Featured on this page3
  • Notched corner: public repository16

Hover or focus a tile for its details. Arrow keys move through the field.

More projects

  • ZooMeet

    No-login group video rooms: create a room, share the link, go live.

    Full-mesh WebRTC with glare-safe perfect negotiation, a waiting lobby with auto-admit, grid and speaker views, host controls and 360p to 1080p presets, on one Bun server.

    Bun · TypeScript · WebRTC · WebSockets · PostgreSQL · coturn · Docker Compose

    Built2026 · Services
  • ForgePanel

    A self-hosted web-hosting control panel with admin, user and guest areas.

    Sites, databases, Docker containers, DNS, web-server config, files, backups, cron and a terminal, with a separate host agent. Early: six commits.

    React · TypeScript · Hono · Drizzle ORM · PostgreSQL · Redis · BullMQ · Socket.IO · dockerode · Caddy

    In progress2026 · Infrastructure
  • DropZone

    Room-code file transfer between devices, installable as a PWA.

    Two devices join by code or QR; files stream in chunks over a WebSocket relay with per-IP rate limiting.

    Node.js · Express · ws · Vanilla JavaScript · PWA · Docker

    Built2026 · Services
  • Statement analyzer

    Upload bank statements (PDF or Excel) and get categorised spending insights.

    An Express API parses statements into Postgres and runs scheduled jobs; a Next.js front end charts the results; ships as a Docker Compose stack.

    Next.js · TanStack Query · Recharts · Express · TypeScript · PostgreSQL 16 · Docker Compose

    Built2026 · Data
  • Probe

    Spec-first build package for an API discovery, inspection and replay tool (desktop app plus browser extension).

    PRD, architecture, data model, UI spec and a phased build plan, with a pnpm workspace scaffold. A design exercise so far.

    Electron · React 18 · TypeScript · SQLite · Manifest V3 · pnpm workspaces

    Spec and scaffold2026 · Interface
  • Rent-Tronics

    An electronics-rental website from my first year of building for the web.

    Express, Handlebars and MongoDB.

    Node.js · Express · Handlebars · MongoDB

    Early work2023 · ServicesGitHub(opens in a new tab)
  • Util-Box

    An Android utility app from college.

    Java and Android.

    Java · Android

    Early work2023 · InterfaceGitHub(opens in a new tab)

09 · Contact

Tell me what you are building.

A role, a project, or a system that needs untangling. I read everything that reaches this inbox.

[email protected]
What is it about?
Write the email

Opens your mail app with this filled in. Nothing is sent from this page.