Hi! I am

Swapnil Suman.

Thanks for visiting! Listed below are links to my socials. You can scroll down to know more about me.

Swapnil Suman — Software Engineer

About Me

👋 Hello, I’m Swapnil, a Computer Science Engineer with a passion for backend development, cloud computing, and DevOps. I’m also keeping a close eye on AI — it’s going to affect all of us in some way.

🚀 I build and ship real products — from fitness marketplaces to real estate CRMs. My work spans scalable backends, Infrastructure as Code, and end-to-end CI/CD pipelines.

🎥 Outside of coding, I love exploring the art of cinematography and video editing, blending creativity with technology.

🔍 As a kid, I was always tinkering with electronic gadgets,often bricking phones and creating chaos at home. That curious spirit has evolved into a drive to solve complex problems and build innovative solutions today.

I have hands on experience in these areas:
  • Backend Development
  • Infrastructure as Code(IAC)
  • Microservices Architecture
  • Event Driven Architecture
  • DevOps
  • Cloud Technologies

Experience(s)

Software Engineer - Rosche Systems
Sept 2025 – Present

Tendon is a live fitness marketplace connecting users with certified personal trainers. I designed and built the entire backend from the ground up — from the first line of code to production deployment — and continue to own and expand it today. The app is now live in Pune, India and available on Android. View on Google Play →

Tendon app screenshot 1
Tendon app screenshot 2
Tendon app screenshot 3
Tendon app screenshot 4
Tendon app screenshot 5
Tendon app screenshot 6

What I Built

  • Trainer Onboarding & Approval Flow — End-to-end registration pipeline for trainers, including identity verification via Surepass and Digilocker (Aadhaar, PAN, UPI). Trainers go through an admin-gated approval workflow before going live, keeping the marketplace quality-controlled.
  • Nearby Trainer Discovery — Geo-aware search powered by Meilisearch with a composable query builder. Users find available trainers in their area and filter by distance, category, rating, price, gender, and time-of-day availability — all in a single search call. Results sort by proximity or trainer score, with smart pagination that buffers against post-search availability filtering to guarantee a full page every time. Keeps results under 100ms even with multiple simultaneous filters.
  • Booking System — Real-time timeslot availability with support for solo, family, and co-bookings. Includes trial sessions so users can try a trainer before committing. Installment-based payment tracking built in. No platform fees charged to trainers or clients — designed for early-stage marketplace growth.
  • Trainer-Designed Fitness Journey — Trainers build custom multi-step questionnaire forms around a client’s goals (health profile, lifestyle, fitness evaluation, goal-setting). Based on client responses, the trainer designs a personalized fitness journey — assessment-to-plan in one flow. On form submission, an event-driven listener chain automatically advances the client to their next step with no manual orchestration needed.
  • Daily Workout Tracker — Clients track every session in real time: view their session calendar, start/complete workouts, mark individual sets and reps, reschedule, and cancel — all from a single step. Each completed session captures RPE score and notes. Clients sharing an account (e.g. family members) maintain fully independent progress records.
  • Custom Questionnaires — Trainers create, clone, and assign goal-based questionnaire templates. Responses feed directly into the progress workflow, keeping the trainer’s methodology intact across all clients.
  • Core API & Auth — Phone OTP, email/password, and social login (Google, Apple, Facebook) via Laravel Sanctum.
  • Ratings & Reviews — Nested replies, likes, and automatic trainer tier recalculation on new ratings.
  • Admin Panel — Built with Filament, covering trainer approvals, document verification, user management, reports, and role-based access control. Full management of the platform’s operations from a single interface.
  • Push Notifications — Firebase Cloud Messaging for trainer approval updates, trial reschedule requests, and availability alerts, with automatic pruning of invalid device tokens.
  • Observability — A dedicated monitoring VM running Grafana, Prometheus, and Loki, fed by Alloy agents and cAdvisor for container-level metrics — dashboards for live app health, container resource usage, and centralized log search, alongside Laravel Pulse for in-app metrics. Auto-generated API documentation via Scribe.
  • CI/CD & Deployment — End-to-end deployment pipeline on AWS: CodePipeline triggers on push to main, builds and pushes to ECR, and deploys to ECS. Infrastructure defined entirely as CloudFormation IaC.
  • Integrations — AWS SNS (SMS), AWS SES (email), AWS S3 (storage), Sentry (error tracking).

By the Numbers

  • 392 database migrations across a schema of 81 models
  • Versioned API (V1 + V2) with 57 controllers serving mobile and web clients
  • 269 test files covering features, integrations, and API endpoints

Stack: PHP/Laravel · PostgreSQL · Redis · AWS · Meilisearch

Freelance Full-Stack Developer - Private Client
Jan 2026 – Present

A real estate CRM built solo on weekends for a private client in Bangalore — and delivered. I own the entire product: the backend API, a cross-platform mobile app for field agents, and a web portal for admins. It’s actively used in production today.

What I Built

  • Mobile App for Field Agents — One codebase, runs on iOS, Android, Web, and PWA (Expo + React Native). Agents manage their leads, log calls, set follow-up reminders, and track daily performance — all from their phone.
  • Web Admin Portal — Admins manage property listings, import leads from Excel, monitor team performance, and view conversion analytics. Deployed on Cloudflare Pages.
  • Lead Pipeline — Buyer inquiries move through a full sales funnel: new → contacted → interested → negotiation → converted/lost. Every action is permanently logged — nothing is ever overwritten, full history always available.
  • Role-Based Access — Admins see all leads and agents. Agents see only what’s assigned to them. Enforced at the API level.
  • Property Catalog — Residential and commercial listings with image galleries, per-unit pricing (2BHK, 3BHK, etc.), and delivery date tracking.
  • Bulk Lead Import — Upload an Excel sheet and the system ingests it automatically with throttling to avoid overloading the database.
  • Agent Location Tracking — GPS check-ins stored in a partitioned database table, opt-out per agent.
  • Backend — Async Python API (FastAPI + SQLAlchemy), JWT auth, deployed on DigitalOcean.
rs-1rs-1
rs-4rs-4
rs-5rs-5
rs-6rs-6
rs-7rs-7
rs-8rs-8
rs-9rs-9
rs-10rs-10
rs-11rs-11
rs-12rs-12
rs-13rs-13
rs-35rs-35
rs-36rs-36
rs-14rs-14
rs-15rs-15
rs-16rs-16
rs-17rs-17
rs-18rs-18
rs-19rs-19
rs-21rs-21
rs-22rs-22
rs-23rs-23
rs-27rs-27
rs-28rs-28
rs-29rs-29
rs-30rs-30
rs-31rs-31
rs-32rs-32
rs-33rs-33
rs-34rs-34
rs-37rs-37
rs-38rs-38
rs-39rs-39

Stack: Python/FastAPI · PostgreSQL · Redis · React Native (Expo) · React 19 · TailwindCSS · DigitalOcean · Cloudflare Pages · S3

Backend Development Intern - The Lean Product Studio
Feb 2024 - Aug 2024

Rosche is a full-stack, enterprise-grade Risk and Vulnerability Management Platform designed to help security teams manage the full lifecycle of security engagements — from asset discovery and vulnerability assessment to remediation tracking and executive reporting.

Phase 1 — Foundation — NestJS backend scaffold, PostgreSQL schema, JWT auth, base CRUD for assets and engagements.

Phase 2 — Core Features — Vulnerability management, CVSS/DREAD scoring engine, RBAC and permissions system, React frontend with Material UI.

Phase 3 — Advanced Features — AI-powered CVSS generation (Google Gemini), PDF report generation, MeiliSearch full-text search across findings, assets, and engagements, Redis caching.

Phase 4 — Infrastructure — Docker/Nginx containerization, AWS ECS Fargate deployment, CloudFormation IaC, AWS Cognito with MFA.

Phase 5 — Polish & Testing — Playwright E2E tests, Storybook component documentation, admin panel (Refine), multi-tenancy hardening.

Architecture — 7-service Docker Compose setup: NestJS API · Admin API · React frontend · Admin panel (Refine) · PostgreSQL · MeiliSearch · Nginx reverse proxy. Cloud deployment via AWS ECS Fargate with ALB, KMS-encrypted secrets, and CloudFormation IaC.

Backend: NestJS · TypeScript · PostgreSQL (TypeORM) · Redis · MeiliSearch · AWS (ECS, S3, KMS, Cognito, SES)

Frontend: React 19 · Vite · Material UI v7 · Redux Toolkit · CKEditor 5 · ECharts · @react-pdf/renderer

Android Development Intern - KhetAI
Nov 2022 - Jan 2023

I contributed to the development KhetAI’s MVP, an android application designed to facilitate precision farming for farmers through machine learning predictions. My role involved seamlessly integrating Google Maps into the application, enabling precise mapping of farm boundaries.

I worked on the following tech stack:

  • Android Studio
  • Java, Kotlin
  • Firebase

Education

Bachelors in Computer Science & Engineering
2021 - 2025

Extracurricular Activities

  • Cinematography
  • Video Editing

Relevant Coursework: Operating Systems, Computer Networks, Computer Architecture, Cloud Computing, Data Structures & Algorithms, Database Management Systems

12th (CBSE)
2020
10th (ICSE)
2018

Key Projects

Fill My Form
Browser Extension TypeScript Privacy-first
Fill My Form
A browser extension that remembers your details — name, address, resume, and more — and fills out job applications, sign-ups and checkout forms for you with one click. No more retyping the same information on every website. It also has a 'Prepare File' feature — a lot of forms ask for a photo or document in a very specific size (like a 35x45mm passport photo under 100KB), and getting a random photo to match that is annoying. This lets you crop and resize a photo right there to fit the requirement, so you don't have to go hunt for a separate online image resizer. (Auto-detecting the exact requirement and doing this for you automatically is planned next.) Everything you enter stays saved only on your own device, never on a server. Still under active development.
IRCTC Bot
API Reverse Engineering Automation NodeJs
IRCTC Bot
A Bot for the Indian Railway Ticket Booking site IRCTC. It imitates network calls (and does not clicks buttons using puppeteer) with pre-saved details which helps increases your chance of booking a seat during peak hours (tatkal). It can also autofill captcha(s) for you which means you just need to scan the QR code and pay for your seat. Although it does not do any fancy stuffy ; just makes network requests but I count it as a key project of mine as it was very difficult to reverse engineer API payloads and headers. Due to legality issues,source code cant be made public but if you are an employer and would like to have a look please send an email.
Quick Quill
Blogging Site GraphQL
Quick Quill
Quick Quill is place where anyone can register with few clicks and start blogging. Still in testing phase but fairly stable. Users can write blogs which will only be made public once approved by the administrator. It uses GraphQL instead of traditional REST APIs. It uses MongoDB for storing the blog contents and uses React on the frontend. Although I wrote quite a bit of React for this project, I am convinced that frontend is something I do NOT enjoy. Hence you are seeing my portfolio made with HUGO :)
User Authentication System
ExpressJS JWT Javascript
User Authentication System
A user authentication system built with Node JS provides secure user registration, login, and access control for web applications. It makes sure that only authorized users can access restricted resources or perform certain actions.
Swapnil S
Every line of code written today is a technical debt or even a vulnerability for tomorrow. So make it count.

stop creating 40 file changes pull requests.

#vibecoding
#claude
#codex
43

Get in Touch

My inbox is always open. Whether you have a question or just want to say hi, I’ll try my best to get back to you!