SHANTANU PAWAR / PORTFOLIO
ENGINEERING. EXPLORATION. EVERYTHING IN BETWEEN.LET THE RIDE BEGIN.
sp.ENGINEER BY TRADE.
CURIOUS BY DEFAULT.
PERSONAL PORTFOLIO / VOL. 01PUNE, INDIA IST

SHANTANUPAWAR

BUILDEROBSERVERMOVIE FAN
BACKEND ENGINEER
AT KURLO LABS

I turn complex problems into
software that feels simple.
And find stories in everything else.

EXPLORE MY WORLD
CODE, CURIOSITY & A LITTLE CINEMA.SCROLL TO DISCOVER
01 / SELECTED WORK

Ideas made
real.

Products I’ve helped ship.
Problems I’ve enjoyed solving.

THE REST OF THE EXPLORATION

The GitHub archive (06)

Visit GitHub
Public repositories
02

JD

JD’s Lounge — a TypeScript web project.

TypeScript
03

stockflow

Multi-warehouse inventory, audit trails, and low-stock alerts for B2B teams.

Python
05

Event Mangment

An event management web project built with Next.js.

TypeScript
02 / THE HUMAN BEHIND THE CODE

Built on
curiosity.

PUNE ROOTS. AN OPEN MIND.

I’m Shantanu. A backend engineer who cares about how things work — and how they feel.

I work at Kurlo Labs, building the systems behind real products. My work on Joyne spans payments, ticketing, authentication, and real-time data. I enjoy connecting the moving parts into something reliable.

My toolkit crosses Python, TypeScript, databases, and AI-powered workflows. Away from the keyboard, I’m usually noticing a frame worth capturing, getting lost in a film, or finding a song to keep on repeat.

CURRENTLY

Backend Engineer

Kurlo Labs · Pune, India
Backend

Python / Node.js / FastAPI / Express / REST APIs

Data

PostgreSQL / MySQL / Convex / SQL

Interfaces

TypeScript / Next.js / React / Angular

AI & tooling

LLM integrations / Docker / Git / CI/CD

Quality

PyTest / Playwright / Postman / API testing

A LITTLE BACKGROUND

MCA · PES Modern College of Engineering, Pune
2023–2025 · GPA 7.89

B.Sc. Computer Science · College of Computer Science & IT, Latur
2020–2023 · GPA 9.75

Download my résumé
shantanu@pune:~~/notes · 3 entries
03 / FIELD NOTES

A few notes
from the build.

Payments, data, and AI-assisted engineering.
Small ideas that make a difference.

payments-after-checkout.md
#backend

Payments aren’t done at checkout.

The interesting work starts when events arrive late, twice, or out of order.

Read note

A successful checkout is only one moment in a payment lifecycle. The backend still needs to connect a transaction to the right registration, verify its authenticity, and decide what state a ticket should be in.

Treat incoming events as things that can repeat. Give each event a stable identity, verify it before acting, and make the state change safe to run again. A repeated notification should not create a second ticket or a second charge record.

Keep the payment record and ticket state easy to inspect. Clear logs and explicit states make it much easier to understand a failure than a single success flag ever will.

inventory-data-models.md
#data

Inventory starts with the model.

A product is not a stock count. A warehouse is not a product attribute.

Read note

The same product can exist in several warehouses. Keeping a product separate from its inventory lets each warehouse hold its own quantity without duplicating the product itself.

A junction table makes that relationship explicit. An inventory movement then becomes a change to a particular product and warehouse pair, with a record explaining what changed.

Correctness matters as much as query speed. Use atomic transactions for related writes, keep an audit trail, and store money in a decimal representation. These choices support the multi-warehouse model used in StockFlow.

ai-assisted-testing.md
#ai-&-quality

Let AI suggest. Let tests decide.

Useful assistance comes from better questions and verifiable answers.

Read note

AI can help brainstorm edge cases, draft test ideas, and explain an unfamiliar failure. It is most useful when the task is specific and the expected behaviour is clear.

Generated tests still need review. A test that repeats an implementation may prove very little. A stronger test describes the behaviour that matters: an unauthorised request is rejected, a repeated event stays safe, or an invalid input leaves stored data unchanged.

Keep the feedback loop grounded in running code. Use AI to widen the search for mistakes, then use test results, logs, and the actual system behaviour to decide whether the work is correct.

04 / OFF THE CLOCK

More than
a commit.

Frames, films, and frequencies.
The things that keep me curious.

A PHOTOGRAPHIC ENTHUSIAST

Life, through
my lens.

Sometimes the best thing to do
is stop, look, and take the shot.

05 / START A CONVERSATIONPUNE, INDIA · IST

Good things start
with a hello.

A project, an idea, a great movie recommendation.
I’m always up for a good conversation.