Software Engineer · Full-stack · Product

I research and build
products until real people
are using them.

Aditya Jain — full-stack and mobile engineer with a UC Berkeley B.A. in Computer Science, working the whole arc: user interviews and demos, then the web, native, and backend behind them. Depth in payments, NFT / web3, and RAG — a fintech platform in production with thousands of users, an NFT platform shipped, civic and consumer apps tested with real users on real devices.

INTERVIEWBUILDBETA TESTIN USE
Selected Work

Systems built end to end —
architecture, state, and ownership.

Ordered by depth, not recency. Real codebases — several in production or used at live events, others tested with real users on real devices. Where it says I led or built something, I mean it; where I contributed, I say so.

01
In production · Multi-year · Thousands of users
Web + Mobile + Backend + AI

PaySpaze Flagship

A multi-product fintech platform — live with thousands of users — where I built the native Tap-to-Pay app, contributed to an AI document-intelligence service, and worked across the consumer and business payment stack.

A — InsightLM & the Payment Platform

  • Contributed to InsightLM — an enterprise RAG system for financial documents (parent-child chunking, 6-way intent classification, multi-provider LLMs across OpenAI / Gemini / Claude).
  • Deep work on the multi-provider payment system (Stripe, Braintree, PayPal, Authorize.net) — I researched how the flows should work and debugged production issues across them, and know the architecture end to end.
  • The live consumer site lets anyone browse events and buy tickets; a separate business portal handles merchant management and payouts over Pusher, with Auth0 JWT shared across web and backend.

B — Admin & Kiosk (Native Tap-to-Pay)

  • Dual-mode binary — one React Native app flips between a passcode-locked customer kiosk and a full merchant admin panel, with mode persisted across restarts.
  • Stripe Terminal Tap-to-Pay on iPhone using Stripe Connect Direct Charges for true multi-merchant payouts, with CVM logging.
  • TerminalConnectionManager singleton with inflight dedup, and an explicit usePaymentMachine state machine: IDLE → CONNECTING → … → COMPLETE / ERROR.
  • Full Auth0 lifecycle — PKCE, silent refresh, biometric unlock via Keychain.
  • Run at a handful of live events — set up and operated the kiosk on real merchant hardware, iterating on the flow from how it actually performed on the floor.
Kotlin · Java 21Spring Boot 3.418-module MavenReact 18React Native 0.81 / React 19Python · FastAPIMilvusPostgreSQLAuth0PusherStripe Terminal SDKRedux Toolkit · ZustandTanStack Query
02
Shipped to the FDEM production backend
Geospatial backend · TypeScript

WeatherSTEM · FDEM Weather Geospatial Pipeline

For WeatherSTEM and the Florida Division of Emergency Management, I built the geospatial pipeline that turns raw weather rasters into map-ready polygons — the most computational-geometry-heavy work I've done.

  • Raster → polygon tracing— converted tiled weather rasters (temperature, humidity, wind) into isopleth heat maps, then traced contour “blob rings” out of the pixel data into clean polygons.
  • Coordinate & S2-cell conversion — a converter mapping image pixel coordinates ↔ lat/long across map tiles and zoom levels, with polygons indexed into Google S2 cells (@radarlabs/s2) for fast geospatial lookup.
  • Authored ~79 commits driving the phase-1 backend; the pipeline now lives in the production FDEM backend. Covered with Jest tests (coordinate conversion, polygon error cases, weather equations, Monte-Carlo sampling).
  • Shipped with an Express service and a Vite + map demo viewer to validate output against real Florida geography.
TypeScriptNode · ExpressGoogle S2 (@radarlabs/s2)Raster / isopleth processingComputational geometryKafkaJestVite (demo)
03
Shipped · Web3
Web + Smart Contract + API + Admin

Halla

A creator contest platform where users enter competitions, vote on entries, and mint winning work as NFTs — a React/web3 frontend over an on-chain ERC-721 marketplace and a Laravel backend.

  • ERC-721 NFT marketplace contract (Solidity 0.8.17, OpenZeppelin ERC721URIStorage) with on-chain mint and token metadata, deployed to Polygon (Mumbai) via Hardhat.
  • Gasless minting via EIP-2771 meta-transactions — a MinimalForwarder contract plus an OpenZeppelin Defender relay so users mint without holding gas.
  • Web3 wallet flow with MetaMask onboarding, web3modal, and signed requests; assets pinned to IPFS via nft.storage and AWS S3.
  • Laravel backend (PHP 8, JWT auth, Socialite social login) powering contests, entries, voting, comments, follows, and notifications — plus a separate React admin dashboard.
React · Redux-SagaSolidity 0.8.17HardhatOpenZeppelinweb3.js · web3modalPolygon (Mumbai)nft.storage / IPFSLaravel 8 · PHP 8JWT · SocialiteAWS S3
04
Launching soon · Leading a team of 3
iOS + Android + Web + API · Civic-tech

Plaza

Residents subscribe, vote on local initiatives, and allocate real money to community causes across city, county, state, and national scales.

  • Leading a team of three junior UX engineers — setting direction, reviewing their work, and mentoring as we build toward launch.
  • Shaped by user interviews — ran rounds of interviews and on-device testing that drove the funding model and the flows below, not just my own assumptions.
  • Build-time type safety — an API client auto-generated from an OpenAPI spec, with a CI check that fails the build if frontend types drift from the backend.
  • Multi-scale civic funding model with enforced split rules across jurisdictions.
  • Built the full payment flow myself — Stripe subscriptions, in-app Checkout with deep-link return, and one-time top-ups, all wired through webhooks to the funding balance.
  • 8-status initiative state machine backed by PostgreSQL enums; US Census gazetteer geolocation maps an address to its civic jurisdiction.
React Native 0.83 / Expo 55Next.js 16React 19Fastify · ZodPrismaPostgreSQL · SupabaseStripe
05
Beta · Led & built end to end
iOS + Android + REST API

Chorely

Roommates assign, complete, and dispute chores for points — with a peer-review voting flow backed by photo evidence.

  • Led the team and built it end to end — I drove the project and wrote almost all of the code, front end to backend.
  • Interviewed roommates first — the dispute-and-voting mechanic came directly out of user conversations about what actually causes friction in shared homes, then validated in on-device testing.
  • A single Hono app runs identically on local Node and Cloudflare Workers.
  • Democratic dispute system enforced by a DB-level partial unique index — exactly one open dispute per chore.
  • Signed Supabase Storage photo uploads; composite indexes for fast activity feeds; status state machine via PostgreSQL enums.
React Native · Expo 53React 19RecoilHono · Cloudflare WorkersDrizzle ORMNeonDBSupabaseVitest
06
POC · In progress
Web · WebGL renderer

Interactive Venue Seatmap

A high-performance, zoomable seating chart rendered in WebGL, with real-time seat updates.

  • 4-tier Level-of-Detail renderer — tiles → rows → seats → labels — for smooth pan/zoom across a full venue.
  • Cursor-anchored zoom with separate trackpad and wheel tuning.
  • Y-axis coordinate flip (CAD bottom-left origin → Pixi top-left) with counter-flipped labels.
  • Fully typed contract layer — versioned geometry, pricing, and a WS delta union — over an in-memory mock backend with hold-expiry timers.
TypeScriptReact 19Vite 7PixiJS v8Zustand · ImmerSocket.IORadix UITailwind 4Playwright
Also built

DataPiperTech— Contentful CMS content modeling and UI work on a React/GraphQL consultancy site.  ·  Yugada — a polished vanilla HTML/CSS/JS event-SaaS landing page with a JS-driven pricing toggle and IntersectionObserver scroll navigation.

Stack

What I reach for.

Everything here is evidenced by the work above — not a wishlist.

Product & Research

User interviews, demos, on-device beta testing, scoping ideas from zero, requirements, iterating from real feedback, shipping to production

Languages

TypeScript / JavaScript, Python, SQL, Java, C, Assembly (RISC-V), HTML/CSS — write fluently.  Kotlin, Solidity, PHP, Go, Dart — comfortable working in, often agent-assisted.

Frontend

React, Next.js, React Native / Expo, Tailwind CSS, MUI, PixiJS (WebGL), Framer Motion, Redux Toolkit, Zustand, Recoil, TanStack Query

Backend

Hono (Cloudflare Workers), Fastify, Express, FastAPI, Node.js — plus shipped backends in Spring Boot and Laravel

Web3

Solidity, Hardhat, OpenZeppelin, ERC-721, gasless meta-transactions (EIP-2771), web3.js, Polygon, IPFS / nft.storage

Geospatial

Google S2 cells, raster / isopleth processing, contour-polygon tracing, pixel ↔ lat/long coordinate conversion, map tiling, computational geometry

Data, Infra & Deploy

PostgreSQL, MongoDB, Prisma, Drizzle, Milvus (vector DB), Supabase, NeonDB, Apollo/GraphQL, Contentful · Deployed on Cloudflare Workers, Railway, AWS (S3), Vercel, and Firebase; Docker · wiring custom domains to deploys via GoDaddy

Payments

Stripe, Stripe Terminal (Tap-to-Pay), Stripe Connect, Braintree, PayPal, Authorize.net, Plaid, Google Pay

AI

RAG pipelines, multi-provider LLM integration (OpenAI / Gemini / Claude), document parsing, intent classification

Auth

Auth0 (PKCE, refresh, biometric), Apple Sign-In, Supabase Auth, JWT

About

Breadth across the stack, depth in the systems that matter.

I'm a software engineer who likes owning the whole arc of a product — talking to users, scoping the idea, building it across web, mobile, and backend, then getting it onto real devices and watching how people actually use it. For Plaza and Chorely that meant rounds of user interviews that genuinely changed what I built — applying the HCI methods from Berkeley's CS 160 to real products.

The engineering goes deep too — Spring Boot and Laravel backends, TypeScript services, on-chain Solidity, payment state machines, and AI/RAG document intelligence, running on Cloudflare Workers, Railway, Supabase, and AWS. The result: a fintech platform serving thousands, an NFT platform shipped, and a Tap-to-Pay kiosk run at live events.

These days I work AI-natively for speed — I make every architectural and product decision myself and closely supervise agents (Claude Code and Codex) as they implement my direction. But the moment an agent stalls on something hard, I drop in and hand-write or hand-debug it myself— fast. Knowing when the tool fails, and being able to take over, is the whole point: I'm reviewing diffs and steering, not hoping.

What sets me apart

The whole arc, not just a slice.

I run user research and design and build the backend that powers it — most engineers do one or the other. That arc has put a fintech platform in front of thousands of users, an NFT platform on-chain, and a Tap-to-Pay kiosk on real event floors.

Depth, by example

I built git, not just used it.

As a CS 61B project I implemented a working version-control system from the internals up — commits, blobs, branching, and merging. So when I work in a real multi-branch history across dozens of repos every day, I know exactly what's happening underneath.

UC Berkeley — B.A. Computer Science
CS 61A · 61B · 61C · 160 (UI/UX design) · 161 (security) · 168 (networking) · 170 (algorithms) · 188 (AI)