Skip to content

Pune, India

Shubham Homkar

Full Stack Engineer

I’m a full-stack engineer with 5+ years of experience building and shipping web products across the software industry. I specialize in scalable applications from the ground up — React, Next.js, and Vue on the frontend, with Node.js, Fastify, Express, and Django on the backend.

I enjoy solving product problems end-to-end, with a strong focus on clean architecture, reliable APIs, and systems behind the UI. I’ve managed multiple projects in parallel under tight deadlines, and I’m driven by curiosity, continuous learning, and turning ideas into polished, production-ready software.

Shubham Homkar — professional portrait

About

End-to-end builder, leaning into the backend

I build complete web applications: interfaces, APIs, databases, authentication, background jobs, real-time features, and deployment. Day to day that usually means TypeScript across React/Next.js on the frontend and Node.js (Express or Fastify) or Python/Django on the backend, with MongoDB or PostgreSQL underneath.

I started by shipping product features in full-stack monoliths. Over time I got more interested in what sits under the UI — how APIs are structured, how data is modeled, how jobs run in the background, how auth and permissions stay consistent, and how a system behaves when traffic and complexity increase.

That curiosity is pushing me deeper into backend engineering, system design, and architecture — not because I claim to have run massive distributed platforms, but because I want the products I build to evolve cleanly as requirements grow.

Based in Pune, India. Open to full-stack roles with real backend ownership — APIs, data, and systems that need to last.

Focus

Building beyond the UI

I enjoy the parts of an application users rarely see — the pieces that decide whether a product stays reliable as it scales.

  • API design and clear service boundaries
  • Data modeling and query performance
  • Authentication, sessions, and authorization
  • Background jobs and queues
  • Caching and Redis where it earns its keep
  • Real-time communication over WebSockets
  • File uploads and object storage
  • Error handling, validation, and operational reliability

Experience

Where I've shipped

Product engineering roles across SaaS and full-stack delivery — increasingly focused on APIs, data, and system ownership.

  1. October 2025 — Present

    Sr. Full Stack Developer

    Purposefy Pvt. Ltd.

    • Building a multi-tenant ESG SaaS platform with organization isolation and role-based access.
    • Working across backend pipelines for metrics, storytelling, compliance, and reporting.
    • Contributing to AI-assisted product features such as RFP automation and impact simulation.
    • Owning full-stack delivery on Vue/Nuxt and Node.js services used by product teams in production.
  2. April 2022 — October 2025

    Full Stack Developer

    Koyal Technologies LLP

    • Shipped full-stack product work across Vue/Nuxt frontends and Node.js backends.
    • Implemented authentication flows (JWT/OAuth) and maintained REST APIs used by client applications.
    • Worked with MongoDB and PostgreSQL on data-heavy product features, including realtime surveillance pipelines.
    • Helped introduce Docker/Kubernetes-based CI/CD so releases were more repeatable.
  3. April 2021 — April 2022

    Full Stack Python Developer

    Innovative E Solutions

    • Built Django and Django REST Framework applications for e-commerce and booking workflows.
    • Integrated payment (Razorpay) and SMS (Twilio) into order and communication flows.
    • Owned features across the stack — models, APIs, and UI — in a small team setting.

Earlier roles in operations and manufacturing (IT Cube Solutions, Tata Motors) shaped how I think about process, quality, and shipping work that holds up under real constraints.

Work

Selected projects

Case notes on systems I've designed and built — focused on decisions and constraints, not feature checklists.

01

Engineering Workspace (EWS)

Personal SaaS foundation for engineering teams

  • Next.js
  • Fastify
  • Prisma
  • PostgreSQL
  • TypeScript
  • Zod
  • Cloudflare R2
Problem
Engineering teams need one place for planning, collaboration, and delivery workflows. Most tools either stay shallow on the backend or couple everything into a hard-to-evolve monolith.
What I built
A monorepo product foundation: Next.js web app, Fastify API, shared Zod validation packages, and a PostgreSQL schema for users, organizations, memberships, sessions, and invitations — aimed at becoming a full engineering workspace over time.
Architecture
API and web are separate apps. Auth is designed around JWT + httpOnly cookies, Argon2 password hashing, email verification tokens, and organization-scoped sessions. Prisma models ownership and roles (owner/admin/member/viewer). Object storage is wired through an S3-compatible Cloudflare R2 plugin for future uploads.
Engineering notes
Getting the multi-tenant data model right early — organizations, memberships, invitations, and sessions — so projects, issues, and deployments can grow on top without rewriting identity. Keeping shared validation in packages so frontend and API stay aligned.
What I learned
How to structure a TypeScript monorepo around clear service boundaries, and why auth/org primitives should be designed before feature surface area expands.
02

Laviio — Dental CRM & Aligner Workflow

Healthcare operations platform for dentists and labs

  • Next.js
  • Express
  • MongoDB
  • BullMQ
  • Socket.io
  • Zod
  • S3
  • Zustand
  • TanStack Query
Problem
Dentists and labs need coordinated workflows for patients, aligner setups, approvals, notifications, and files — work that cannot live only in a synchronous request/response cycle.
What I built
A full-stack CRM: role-aware Next.js clients for admin, dentist, and lab users; an Express API on MongoDB/Mongoose; background workers for email and notifications; and Socket.io bridges for chat and live notification delivery.
Architecture
HTTP API handles domain commands and queries. BullMQ queues (email, notifications, schedulers) move slow or fan-out work off the request path, with Bull Board for visibility. Socket.io keeps chat and notification UIs current. Uploads go through Multer and S3-compatible storage; Zod validates inputs at the edge.
Engineering notes
Keeping role-based patient/lab workflows consistent while notifications fan out to the right recipients. Coordinating real-time socket events with durable job processing so users still get updates if they reconnect later.
What I learned
When queues and websockets earn their place: anything that blocks a request or needs fan-out belongs outside the main HTTP path, with clear ownership between workers and the API.
03

Planora

Team workspace with boards, tasks, and multi-workspace auth

  • Next.js
  • Express
  • MongoDB
  • JWT
  • Zod
  • Multer
Problem
Teams need a shared workspace for planning work — boards, columns, tasks, members — with secure sign-in and the ability to switch between organizations.
What I built
A split-stack workspace: Next.js app shell and an Express REST API covering auth, workspaces, boards, columns, tasks, attachments, and member listing.
Architecture
Auth uses short-lived JWT access tokens plus httpOnly refresh cookies, with server-side sessions in MongoDB (revocation, expiry, device metadata) and refresh rotation. Workspaces use owner/member roles and an active-workspace pointer on the session. Kanban data is modeled as boards → columns → tasks with position updates and sequential human-readable IDs. Local file uploads cover avatars, logos, and task attachments.
Engineering notes
Designing session + workspace context middleware so protected routes always know who the user is and which workspace they are acting in. Modeling drag-and-drop task ordering and attachments without turning every board fetch into an expensive query.
What I learned
Refresh-token and server session design matters early. Workspace-scoped authorization is easier when active context lives with the session rather than being reinvented per route.

Approach

How I think about systems

Engineering habits

  • Prefer a simple architecture until complexity is justified by a real constraint.
  • Understand the trade-offs behind a choice — not just the happy path of a tutorial.
  • Build and break small systems to learn how pieces behave under load, not only read about them.
  • Write TypeScript and APIs that the next engineer (often future me) can change safely.
  • Pick tools for the problem: Postgres or Mongo, monolith or services, queue or sync — based on needs, not trends.

System design — studying & applying

Alongside production work, I actively study and experiment with system design ideas so I can apply them thoughtfully when a project needs them:

  • Monolith vs service boundaries
  • API gateways and rate limiting
  • Redis caching patterns
  • Message queues and event-driven flows
  • Horizontal scaling and load balancing basics
  • Database indexing, replication, and partitioning concepts
  • Kafka-style log/event models (learning, not claiming production ownership)

Skills

Tools I use to ship

Stack I reach for when building full-stack products — especially when the hard problems sit behind the UI.

Languages & runtime

  • TypeScript
  • JavaScript
  • Python
  • Node.js

Frontend

  • React
  • Next.js
  • Vue.js
  • Zustand
  • TanStack Query
  • Tailwind CSS

Backend & APIs

  • Express.js
  • Fastify
  • Django
  • REST APIs
  • Zod
  • JWT / sessions
  • Socket.io

Data & jobs

  • PostgreSQL
  • Prisma
  • MongoDB / Mongoose
  • Redis
  • BullMQ

Infrastructure

  • Docker
  • Git / GitHub
  • GitHub Actions
  • Cloudflare R2
  • AWS S3

Practices

  • System design (learning)
  • API design
  • AuthN / AuthZ
  • Multi-tenant SaaS

Contact

Let's talk about the work

Looking for full-stack roles with real backend ownership — APIs, data modeling, auth, jobs, and systems that need careful design. Happy to walk through architecture decisions from recent projects.

Email me