Piyush Puniya
Systems that adapt to change
Senior Software Engineer / System design · Design patterns · AI agents / JoyzAI
LinkedIn ↗ GitHub ↗ Medium ↗ Email
Scroll or press Play · move your cursor through the nameScroll or press Play · tap the name
Senior Software Engineer at JoyzAI. My core is system design and design patterns — code built to extend and adapt. 3.5+ years full-time (5+ with internships) across backend, full-stack, team leadership, AI agents and Voice AI, in Node.js / TypeScript / AWS.
02 — Core
Built to change.scale.last.
I design software the way architects design towers: a foundation that never moves, rooms you can rebuild without touching the rest, and room to grow without ever starting over.
pageindex-ts ↗ Layered service ↗ On dependency inversion ↗
My core is architecture: systems with a stable foundation and replaceable parts, so products scale and change without rewrites. Patterns I use in production: Strategy (4 interchangeable call bridges), Factory (bridge routing), Adapter (one tool schema for Gemini, OpenAI and Bedrock), Registry (a new vendor is one class), Repository (queue storage over DynamoDB and SQS), Chain of responsibility (tool-call routing), Facade (PageIndex), Decorator (log decorators) and Dependency inversion throughout.
03 — Journey
5+ yrs
Intern to senior. One craft.
Backend, full-stack, team lead, AI agents, Voice AI: five roles since 2021, all in Node.js and TypeScript. Hover a step.
JoyzAI — Senior Software Engineer (Nov 2025 – now) and Software Engineer (Nov 2024 – Nov 2025). TeleCRM — Software Engineer and team lead (Jan 2023 – Nov 2024). IDesign.Market — Software Engineer intern (2022): solo-built a B2B platform, Lighthouse 55 → 95. Red Positive — Backend intern (2021). Earlier: Kilobyte Technologies, Magicstep Solutions, IEEE. B.Tech Computer Science, Aligarh Muslim University, CGPA 8.9.
04 — Skills
42 skills. One engineer.
Architecture to AI, backend to UI: the whole stack, used to ship real products. Press any key to see where I used it.
- Architecture
- System design · Design patterns · SOLID · Distributed systems · Serverless · Event-driven · Monorepos
- AI
- AI agents · Multi-agent · MCP · RAG · Hybrid search · Voice AI · OpenAI · Anthropic · Gemini · Bedrock
- Backend
- TypeScript · Node.js · Express · WebSockets · REST APIs · Puppeteer · JavaScript · C++
- Cloud
- AWS Lambda · SQS · EventBridge · S3 · EC2 · CI/CD · Firebase · Git
- Data
- MongoDB · Vector search · DynamoDB · Redis · MySQL
- Frontend
- Angular · React · Shared UI libraries · Web performance
Architecture: system design, design patterns, SOLID, distributed systems, serverless, event-driven, monorepos. AI: AI agents, multi-agent systems, MCP, RAG, hybrid search, Voice AI, OpenAI, Anthropic, Gemini, AWS Bedrock. Backend: TypeScript, Node.js, Express, WebSockets, REST APIs, Puppeteer, JavaScript, C++. Cloud: AWS Lambda, SQS, EventBridge, S3, EC2, CI/CD, Firebase, Git. Data: MongoDB, vector search, DynamoDB, Redis, MySQL. Frontend: Angular, React, shared UI libraries, web performance.
05 — System design
Designed for scale.
My floor plan for every system: clients plug into stable interfaces, stateless services scale out as load grows, queues and data absorb the spikes. Load goes up 14×; the design doesn't change.
joyz.ai ↗ Distributed writes, explained ↗
JoyzAI runs as a TypeScript monorepo of ~57 packages and 25 Lambda services. Channels: web chat, WhatsApp, WhatsApp Business API, Instagram, email, voice, Meta Lead Ads. Voice AI: four call bridges (Gemini Live, OpenAI Realtime, ElevenLabs, STT → LLM → TTS) at 1.6 s end-to-end, 11 Indian languages, 83 voices, for 56 clients at ~2,000 calls a day each. A serverless call queue (SQS FIFO, DynamoDB transactions, EventBridge) dials only inside calling hours and saves ~$300/month vs EC2. A public MCP server with 52 tools lets clients run JoyzAI from Claude and ChatGPT.
06 — Scale
×14
−57%
More traffic. Less cost.
TeleCRM: 500 → 7,000 concurrent requests and database cost $40 → $17 a day, while leading the team and building CI/CD from scratch.
At TeleCRM I led a team of developers, designed CI/CD from scratch, scaled the backend from 500 to 7,000 concurrent requests, cut database cost from $40 to $17 per day, and built shared Angular and Node libraries reused across apps and servers.
07 — AI agents
99%
Agents that hand off.
My provider-agnostic agent SDK runs Gemini, OpenAI or Bedrock with an orchestrator, guardrails and parallel tools. Click an agent.
How the agents are built ↗ Teaching AI to say “I don’t know” ↗
Built a custom agentic SDK, like the OpenAI Agents SDK but provider-agnostic (Gemini, OpenAI, AWS Bedrock incl. Claude and Nova), with a function-call loop, parallel tool calls, progressive tool loading and response guardrails. A multi-agent loop where agents collaborate reached 99% accuracy on user prompt tasks; every tool and function return is its own agent, triggered by intent.
08 — Retrieval
The right answer. Not a similar one.
Three retrievers vote by weighted rank, neighbours join, a reranker decides. Click the question to switch it.
The full recipe ↗ pageindex-ts · vectorless RAG ↗
Knowledge-base search fuses meaning, exact and fuzzy retrievers with weighted reciprocal-rank fusion (0.35 / 0.45 / 0.20), pulls in ±2 neighbouring sections and reranks with Voyage — so exact identifiers like X200 or INV-2291 always win.
09 — Footprint
67%
of JoyzAI’s code is mine.
≈199K of 298K lines of TypeScript and 6,114 commits in 22 months. That's my real history. Hover any day.
Since December 2024 I have authored about 67% of the TypeScript in JoyzAI's monorepo (≈199K of 298K lines, by git blame) across 6,114 commits; the voice stack, call queue and knowledge-base retrieval are 90–100% my code.
10 — The world
Let’s build what’s next.
- Open source
- pageindex-ts: vectorless RAG via LLM tree search
- Writing
- Hybrid retrieval · Redis mutexes · Multi-agent design
- Education
- Aligarh Muslim University: B.Tech CS · CGPA 8.9
Drag to orbit the world · click any station to fly there