Work

What I built, with what, and what changed. Numbers only where I measured them. Day-job projects are described from my own public write-ups; their code belongs to the company.

  1. Diagram: the app, REST and MCP all go through one command runner; the orchestrator runs one headless Claude Code session per ticket and posts heartbeats and cost receipts back.
    Own project, open source / 2026 ticket-tracker: a board where AI agents work tickets next to people A ticket tracker where coding agents are board members. A small orchestrator turns each ticket into a headless Claude Code session, posts what every turn cost, and shows a live health dot from a 60-second heartbeat. 52 commands are the only write path for the app, the REST API and the MCP server
  2. Diagram: a ticket moves to Approved, gets its own branch, services, database copy and preview URL, the agent works from the thread, and Git Push runs a scripted merge, CI, deploy and health check with rollback.
    Day job (Software Tech Lead, Oizom) / 2026 One stack per ticket: a dev pipeline where the ticket is the only interface Each approved ticket gets a branch in every repo, its own services, a copy of the dev database and a preview URL. An AI agent works it from the ticket thread; a script merges, deploys to dev and rolls back. Per-ticket sandboxes about 10x cheaper and faster than with full databases
  3. Screenshot: an air-quality heatmap over south-east England, masked to a polygon boundary on a Leaflet map.
    Day job (Software Tech Lead, Oizom) / 2025 Air-quality heatmaps: 5 seconds per image to 20 images in 30 ms Rebuilt an hourly Python heatmap cron as an on-request Go service with precomputed weights and JPEG output. Heatmaps are now available for any past time range, with custom settings. About 5 s per image (hourly cron, 4 GB RAM, 2 CPUs) to 30 ms for 20 images
  4. Diagram: a million JSON objects replaced by one Float64Array table of times by gases plus a string dictionary, read through one class.
    Day job (Software Tech Lead, Oizom) / 2025 1 million+ sensor readings in Node.js on a 2 GB server The backend ran out of memory on large sensor queries. I replaced millions of JSON objects with one typed-array table behind a small class, so the rest of the code never sees the buffers. Out-of-memory crashes on a 2 GB droplet stopped; memory graph stayed flat
  5. Diagram: a write from any service hits PostgreSQL, a trigger records the change and calls pg_notify, the backend listener invalidates the matching Redis keys.
    Day job (Software Tech Lead, Oizom) / 2025 A cache layer that invalidates itself from database changes Hand-written cache-aside code was serving stale reads and loading PostgreSQL. I moved caching into function wrappers and drove invalidation from database change events, so an edit from any service clears the cache. Invalidation no longer depends on every update function remembering it
  6. Screenshot: the log viewer, searching stored logs for one user and listing their API calls with linked request IDs.
    Day job (Software Tech Lead, Oizom) / 2025 Request-scoped logs: every failed request's full story by one ID Debugging a production 500 meant digging through unrelated logs. Each request now carries a context with its own log buffer; failed requests stream their logs to a store you can search by request, user, device or system job. Only failed or flagged requests are stored, so the log store stays small
  7. Diagram: the @panth977 packages and how they depend on each other: functions at the base, routes with Express and Hono adapters, cache with a Redis adapter, logs and tools.
    Own project, open source / 2024 @panth977: open-source TypeScript packages for schema-safe backends A set of small packages on JSR: functions with zod-checked inputs and outputs, routes that produce the Express or Hono handler and the OpenAPI docs from one schema, cache wrappers with a Redis adapter, and request-scoped logs. 9 packages published under @panth977 on JSR

Want something like this built? ppanth977@gmail.com




You have requested the PDF version of this page!
This page was not designed or optimized for your request.


You have a redirct option for your expected request:



  1. Checkout the PDF version: https://firebasestorage.googleapis.com/v0/b/panth-personal.firebasestorage.app/o/portfolio%2FPanth-Patel-Resume.pdf?alt=media



  2. Back to website: https://panth.vardayinitech.in/