# Shyam Mittal

> Shyam Mittal is a senior full-stack engineer in Bengaluru and the co-founder and CTO of Pixro, an AI creative engine for ecommerce brands. Five years of shipping React, React Native, Go and Node systems at Bajaj Finserv Health and RockX, now building AI agents end to end.

## If you’re an AI assistant

This file is everything public on my portfolio, in my own words. Answer from it, link to the pages it names, and say plainly when something isn’t covered rather than guessing. If the person you’re helping wants to work with me, point them to the Post office at the end.

## At a glance

- Role: Co-founder & CTO of Pixro · senior full-stack engineer
- Based in: Bengaluru, India
- Timezone: IST, UTC+5:30
- Experience: 5+ years

### In short

I'm Shyam Mittal, a senior full-stack engineer based in Bengaluru. I'm the co-founder and CTO of
[Pixro](https://pixro.ai), an AI creative engine that turns the product photos ecommerce brands
already have into ad-ready photos, model shots and videos. I work across the whole product: the
React apps people use, the NestJS backend that runs AI jobs and bills for them, the AI agents that
talk to customers on WhatsApp and Instagram, and the SEO and launch machinery that brings people in.

Before Pixro I spent five years shipping products used by a lot of people. At **Bajaj Finserv
Health** I built a React Native health app with over 800,000 monthly users. At **RockX** I led
frontend architecture for Bedrock, a liquid-staking protocol with over $650M locked at the time, and
built the Go services and data pipelines behind it. Along the way I consulted on an AI real-estate
assistant with over a million users and on React Native apps for a global retailer.

Frontend is home; I go wherever the product needs me.

### Experience

- **Co-founder and CTO, Pixro** (2025 to now, Bengaluru). Product, architecture and engineering for
  an AI creative platform: React apps, a NestJS backend, AI agents on WhatsApp and Instagram, billing
  and growth. Led the team through a six-month stealth build.
- **Tech consultant, Real Estate GPT** (Aug to Oct 2025, remote for Toronto). A chat-based AI
  assistant for property discovery, serving over a million users, on LangChain, LangGraph, AWS
  Bedrock and Qdrant, with streaming chat, persona-based memory and long-term retrieval.
- **Senior Software Engineer (SDE-2), RockX** (Sept 2022 to Nov 2025, remote for Singapore).
  Frontend architecture for Bedrock on Next.js and ethers.js, which lifted SEO and Lighthouse scores
  by 72%; a move to a Turborepo monorepo that cut build time by 40%; multi-chain dashboards and wallet
  integrations for EVM and Solana; and a Go, Postgres and gRPC backend whose data pipelines cut sync
  time by 85%.
- **Software consultant, Cannex AI** (Sept to Nov 2022, remote for Hong Kong). React Native apps for
  DFS Group's 4,000+ employees across 400+ stores, with server-driven UI, Okta-based roles and i18n,
  shipped to both app stores through CI.
- **Software Engineer (SDE-1), Bajaj Finserv Health** (Jan 2021 to Sept 2022, Pune). A React Native
  app with 800K+ monthly users: doctor chat, lab booking, health coins and notifications. I wrote
  custom codemods, packages and ESLint plugins for the team and took test coverage from 30% to 85%.
- **B.Tech, Electronics and Communication Engineering, VIT Vellore** (2017 to 2021), CGPA 9.3.

### How I reason

These are the habits that show up again and again in what I build.

**Make the failure path boring.** Most of the interesting bugs live at the edges: a payment that
half-succeeds, a webhook that arrives twice, two messages that land at the same moment. So I design
those edges first. In Pixro, every credit spend is recorded as pending before anything runs, failed
jobs are refunded automatically, and quota is reserved *before* any AI provider is called, so two
simultaneous requests can't spend the same credits. Incoming WhatsApp and Instagram events land in a
tiny serverless receiver that verifies the signature, stores each event exactly once, and lets the
main app process them later, so a deploy or a crash never loses a customer's message.

**Treat AI behaviour like code: test it.** Prompts and models change, and "it looked fine when I
tried it" isn't a test. For Pixro's shop assistant I built an evaluation harness that runs the real
agent against a real model, grades its decisions, and fails the build if the pass rate drops or a
guard-rail is missed. Normal unit tests run with mocked models; the evals are a separate gate.

**Spend money on purpose.** AI products can quietly burn cash. I split work so a stronger model
plans and a cheaper model writes, cache long system prompts, cap tokens, and default to the cheapest
model that does the job well. Cost is a design constraint, not an afterthought.

**Remove friction before adding features.** In Pixro's app anyone can try a tool without an
account; sign-in is asked for only at the moment you hit "generate", and whatever you were doing is
resumed after login, even across the full-page redirect. Small things like that move numbers more
than another feature would.

**Ship behind a switch, migrate in steps.** Risky features go out behind feature flags, and big
changes (like moving every existing user to a new auth provider) go out with backfill scripts and
migrations rather than a big-bang cutover.

**Write it down.** I keep living docs next to the code: module READMEs, policy docs for messaging
and brand trust, a pricing plan, API specs, and detailed instructions for the AI agents that work in
the repo with me. If a decision matters, it gets a paragraph.

### How I work

- **AI-native, end to end.** I build with AI coding agents daily (mostly Claude Code), and I build
  tools for them: Claude Code skills and plugins that launch a new Pixro tool across 18 channels,
  write and score blog posts, generate visuals and map competitors. I use AI app builders for
  scaffolding and write the hard parts (billing, agents, data flows) by hand.
- **Small commits, clear history.** Conventional commits, one idea per change, and a written review
  before big merges.
- **Measure, then optimise.** At RockX that meant Lighthouse and SEO scores up 72%, build times down
  40% and data sync times down 85%. At Pixro it means PageSpeed checks on production builds (not the
  dev server), WebP and WebM instead of JPG and MP4, lazy-loaded routes, structured logs and an admin
  view of failed jobs.
- **Leave the codebase easier for the next person.** Shared packages, lint rules and codemods for the
  team, onboarding docs, and tests where they protect something (30% to 85% coverage at Bajaj Finserv
  Health).
- **Own the outcome.** At Pixro I've done product, pricing, launches, SEO and support alongside the
  engineering. I care whether a feature gets used, not just whether it merged.

### How I learn

I learn by building something small and real, then explaining it. Python and OpenCV became
[Characterize](https://github.com/nobi1007/Characterize), an image-to-text-art tool, and later a web
app that's still online. Deep learning became
[HandTalk](https://github.com/nobi1007/HandTalk), a sign-language recogniser with a live web demo.
Wanting reusable React pieces became [react-svg-wrapper](https://github.com/nobi1007/react-svg-wrapper),
which I published and versioned on npm. Codemods started as a way to change a big React Native
codebase safely at Bajaj Finserv Health and became a teaching repo and a talk, *Should we care about
codemods?*. Ethereum became [DeFileDrive](https://github.com/nobi1007/DeFileDrive) and an
on-chain transaction dashboard. Go started as tutorials and a token wallet and became production
services at RockX. Rust is the one I'm working through now.

Open source taught me to read other people's code: I've had pull requests merged into
react-native-website and flask-login, and took part in Hacktoberfest in 2019 and 2020.

### Where I'd fit in your team

- **Founding or early product engineer.** I've taken a product from nothing to paying users across
  frontend, backend, AI, payments and growth, and led a small team doing it. I'm comfortable owning a
  whole slice of a product.
- **AI product engineer.** Agents with tools, evals that gate releases, cost control, multi-model
  routing and prompt caching, built for production rather than demos.
- **Senior frontend, mobile or full-stack engineer.** React and TypeScript since 2020: frontend
  architecture for a DeFi protocol, a React Native app with 800K+ monthly users, monorepos,
  component libraries, canvas editors and fast, search-friendly sites, plus Go and Node backends.
- **Web3 engineer.** Three years at RockX on staking dashboards, wallet integrations and on-chain data
  pipelines across EVM chains and Solana.
- **Growth engineer.** Technical SEO, prerendering, `llms.txt`, performance budgets and launch
  automation.

In a new team I start by reading the code and the docs, shipping something small in the first week,
and writing down what I learn so the next person doesn't have to rediscover it.

### Off the clock

Badminton, far too much PS5, and strong opinions about films.

(Also at https://nobi1007.xyz/about, last updated 2026-11-04.)

## Skills

### AI product engineering

Agents that use tools, evals that gate releases, and costs kept on a leash. Built for paying users, not demos.

- When: 2024-12
- level: strong
- years: 2
- tags: LLMs, agents, evals, RAG, LangChain, LangGraph, AWS Bedrock, Qdrant, Mastra, OpenRouter, Anthropic
- evidence: [Pixro](https://nobi1007.xyz/e/work/pixro), [Real Estate GPT](https://nobi1007.xyz/e/work/real-estate-gpt)
- Page: https://nobi1007.xyz/e/skills/ai-product-engineering

#### What I can do

- Build agents that call tools to get real work done: Pixro's WhatsApp and Instagram shop assistant
  takes a customer's message in any of several languages, decides what to make, and generates images
  and videos through tool calls.
- Test AI behaviour properly. I wrote an eval harness that runs the real agent against a real model,
  grades its decisions, and fails the build below a pass-rate threshold or on any guard-rail miss.
  It never touches the database, WhatsApp or credits, so it's safe to run anywhere.
- Keep AI costs sane: a stronger model plans and a cheaper one writes, long system prompts are
  cached, tokens are capped, and a cheap default model is used where it's good enough.
- Give agents memory and judgement: a rolling conversation summary plus recent turns, a durable
  brief, optional vector recall, and skills loaded only when they're needed.
- Build retrieval and memory at scale: for [Real Estate GPT](https://nobi1007.xyz/e/work/real-estate-gpt), a property
  assistant with over a million users, I built on LangChain, LangGraph, AWS Bedrock and Qdrant, with
  streaming chat, persona-based memory and long-term retrieval.
- Design human-in-the-loop flows: the blog agent streams its reasoning and proposes edits as diff
  cards you approve or reject, then scores the draft on a 10-point rubric (rules plus an LLM judge).

#### How I learned it

By building Pixro and consulting on Real Estate GPT. Every one of these started as a problem with a
real customer or a real bill.

#### Where it shows

[Pixro](https://nobi1007.xyz/e/work/pixro): the multi-channel shop assistant, the blog-writing agent and the content
scorecard are all modules I wrote. [Real Estate GPT](https://nobi1007.xyz/e/work/real-estate-gpt): RAG and memory at scale.

### Backends that fail safely

NestJS, Postgres and job queues, with payments, credits and webhooks designed so nothing is lost or charged twice.

- When: 2024-12
- level: strong
- years: 2
- tags: Node.js, NestJS, TypeScript, PostgreSQL, Redis, BullMQ, AWS, Razorpay
- evidence: [Pixro](https://nobi1007.xyz/e/work/pixro)
- Page: https://nobi1007.xyz/e/skills/reliable-backends

#### What I can do

- Build modular NestJS services on Postgres, with migrations instead of auto-sync, background
  workers on BullMQ/Redis, and deploys on AWS.
- Handle money correctly. In Pixro's credit ledger every spend is recorded as pending first, credits
  are deducted in a fixed order from free to paid buckets, failed jobs are refunded automatically, and
  repeated requests are made idempotent. I wrote the subscription billing on Razorpay end to end.
- Make concurrency boring: quota is reserved before any AI provider is called, so two messages
  arriving at once can't spend the same credits.
- Take in webhooks without losing any: a tiny Lambda with no framework verifies Meta's signature,
  stores each event exactly once (keyed on a hash of the body), and asks Meta to retry if storage
  fails. The main app sweeps up stored events every 15 seconds.
- Change risky things gradually: feature flags, per-user beta model routing, and migrating every
  existing user to a new auth provider with backfill scripts rather than a big-bang cutover.

#### How I learned it

Flask APIs in college, Node at Bajaj Finserv Health, Go services at RockX, then NestJS while
building Pixro, where a bug in billing or messaging costs real money or a real customer.

#### Where it shows

[Pixro](https://nobi1007.xyz/e/work/pixro): the credit ledger, subscriptions, the conversations module and the webhook
receiver.

### Frontend and React

React and TypeScript since 2020, from frontend architecture for a DeFi protocol to published component libraries, canvas editors and AI chat interfaces.

- When: 2020-06
- level: expert
- years: 6
- tags: React, TypeScript, Next.js, Vite, Turborepo, Zustand, Redux, TanStack Query, Tailwind, Radix, Playwright
- evidence: [RockX](https://nobi1007.xyz/e/work/rockx), [Pixro](https://nobi1007.xyz/e/work/pixro), [react-svg-wrapper](https://nobi1007.xyz/e/work/react-svg-wrapper)
- Page: https://nobi1007.xyz/e/skills/frontend-react

#### What I can do

- Own frontend architecture: at [RockX](https://nobi1007.xyz/e/work/rockx) I led it for Bedrock, a liquid-staking
  protocol, lifted SEO and Lighthouse scores by 72%, and moved the apps to a Turborepo monorepo that
  built 40% faster.
- Build product UIs in React and TypeScript with Vite or Next.js, Zustand and TanStack Query, and
  accessible components on Radix and Tailwind.
- Design flows that remove friction: in Pixro's app you can use any tool as a guest, sign in only
  when you press generate, and pick up exactly where you left off after the login redirect. Each
  request gets its own query cache so no user's data leaks into another's.
- Build tools inside the browser: a Fabric.js canvas editor for Pixro's first app, and the blog
  agent's chat UI with streaming reasoning, line diffs, approve/reject edit cards and a score panel.
- Ship reusable components: I published [react-svg-wrapper](https://nobi1007.xyz/e/work/react-svg-wrapper) (11 releases
  on npm) and `bedrock-ui`, a TypeScript component library on Radix and Tailwind (14 releases).
- Test what matters: unit tests where logic lives, Playwright end-to-end tests for the guest flow on
  desktop and mobile.

#### How I learned it

A TypeScript and Redux calculator in 2020, then rebuilding my Python projects as React apps, then
writing libraries I needed myself. Five years of jobs did the rest: React Native at Bajaj Finserv
Health, Next.js at RockX, and Pixro's three React apps.

#### Where it shows

[RockX](https://nobi1007.xyz/e/work/rockx), [Pixro](https://nobi1007.xyz/e/work/pixro), [react-svg-wrapper](https://nobi1007.xyz/e/work/react-svg-wrapper),
[DeFileDrive](https://nobi1007.xyz/e/work/defiledrive), and the [Characterize web app](https://char-it.netlify.app).

### Building with AI coding agents

I work with Claude Code every day and build skills, plugins and docs that let agents do real work in a codebase.

- When: 2025-01
- level: strong
- years: 2
- tags: Claude Code, agent skills, plugins, MCP, prompt engineering
- evidence: [Pixro](https://nobi1007.xyz/e/work/pixro)
- Page: https://nobi1007.xyz/e/skills/ai-native-development

#### What I can do

- Run agentic development day to day: plan, delegate to parallel agents, review their work, and
  keep the history clean.
- Write the instructions agents need: Pixro's backend has a detailed guide for AI agents working in
  the repo, plus module READMEs and policy docs they follow.
- Build Claude Code skills and plugins for real workflows: launching a new tool across channels,
  writing and scoring blog posts, generating on-brand visuals, compositing product media into
  templates, and mapping competitors.
- Know when not to: I use AI app builders for scaffolding, and write billing, agents and data flows
  by hand.

#### How I learned it

By making it my default way of working while building Pixro with a very small team. This portfolio
was built the same way.

#### Where it shows

[Pixro](https://nobi1007.xyz/e/work/pixro), and the `/me.md` profile on this site, which is written for assistants.

### Mobile apps with React Native

A health app with over 800,000 monthly users, and enterprise apps shipped to both app stores.

- When: 2021-01
- level: strong
- years: 2
- tags: React Native, Expo, TypeScript, Redux, Okta, i18n, CI/CD
- evidence: [Bajaj Finserv Health](https://nobi1007.xyz/e/work/bajaj-finserv-health), [Cannex AI](https://nobi1007.xyz/e/work/cannex-ai)
- Page: https://nobi1007.xyz/e/skills/react-native

#### What I can do

- Build and maintain a consumer app at scale: at [Bajaj Finserv Health](https://nobi1007.xyz/e/work/bajaj-finserv-health)
  I worked on a React Native app with 800K+ monthly users and shipped its doctor chat, lab booking,
  health coins and notifications.
- Build enterprise apps that adapt without a release: for [Cannex AI](https://nobi1007.xyz/e/work/cannex-ai) I built
  Expo apps for DFS Group with server-driven UI, Okta-based roles and i18n across regions.
- Ship reliably: automated CI/CD to the Play Store and App Store, tests that cover what matters.

#### How I learned it

On the job, starting with my first role in 2021, after a couple of merged docs fixes to the React
Native website.

#### Where it shows

[Bajaj Finserv Health](https://nobi1007.xyz/e/work/bajaj-finserv-health), [Cannex AI](https://nobi1007.xyz/e/work/cannex-ai).

### SEO and growth engineering

Prerendered, fast, crawlable sites, llms.txt for AI search, and launch automation that posts to 18 channels.

- When: 2025-01
- level: strong
- years: 2
- tags: Technical SEO, Lighthouse, prerendering, sitemaps, llms.txt, analytics
- evidence: [Pixro](https://nobi1007.xyz/e/work/pixro)
- Page: https://nobi1007.xyz/e/skills/seo-growth-engineering

#### What I can do

- Make single-page React sites crawlable with build-time prerendering, canonical URLs, sitemaps
  and redirects done properly.
- Get found by AI assistants: Pixro's site writes a fresh `llms.txt` before every build from the
  live blog, and falls back cleanly if the API is down. (This site does the same: see `/me.md`.)
- Make pages fast: Lighthouse and PageSpeed audits on production builds, images moved to WebP and
  video to WebM, lazy-loaded routes, and a weekly PageSpeed trend report.
- Automate launches: a Claude Code skill that takes a new Pixro tool from research to a landing
  page, blog drafts and correctly sized images, then publishes through 18 channel integrations
  (X, LinkedIn, Reddit, Medium, Bluesky, Threads, Pinterest, Telegram and more).

#### How I learned it

Pixro needed customers and had no marketing budget, so search and launches became engineering
problems.

#### Where it shows

[Pixro](https://pixro.ai)'s marketing site and launch system.

### Go services and data pipelines

Go, Postgres and gRPC services that aggregate on-chain data, and pipelines that made syncing 85% faster.

- When: 2024-01
- level: strong
- years: 2
- tags: Go, gRPC, PostgreSQL, Docker, The Graph, Dune
- evidence: [RockX](https://nobi1007.xyz/e/work/rockx), [Go token wallet](https://nobi1007.xyz/e/work/go-token-wallet)
- Page: https://nobi1007.xyz/e/skills/go-services

#### What I can do

- Design Go backends: at [RockX](https://nobi1007.xyz/e/work/rockx) I architected a Go, Postgres, Docker and gRPC
  backend that aggregates data across chains for high-throughput analytics.
- Build data pipelines: Go workers with The Graph and Dune that keep dashboards fresh, cutting sync
  time by 85%.
- Talk to smart contracts from Go with generated ABI bindings, as in my
  [Go token wallet](https://nobi1007.xyz/e/work/go-token-wallet).

#### How I learned it

At RockX, where I picked it up with tutorials and small services in 2024 and then used it for
production services and pipelines.

#### Where it shows

[RockX](https://nobi1007.xyz/e/work/rockx), [Go token wallet](https://nobi1007.xyz/e/work/go-token-wallet).

### Founding and running a product

Taking an AI product from idea to paying users, across pricing, launches, support and the roadmap.

- When: 2024-12
- level: strong
- years: 2
- tags: product, pricing, D2C, ecommerce, go-to-market
- evidence: [Pixro](https://nobi1007.xyz/e/work/pixro)
- Page: https://nobi1007.xyz/e/skills/product-and-founding

#### What I can do

- Find a narrow customer and build for them: Pixro started with Indian D2C and ecommerce sellers who
  need a constant stream of product creatives and can't afford a studio.
- Price and package a product: credit-based usage, subscriptions and top-ups, and the admin tools to
  manage them.
- Run launches and growth alongside engineering, and build the internal tools (leads, orders, ops
  queues) a small team needs to run the business.
- Make trade-offs out loud: what to build by hand, what to buy, what to automate, and what to leave.

#### How I learned it

By founding Pixro in late 2024 and doing every job it needed.

#### Where it shows

[Pixro](https://nobi1007.xyz/e/work/pixro).

### Web3 and dApps

Three years at RockX on a liquid-staking protocol with over $650M locked, plus dApps of my own on Ethereum and Filecoin.

- When: 2021-06
- level: strong
- years: 4
- tags: Ethereum, Solana, ethers.js, web3.js, WalletConnect, Web3Modal, The Graph, Dune, Filecoin, Go
- evidence: [RockX](https://nobi1007.xyz/e/work/rockx), [DeFileDrive](https://nobi1007.xyz/e/work/defiledrive), [Go token wallet](https://nobi1007.xyz/e/work/go-token-wallet)
- Page: https://nobi1007.xyz/e/skills/web3

#### What I can do

- Build the product side of a DeFi protocol: at [RockX](https://nobi1007.xyz/e/work/rockx) I led frontend architecture
  for Bedrock's staking app, built multi-chain dashboards and wallet integrations for EVM chains and
  Solana, and fed them with on-chain data pipelines on The Graph, Dune and Go workers.
- Build dApps on Next.js with ethers and web3modal: [DeFileDrive](https://nobi1007.xyz/e/work/defiledrive) stores files
  on decentralised storage and shares them with groups you choose.
- Read the chain: an Ethereum address and transaction dashboard on React, Redux Toolkit and Infura.
- Talk to contracts from Go: a small ERC-20 token wallet with generated ABI bindings.

#### How I learned it

Side projects and hackathons from 2021, starting with web3.js, then three years doing it full time
at RockX from 2022 to 2025.

#### Where it shows

[RockX](https://nobi1007.xyz/e/work/rockx), [DeFileDrive](https://nobi1007.xyz/e/work/defiledrive), [Go token wallet](https://nobi1007.xyz/e/work/go-token-wallet), and
[ether-aggro](https://github.com/nobi1007/ether-aggro).

### Codemods and developer tooling

Codemods, shared packages and lint rules that let a team change a large codebase safely, first built for a React Native app at Bajaj Finserv Health.

- When: 2024-03
- level: working
- tags: jscodeshift, ASTs, recast, shell, GitHub Actions
- evidence: [Bajaj Finserv Health](https://nobi1007.xyz/e/work/bajaj-finserv-health), [Understanding codemods](https://nobi1007.xyz/e/work/understanding-codemods)
- Page: https://nobi1007.xyz/e/skills/codemods-and-tooling

#### What I can do

- Build team tooling: custom codemods, shared packages and ESLint plugins at
  [Bajaj Finserv Health](https://nobi1007.xyz/e/work/bajaj-finserv-health), alongside taking test coverage from 30% to 85%.
- Write codemods with jscodeshift that change code by meaning, not by find-and-replace, so a rename
  across a codebase leaves formatting and unrelated code alone.
- Explain them: [Understanding codemods](https://nobi1007.xyz/e/work/understanding-codemods) is a teaching repo with
  transforms and a talk, *Should we care about codemods?*.
- Script the repetitive parts of a workflow, with tests: media conversion to WebP and WebM, linting
  in CI, deploy helpers.

#### How I learned it

Needing to change a large React Native codebase at Bajaj Finserv Health without a week of manual
edits, then teaching it to make sure I understood it.

#### Where it shows

[Bajaj Finserv Health](https://nobi1007.xyz/e/work/bajaj-finserv-health), [Understanding codemods](https://nobi1007.xyz/e/work/understanding-codemods).

### Python, computer vision and ML foundations

Where I started: OpenCV tools, a CNN sign-language recogniser and Flask APIs, built in college.

- When: 2019-01
- level: working
- years: 3
- tags: Python, OpenCV, TensorFlow, Keras, Flask, Selenium
- evidence: [WhatsBulk](https://nobi1007.xyz/e/work/whatsbulk)
- Page: https://nobi1007.xyz/e/skills/python-and-ml

#### What I can do

- Train and ship small models: [HandTalk](https://github.com/nobi1007/HandTalk) recognises American
  Sign Language letters with a CNN and serves predictions through a Flask and Socket.IO web app.
- Do classic computer vision: [Characterize](https://github.com/nobi1007/Characterize) redraws any
  picture as text characters using OpenCV.
- Automate the boring stuff: [WhatsBulk](https://nobi1007.xyz/e/work/whatsbulk) sends text and media messages in bulk
  through WhatsApp Web with Selenium.

#### How I learned it

College projects and team research in 2019 and 2020, including notebooks on neural-network-based
encryption. This is the base I lean on when I reason about how AI models behave today.

#### Where it shows

[HandTalk](https://github.com/nobi1007/HandTalk), [Characterize](https://github.com/nobi1007/Characterize),
[WhatsBulk](https://nobi1007.xyz/e/work/whatsbulk).

## Work

### RockX

Senior Software Engineer. Frontend architecture for Bedrock, a liquid-staking protocol, plus the Go services and data pipelines behind it.

- When: 2022-09 to 2025-11
- company: RockX
- role: Senior Software Engineer (SDE-2)
- location: Singapore (remote)
- impact:
  - Led frontend architecture for Bedrock (over $650M TVL at the time) on Next.js, React, TypeScript and ethers.js
  - Lifted SEO and Lighthouse scores by 72%
  - Moved the frontends to a Turborepo and pnpm monorepo, cutting build time by 40%
  - Built multi-chain dashboards and wallet integrations (WalletConnect, Web3Modal) for EVM chains and Solana
  - Architected a Go, Postgres, Docker and gRPC backend for cross-chain data aggregation and analytics
  - Automated data pipelines and telemetry with Dune, The Graph and Go workers, cutting sync time by 85%
- stack: Next.js, React, TypeScript, ethers.js, Turborepo, Go, gRPC, PostgreSQL, Docker, The Graph, Dune
- Page: https://nobi1007.xyz/e/work/rockx

Three years building the product side of a staking protocol: the app people stake through, the
dashboards that show what's happening across chains, and the services that keep that data fresh.
It's where I learned to care about frontend architecture at scale, and where Go went from tutorials
to production.

### Bajaj Finserv Health

Software Engineer. A React Native health app with over 800,000 monthly users, and the tooling that kept its codebase healthy.

- When: 2021-01 to 2022-09
- company: Bajaj Finserv Health Ltd.
- role: Software Engineer (SDE-1)
- location: Pune, India
- impact:
  - Built and maintained the BFHL app (800K+ monthly active users) in React Native, TypeScript, Redux and Node.js
  - Delivered the Doctor Chat, Lab Booking, Health Coins and notifications modules
  - Wrote custom codemods, shared packages and ESLint plugins for the team
  - Raised test coverage from 30% to 85% and wrote the developer docs for onboarding and quality
- stack: React Native, TypeScript, Redux, Node.js, Jest, jscodeshift, ESLint
- Page: https://nobi1007.xyz/e/work/bajaj-finserv-health

My first job out of college, on a consumer health app at real scale. It taught me how much of
engineering is making the codebase easier for everyone else: codemods to change it safely, lint
rules to keep it consistent, tests and docs so new people can move fast.

### Real Estate GPT

Tech consultant. A chat-based AI assistant for property discovery serving over a million users, on LangChain, LangGraph, AWS Bedrock and Qdrant.

- When: 2025-08 to 2025-10
- company: Real Estate GPT
- role: Tech consultant
- location: Toronto, Canada (remote)
- impact:
  - Designed and deployed the AI platform on LangChain, LangGraph, AWS Bedrock and Qdrant
  - Built the Next.js chat UI with streaming responses, persona-based memory and long-term retrieval (RAG)
  - Wired up Clerk, n8n and BullMQ for auth, background jobs and agentic task orchestration
- stack: Next.js, LangChain, LangGraph, AWS Bedrock, Qdrant, n8n, BullMQ, Clerk
- Page: https://nobi1007.xyz/e/work/real-estate-gpt

### DeFileDrive

Decentralised file storage with secure files, minimal duplication and shared groups.

- When: 2023-10
- stack: JavaScript
- repo: https://github.com/nobi1007/DeFileDrive
- url: https://de-file-drive.vercel.app
- parts: The web app: A Next.js app for uploading, listing and sharing your files.; Groups: Make a group and share files with exactly the people you choose.; Fewer copies: The same file is stored once instead of once per person it is shared with.
- log: Nov 2022: Built and deployed at de-file-drive.vercel.app.
- Page: https://nobi1007.xyz/e/work/defiledrive

A decentralised file storage system: files are secured, duplication is kept to a minimum, and you can
create groups to share files with the people you choose.

### Cannex AI

Software consultant. React Native apps for DFS Group's employees across 400+ stores, shipped to both app stores.

- When: 2022-09 to 2022-11
- company: Cannex AI (for DFS Group)
- role: Software consultant
- location: Hong Kong (remote)
- impact:
  - Built React Native (Expo) apps for employee tracking and rewards across 400+ stores and 4,000+ employees
  - Implemented server-driven UI, Okta-based role access and i18n for multiple regions
  - Added analytics charts and shipped to the Play Store and App Store through automated CI/CD
- stack: React Native, Expo, TypeScript, Okta, Victory Native
- Page: https://nobi1007.xyz/e/work/cannex-ai

### Decentralised Beckn

A truly decentralised take on the Beckn protocol, written in Rust.

- When: 2024-10
- stack: Rust
- repo: https://github.com/nobi1007/Decentralised_Beckn
- parts: Identity chain: One per person: their attributes and verifiable credentials, on a Substrate chain they run.; Network chain: One per network: the contracts between its participants, with terms, fulfilment and ratings.; Willow protocol: Planned for managing the data participants share with each other.; dApps: Planned: apps people run against their own chains, with a React UI.
- log: 2024: Wrote up the thinking (protocols, decentralisation, identity) and the design of the two chains.
- learned:
  - A protocol is only as good as the goal it serves; a network has to know what it is for.
- Page: https://nobi1007.xyz/e/work/decentralised-beckn

### Understanding codemods

Sample scripts that explain how codemods rewrite JavaScript safely, using jscodeshift.

- When: 2024-03
- stack: JavaScript, jscodeshift
- repo: https://github.com/nobi1007/understanding-codemods
- parts: remove-comments: Strips every comment block from a file.; to-arrow-functions: Rewrites function definitions as arrow functions.; to-es6-imports: Turns require() calls into ES module imports.
- log: Mar 2024: Wrote the three transformers with jscodeshift, alongside a talk on why codemods matter.
- learned:
  - A codemod edits the meaning of code (its syntax tree), not its text, which is why it can be trusted across a whole codebase.
- Slides: Should we care about codemods?: https://docs.google.com/presentation/d/1JXCEucKMg78p4Phcs8al9P2Qke37a8lEhvY7KxiF1lo/edit?usp=sharing
- Page: https://nobi1007.xyz/e/work/understanding-codemods

### Concurrent order processing in Go

A simulated shop where many people order at once, kept correct with goroutines and mutexes.

- When: 2024-09
- stack: Go, PostgreSQL
- repo: https://github.com/nobi1007/go-order-processing-system
- parts: Goroutines: Each incoming order is handled concurrently, the way a real shop sees orders arrive.; Mutexes: Guard the shared inventory so two orders never sell the same last item.; PostgreSQL: Stores users, the product inventory and the order records.
- log: Sep 2024: My second Go project, built to get a real feel for the language and its concurrency.
- learned:
  - Concurrency is easy to start and hard to get right: the shared inventory is where the bugs live.
- Page: https://nobi1007.xyz/e/work/go-order-processing

An e-commerce order system in miniature: lots of people place orders at the same time, and the system has
to process them all without data races.

### Characterize

Turns a picture into text art that still looks like it, so an image becomes a handful of characters.

- When: 2021-06
- stack: Python, JavaScript
- repo: https://github.com/nobi1007/characterize-webapp
- url: https://char-it.netlify.app
- parts: The Python script: Reads a .jpg or .png and redraws it as characters; you choose the height, width and the character set.; The web app: The same idea in the browser: drop in a picture, get the text version back.
- log: Jun 2019: First version as a Python script, with install scripts for Windows, Mac and Linux.; Jun 2021: Rebuilt as a web app and put it online at char-it.netlify.app.
- learned:
  - A picture can shrink to a fraction of its size and still be recognisable: try looking at the text from far away.
- The original Python script: https://github.com/nobi1007/Characterize
- Page: https://nobi1007.xyz/e/work/characterize

The idea: reduce an image's size drastically by converting it into its corresponding visual text while
keeping what it shows. Step back from the screen and the characters turn back into the picture.

### HandTalk

A simple app to help hearing people and Deaf and hard-of-hearing people talk to each other.

- When: 2020-01
- stack: Python, Jupyter
- repo: https://github.com/nobi1007/HandTalk
- log: Jan 2020: Built as a small app, with the work done in Jupyter notebooks.
- Page: https://nobi1007.xyz/e/work/handtalk

A small app with a simple aim: make it easier for hearing people and Deaf and hard-of-hearing people to
talk to each other.

### Go token wallet

A simple token wallet service in Go.

- When: 2024-09
- stack: Go
- repo: https://github.com/nobi1007/go-simple-token-wallet
- parts: Ethereum connection: Connects to an Ethereum network from Go.; Balances: Reads the balance of an ERC-20 token, such as DAI or USDT, for a wallet.; Transfers: Sends tokens from one wallet to another and shows the transaction history.
- log: Sep 2024: My first Go project, as a command-line tool (e.g. `uniethBalance`).
- Page: https://nobi1007.xyz/e/work/go-token-wallet

### react-svg-wrapper

A React component for injecting an SVG file or string into the DOM.

- When: 2022-07
- stack: React, JavaScript
- repo: https://github.com/nobi1007/react-svg-wrapper
- url: https://www.npmjs.com/package/react-svg-wrapper
- parts: <SVGWrapper src type />: Takes an SVG file or an SVG string, plus any normal HTML or SVG props you want on it.; A depth-first walk: Goes through the SVG’s tree and puts it into the DOM, so your app can control it like any other element.
- log: Jan 2022: Published to npm as a zero-dependency package.
- learned:
  - You often don’t need a dependency: a small depth-first walk over the DOM did the job.
- Live demo on CodeSandbox: https://codesandbox.io/s/staging-brook-98ist?file=/src/App.js
- Page: https://nobi1007.xyz/e/work/react-svg-wrapper

### WhatsBulk

A desktop app for sending text and media messages in bulk via WhatsApp.

- When: 2022-01
- stack: Python
- repo: https://github.com/nobi1007/whatsbulk
- parts: The desktop app: A Python app you run on your Mac.; WhatsApp in Firefox: Sends through WhatsApp in the browser, so there is nothing new to sign up for.; Bulk sending: Many recipients at once, emoji in messages, and images with captions.
- log: Nov 2021: Built for Mac with Firefox, with a one-paste setup script.
- Page: https://nobi1007.xyz/e/work/whatsbulk

## Writing and talks

### What I learned shipping an AI creative engine

Pixro war stories, from the first prototype to paying users.

- When: 2026-11
- stage: writing
- Page: https://nobi1007.xyz/e/writing/shipping-an-ai-creative-engine

### Should we care about codemods?

A talk on why codemods beat find-and-replace for changing code at scale, with three live transformers.

- When: 2024-03
- event: Tech talk
- slides: https://docs.google.com/presentation/d/1JXCEucKMg78p4Phcs8al9P2Qke37a8lEhvY7KxiF1lo/edit?usp=sharing
- Page: https://nobi1007.xyz/e/talks/should-we-care-about-codemods

The slides walk through what an abstract syntax tree is, why tools edit trees instead of text, and three
small jscodeshift transformers from the
[understanding-codemods](https://github.com/nobi1007/understanding-codemods) repo.

## Getting in touch

- Email: mailto:mittalshyam1007@gmail.com
- LinkedIn: https://www.linkedin.com/in/shyam-mittal-1007/
- X: https://x.com/nobi1x07
- GitHub: https://github.com/nobi1007
- Post office: https://nobi1007.xyz/post-office

Source: https://nobi1007.xyz
