AG

Backend & Data Engineer

Arnav Gupta

I build data-heavy backend systems: pipelines, system-to-system syncs, and the APIs that sit on top of them.

About

I’m a backend and data engineer based in Lakhimpur, UP, India. At OrionTCS I build the systems that move a US pharmacy chain’s data between its warehouse, its CRM and its partners, plus the internal tools its field teams use.

Before that I spent more than five years freelancing, shipping 200+ projects in Node.js, Python and Java: bots, automation, auth and verification tools, dashboards and API integrations.

I do my best work where the data is messy and being correct matters more than looking clever.

CurrentlySolving problems.

Selected work

Warehouse → CRM sync engine

Problem
Account data in the CRM kept drifting from the data warehouse, and simple one-way syncs created duplicate accounts.
What I built
A sync engine that diffs live CRM state against an expected-state table on every run and queues create, update, reparent, archive and merge actions through an outbox. Destructive changes wait for a human to approve them.
Outcome
Fuzzy matching on name, territory and ZIP recovered 5,000+ accounts that would otherwise have been duplicated.
  • Zoho CRM
  • T-SQL
  • Outbox pattern
  • Fuzzy matching

Incremental delta feed to a partner

Problem
A partner platform needed transaction data every day, and full re-sends were slow and easy to get wrong.
What I built
An incremental feed from Azure Data Factory to SFTP. Insert, update and sync timestamps drive change detection, and group-level replace semantics make every re-send idempotent.
Outcome
Traced phantom deletes to upstream payment IDs that change when claims are re-adjudicated, then redefined the record grain so changed claims stopped looking like deletes.
  • Azure Data Factory
  • SFTP
  • Change detection
  • Idempotency

Pharmacy field app

Problem
Field reps needed warehouse data on their visits, but the warehouse lives on a private network.
What I built
A Node.js backend and React frontend on Azure App Service that reach the private data warehouse through VNet integration.
Outcome
One internal app for pharmacy visits, with the warehouse still off the public internet.
  • Node.js
  • React
  • Azure App Service
  • VNet

Clinical adherence metrics

Problem
Clinical and commercial teams needed a reliable answer to whether patients stay on their medication.
What I built
PDC, MPR and persistency curves, plus a months-on-therapy year-over-year analysis using restricted mean survival time (RMST).
Outcome
Adherence measured with standard, comparable metrics, split by drug, market basket and new versus refill patients.
  • T-SQL
  • PDC / MPR
  • Survival analysis
  • Power BI

Serverless reporting pipelines

Problem
Internal and external reports were being assembled by hand, every cycle.
What I built
Scheduled pipelines on Azure Functions that pull, shape and deliver each report without anyone touching a spreadsheet.
Outcome
Reports that used to be built by hand now arrive on schedule, the same way every time.
  • Azure Functions
  • Scheduling
  • T-SQL

Experience

  1. Data Analyst

    OrionTCSJun 2025 – present

    Backend and data engineering for a US pharmacy chain: CRM sync, partner data feeds, an internal field app on Azure, clinical metrics and reporting automation.

  2. Freelance Full Stack Developer

    Self-employedApr 2019 – Jan 2025

    200+ client projects in Node.js, Python and Java: bots, automation, auth and verification tools, dashboards and API integrations.

  3. Master of Computer Applications (MCA)

    Amity UniversityExpected 2027
  4. Bachelor of Business Administration (BBA)

    Jain University2025

Projects

Personal Finance Manager

A private, invite-only app for tracking spending. It parses HDFC and ICICI bank statements in the browser, so the file is never uploaded, sorts each transaction into a category automatically, and tracks budgets, informal loans and EMIs.

Google OAuth with PKCE, per-user isolation enforced by composite foreign keys, and an append-only audit log guarded by database triggers. Money is stored as whole paise. The security tests run against the real Worker and D1, and a new API route fails the build until it is added to the suite. It runs on Cloudflare’s free tier.

  • TypeScript
  • Astro
  • Hono
  • Cloudflare Workers
  • D1
  • Zod
  • Vitest

CoWork

An installable, mobile-first planner for couples. Each partner manages their own todos, projects and habits and can see the other’s day. Shared projects, joint habits that count only when both partners do them, nudges and comment threads sit on top.

One Cloudflare Worker serves the site, the Hono API and the scheduled reminder jobs, and migrations run before each deploy so a failed one leaves the last version live. Web Push (VAPID signing and payload encryption) is written directly on Web Crypto, with no push library. Natural-language quick add turns “gym mon wed fri 7am #health” into a scheduled todo. 182 Vitest tests.

  • TypeScript
  • Astro
  • Preact
  • Hono
  • Cloudflare Workers
  • D1
  • R2
  • Web Push

Resellable

An invite-only marketplace for selling your things to people you know. Sellers list items from their phone in seconds, buyers fill a cart, and both sides negotiate one price for the whole cart with offers and counter-offers.

The server enforces the deal state machine, and only the person who didn’t make the latest offer can accept it. Agreeing reserves stock in one atomic D1 batch backed by a CHECK constraint, so two buyers racing for the last units can’t oversell it. Photos are converted to WebP in the browser and served from a private R2 bucket. 87 unit tests, including the stock race against a real SQLite database.

  • TypeScript
  • Astro
  • Preact
  • Hono
  • Cloudflare Workers
  • D1
  • R2
  • Vitest

Spotter

An invite-only, mobile-first gym app for two partners who coach each other. Each writes the other’s workout and diet plan, and both log their days, share progress photos, chat and keep a shared streak. It installs to the home screen and runs on Cloudflare’s free tier.

Hand-written Google OAuth with PKCE, no auth library. One-to-one pairing is enforced by UNIQUE constraints and a SQL trigger, and invites are claimed atomically. Photos are stripped of location data before upload and served from a private bucket. 142 tests run in the real Workers runtime, including one that scans every table to confirm a deleted account leaves nothing behind.

  • TypeScript
  • Astro
  • Preact
  • Cloudflare Workers
  • D1
  • R2
  • Vitest

EMICalc

An offline EMI calculator for Indian loans and credit-card EMIs that shows the real cost: 18% GST on interest, processing fees and first-statement interest, combined into one effective annual rate (IRR).

The calculation code is a pure TypeScript module with Vitest tests, and the IRR is found by bisection so it always returns an answer. It includes a prepayment planner, a hand-written SVG chart, share links and CSV, PNG and PDF exports. No backend and no UI framework.

  • Astro
  • TypeScript
  • Vitest
  • SVG
  • PWA
  • Cloudflare Pages

GiftLink

Send someone a virtual bouquet and ice cream as a link. The whole gift is encoded in the URL fragment, so there is no server, no database and no accounts, and gift contents never reach server logs.

Default fields are left out, so a basic gift fits in 44 characters. Custom theme colours keep their hue but are adjusted to meet contrast minimums. Older link formats still decode after format changes, and links fall back through three keyless shorteners.

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Framer Motion

Home Lab

A self-hosted Proxmox server running LXC containers and VMs: NAS, media server, Home Assistant, Docker services and a CUPS print server.

Set up GPU passthrough to a VM and recovered the data from a failing disk.

  • Proxmox
  • LXC
  • Docker
  • Linux

Skills

Languages & runtimes
  • Node.js
  • TypeScript
  • Python
  • SQL / T-SQL
Data
  • SQL Server
  • MySQL
  • MongoDB
  • Power BI
Cloud & infrastructure
  • Azure App Service
  • Azure Functions
  • Azure Data Factory
  • Docker
  • Linux
Frontend
  • React

Get in touch

I’m open to backend and data engineering roles. Email is the fastest way to reach me.

clusterwithgigs@gmail.com
Drag, or use the arrow keys, to move through the day. Home returns to the current time.