online/v5.0 · build 2026.05.08/Pakistan → remote

osama
hashmi.

Full-stack engineer building the parts users don't see. APIs that don't fall over, microservices that talk to each other, payment rails, real-time voice/SMS over WebRTC, and the React Native frontends that ride on top.

years shipping
04yrs
since Jul 2021 · 3 teams
primary stack
node · nest
react native
k8s · docker · aws · stripe · twilio

./identity.json

{
  "name":    "Osama Hashmi",
  "role":    "full_stack_engineer",
  "focus":   ["apis", "microservices", "mobile"],
  "runtime": "node · nest · react-native",
  "deploy":  "k8s · docker · aws",
  "replies": "~within 24h"
}

$ uptime

// last 4 years, in numbers
shipping_years    04  // since 2021
services_owned    07  // across 3 teams
languages         06  // ts · py · rust · sol · go · js
deploy_speedup    −50%  // k8s pipeline tuning
system_efficiency +60%  // at BufferSol
realtime_scale    +150% // at Web Stacking
section / 01The Stack

What I build, drawn out.

Most portfolios list tools. I draw systems. Hover any node to see how it fits — from a React Native client all the way down to a Kubernetes pod running NestJS talking to Stripe and a Postgres replica.

● live topologyfig.1v4 · productionhover any node
Service topology: clients (RN/web/web3) → edge (nginx/gateway/websockets) → services (core/payments/comms/contracts) → data (postgres/redis/s3/k8s)CLIENTSEDGESERVICESDATA / EXTReact NativeiOS · ANDROIDReact + ReduxWEB · SPAWeb3 dAppETHERS · WAGMINginxREVERSE PROXYAPI GatewayAUTH · RATELIMITWebSocket HubREAL-TIMENestJS · core-apiMICROSERVICENode · payments-svcSTRIPE · PAYPALTwilio · comms-svcVOICE · SMS · WEBRTCSolidity · contractsEVMPostgresPRIMARY · REPLICARedisCACHE · QUEUES3 + IPFSOBJECTS · NFTSKubernetesEKS · DOCKER
primary path sync call async / event↳ animated packets show production traffic
section / 02Deploy Log

Three teams, one philosophy.

Pick the boring tool that scales. Test the parts that move money or messages. Automate the deploy on day one. Below: a chronological log of what shipped.

MAY 2022 → AUG 2025/ 3y · 4mo

Full Stack Engineer

@ BufferSol Technologies · New York, NY

Built a full-stack product on React Native + NestJS, deployed to Kubernetes. Owned the mobile client and the services it talks to end-to-end — auth, payments, push, plus the IDO‑CRM (accounting, sales pipelines, security staffing, ATIS complaint workflow).

React NativeNestJSKubernetesDockerPostgresStripeAWS
+60%efficiency
−50%deploy time
07services
OCT 2021 → APR 2022/ 7 mo

Backend Engineer

@ Web Stacking · Islamabad, Pakistan

Engineered a microservices architecture wired into Twilio Voice/SMS and WebRTC, routing real-time calls and messages between web users and phone lines. Containerised the lot with Docker, orchestrated on Kubernetes.

Node.jsMicroservicesTwilioWebRTCDockerKubernetes
+150%scalability
voice+ sms
JUL 2021 → SEP 2021/ 3 mo

Mobile Developer

@ KawanBantu · Jakarta

First production gig. Built interactive UI with React + Redux, profiled the client, and cut perceived load on the heaviest screens roughly in half.

ReactReduxJavaScript
+50%client perf
section / 03Selected Work

Three projects, three problems.

From an NFT marketplace with on-chain provenance, to a Twilio-backed comms clone, to a CRM that quietly runs a security firm's back office. Click any card for the full case.

section / 04Toolbelt

Things I reach for without thinking.

Highlighted = primary tools — what I'd start a new system in tomorrow. The bar is intuitive frequency, not skill level. Everything listed I've shipped with.

languages06
TypeScript
JavaScript
Python
Solidity
Rust
Go
backend06
NestJS
Node.js
Microservices
WebSockets
Nginx
Flask
frontend / mobile04
React Native
React
Redux
Expo
infra · deploy07
Docker
Kubernetes
AWS
GitHub Actions
Serverless
Azure
Render
integrations06
Stripe
Twilio Voice
Twilio SMS
Twilio Video
PayPal
Custom Bank Gateways
data04
Postgres
Redis
S3
IPFS
web304
Solidity / EVM
Ethers / Wagmi
NFT contracts
IPFS pinning
education
B.Sc Computer ScienceCapital University of Science & TechnologyIslamabad, Pakistan
section / 06Get In Touch

Send a brief, get a response.

I'm best on long-running engagements where I can own a service end-to-end — backend, mobile, deploy. Architecture and Twilio / payments consults also fine. Drop a note with what you're building.

contact · POST /v1/inbox
nameOsama Hashmi
timezonePKT · UTC+5
overlap~6h EST · ~4h PST
replies~within 24h
osama_hashmi() · full-stack engineer · v5.0 · build 2026.05.08
crafted with html, css, and four years of muscle memory
┌─[ end of file ]─┬─[ thanks for reading ]─┬─[ →  /writing ]─┐
back to /home
~/writing/ v0.4
04 entriesupdated 2026.05
writing/changelog · 4 entries/filed under: technical

the /writing
directory.

Notes I write when something in production teaches me a lesson I don't want to forget. About boring choices, realtime plumbing, deploy pipelines, and the difference between shipping and shipping-shipping.

~/writing/v0.4/architecture

The boring stack is the right stack.

I've watched three teams burn a quarter trying to live on the bleeding edge. The fourth one — mine — picked Postgres, NestJS, and a boring CI pipeline, and shipped before the others finished their Helm chart. Boring is a feature.

The seduction of the new

Every six months a new database, framework, or runtime shows up with a benchmark graph and a Twitter thread. The graph is real. The graph is also irrelevant for the system you are about to build. You are not Discord. You will not have a hundred million concurrent users by Thursday.

What you will have by Thursday is a deadline, two engineers, and an investor demo. The boring stack is the one where the answer to why is this slow is on Stack Overflow already, written by someone five years ago, who got it wrong, and someone else corrected them in the comments.

Boring is the technology equivalent of a calm cofounder.

What I actually mean by boring

Postgres for almost everything that needs to be remembered. JSONB if you really need flexibility, but a real schema first. Node and NestJS on the API layer because I can hire for them and the patterns are codified. Redis for queues and cache. Docker because we already know it. Kubernetes only when the team is at least four engineers — otherwise a single VM with systemd will outperform your Helm chart for two years.

I am not against new things. I just want to spend my novelty budget on the product, not the runtime.

Where I broke this rule and regretted it

On one project we picked an exotic event-sourced store because the diagrams were beautiful. The diagrams stayed beautiful. The on-call rotation did not. We migrated to Postgres with an outbox table four months later and shipped the next feature the same week.

On another, we tried to put everything on serverless functions on day one. The cold starts ate the latency budget on a real-time voice product. We moved the hot path to a long-running NestJS pod, kept the truly stateless edges on functions, and the customer never noticed the migration — only the response times.

The new-tech rule I've landed on

One novel piece per service. If the database is exotic, the framework should be familiar. If the framework is brand new, the database should be Postgres. Never two unfamiliar bets in the same blast radius. That single rule has saved me more weekends than any clever architecture.

← Previous
React Native, four years in: what stuck.