Portfolio & Case Studies

From problem to production

The Day Rate Limiting Almost Killed Our Dashboard

React + Express dashboard with multiple user roles (admin, operator, complainant) running in parallel tabs.

"Everyone thought it was a CORS bug… but it was our rate limiter silently triggering mass logouts."

  • Fixed middleware order so CORS runs before rate limiting (CORS headers on 429s too).
  • Switched production rate limiting from per-IP buckets to per-user buckets using req.user.id (NAT-safe).
  • Killed the polling spiral by moving the dashboard to Socket.IO push updates instead of 3-second intervals everywhere.
Measurable Impact

~90–95% drop in API traffic, no more logout storms, and real-time updates without hammering the backend.

Read context
Express • Rate Limiting • CORS • Socket.IO • System Design

Real-Time Operational Pulse

Operational dashboard for high-stakes, multi-user queues.

"People were seeing stale data — so they’d click twice, or act on the wrong state."

  • Integrated SWR for intelligent background syncing and cache revalidation.
  • Added optimistic UI updates to eliminate perceived latency during critical actions.
Measurable Impact

No more UI flicker, fewer duplicate actions, and the data finally felt reliable during ops.

Read context
React • SWR • Real-Time Sync • System Design

Dashboard Performance Overhaul

Admin interface for a high-concurrency operations environment.

"Users were waiting 6+ seconds for a page to load 1.2MB of largely useless JSON."

  • Implemented 'Lite Projections' to fetch only visible fields for list views.
  • Offloaded complex status logic from the client to the database via computed fields.
Measurable Impact

80% reduction in initial payload and zero browser memory pressure.

Read context
Next.js • MongoDB • Performance • Optimization

Professional Experience

Apr 2022 - Present
Inspirebyte

Software Developer

Working on backend-heavy systems with a focus on APIs, automation, and long-term reliability. The work often sits close to product and business needs, thinking through how systems behave in production, how they scale, and how they stay maintainable over time. Much of the role involves making architectural decisions, integrating external systems, and building software that can evolve without becoming brittle.

Backend DevelopmentSystem ArchitectureProduct Development
Nov 2019 - Jan 2022
UrbanPro.com

Python Trainer

Taught Python through practical, problem-driven work, covering data wrangling, APIs, automation, and backend development. Much of the focus was on helping learners move from syntax to reasoning about systems and real use cases.

Problem SolvingAPI DevelopmentData Wrangling
July 2019 - Sep 2019
Career Launcher

Machine Learning Intern

Worked on applying machine learning and data analysis to financial market data, exploring price movements, trade signals, and portfolio behavior. The focus was on understanding patterns, risk, and diversification rather than chasing predictions.

PythonData AnalysisMachine Learning
March 2018 - July 2019
Freelance

Python Trainer & Consultant

Worked with developers to build confidence in Python by focusing on real problems and production-style work. Most of the work involved hands-on projects that helped bridge the gap between tutorials and systems used in practice.

PythonTechnical TrainingMentorship

Certifications

Dec 2022 - March 2023
Coursera

Machine Learning SpecializationView Certificate

Supervised LearningAdvanced Learning AlgorithmsUnsupervised LearningRecommendersReinforcement Learning
Aug 2018 - Nov 2018
Udacity

Machine Learning Foundation NanodegreeView Certificate

Supervised LearningNeural NetworksUnsupervised Learning

Education

2018 - 2020
IGNOU

Master of Computer Applications (MCA)

Computer Science

2015 - 2018
IGNOU

Bachelor of Computer Applications (BCA)

Computer Science

2014 - 2017
Government Polytechnic Dehradun

Diploma in Computer Science

Computer Science

Let's work through a problem

If you’re looking for a partner to think through architecture, systems, or technical decisions, let’s talk.