Available now: full-time or contract
Hi, I'm Omer
Software engineer, backend-focused, with six years of experience. Node.js, TypeScript, NestJS and PostgreSQL.
OH

About

I build REST APIs in Node.js and NestJS on PostgreSQL, along with the reliability work around them: idempotent writes, retries with backoff, queue-based processing and scheduled jobs. I also integrate LLMs, with schema-validated output and tiered model routing. I have been working independently for UK SaaS clients since January 2026, and I am finishing an MSBA at KSBL (graduating December 2026), which is moving me toward data / analytics engineering and AI-assisted backend roles. I am looking for work as soon as possible: remote, Karachi on-site, or relocation after December 2026.

Work with me:
Fiverr
Upwork

Work Experience

  • Spot: UK B2B workplace wellbeing SaaS on TypeScript and NestJS. Stripe Connect tiered subscription billing, GDPR data handling (hard delete, anonymisation, export), timezone-aware processing. 357 automated tests, 18 database migrations. Deployed on Render, never launched to users.
  • Spot cost drivers: the deployment was heading for its hosting provider's usage ceiling. I traced it to queue settings, an uptime check waking the database every minute, and overlapping scheduled jobs, and fixed each at its source instead of upgrading the plan.
  • Spot missed records: daily processing silently left out contacts and accounts because it filtered on the wrong field. I fixed the cause and verified end to end against a local database reproducing the deployed data.
  • AgencyView: reporting platform for a UK SaaS founder. PostgreSQL-driven engine with 13 report types and output filtered by user role; ingestion as a scheduled pipeline with bounded concurrency, retries and structured logging.
  • spot-nlp-sidecar: a Python FastAPI service built to run alongside Spot. PII redaction with spaCy, outlier scoring with an Isolation Forest, and sentiment gating with sentence embeddings.
  • Client work in Denmark and Pakistan. The UK client was originally a Blocship client; the account was handed to me directly and I have run it myself since January.

Education

Karachi School of Business & Leadership (KSBL)
Master's in Business Analytics (final semester, CGPA 3.12 after the 2nd semester)
2025 - Dec 2026
SZABIST, Karachi
BSc Computer Science
2016 - 2020

Skills

Backend

Node.js
TypeScript
JavaScript
NestJS
Express
PHP (Laravel, Lumen)
Python (FastAPI)
REST / OpenAPI
JWT
WebSockets / Socket.io

Data

PostgreSQL
MySQL
Redis
BullMQ
TypeORM
SQLite
pgvector
Stored procedures
Migrations

AI / LLM

Claude, OpenAI and Gemini APIs
Tiered model routing
Zod-validated output
LangGraph
Langfuse
PII redaction

DevOps & testing

Docker
nginx
GitHub Actions
Sentry
Pino
Jest
Playwright
AWS (Lambda, RDS, S3, EC2)
Stripe Connect

Also working across

React
Next.js
Tailwind
React Native / Expo
Power BI
Pandas
Matplotlib
Projects

Backend systems and own projects

Client work, work from my roles, and my own projects.

Groops

Blocship

Backend for a platform for organisations. NestJS on Clean Architecture; the backend moved from Lumen to Laravel to NestJS.

16 modules · 73 migrations · 81 entities · 472 test suites

NestJS
TypeScript
PostgreSQL

Spot

Independent, deployed on Render, never launched

UK B2B workplace wellbeing SaaS: tiered subscription billing, GDPR data handling and timezone-aware processing.

357 automated tests · 18 migrations

NestJS
TypeScript
Stripe Connect
PostgreSQL

AgencyView

Independent

Reporting platform for a UK SaaS founder. Deterministic report engine, output filtered by user role, ingestion as a scheduled pipeline with retries.

13 report types

PostgreSQL
TypeScript

spot-nlp-sidecar

Independent, built to run alongside Spot

Python FastAPI service with three endpoints: PII redaction, outlier scoring and sentiment gating.

3 endpoints

FastAPI
spaCy
scikit-learn
sentence-transformers

MaidMe

Blocship

Home-services marketplace for providers in Norway. A NestJS socket server added beside a live Laravel backend for real-time booking management and in-app support chat.

Socket server beside a live backend

NestJS
Socket.io
Laravel

QR-code points programme

Blocship, vehicle-parts distributor

NestJS backend for point issuance, redemption and transfer, with balance changes written transactionally so a failed transfer cannot leave value in two places. Includes the points reporting the distributor used to pay back its buyers.

Transactional balances

NestJS
PostgreSQL

ALLDost (Active LifeStyle Dost)

Own project

Fitness and calorie app that turns plain-language meal and workout entries into structured records, with Gemini output validated by Zod. About 5 friends-and-family users: a portfolio product, not a business. Every AI-generated food entry is held as unverified until a reviewer approves or corrects it. Native app (React Native / Expo) in progress.

15 Playwright reviewer tests

Next.js
Supabase
Gemini API
Playwright
Vercel

FiTE

Sybrid

Bilingual (English/Japanese) hiring portal for IT engineers, with role-based access across four user groups, OWASP-aligned security and an admin panel.

4 user groups

Laravel
MySQL
Bootstrap
AWS EC2

Mercenary Starter API

Open source

Dockerised, modular NestJS starter for SaaS backends, with access control, billing, security headers and API docs already wired in.

Open-source backend starter

NestJS
PostgreSQL
Redis
Stripe
Docker
Swagger

TaskBreak

Own project

Agentic workflow demo that breaks long, unstructured project briefs into ordered, structured checklists. GitHub Actions for continuous integration.

Task decomposer

Next.js
TypeScript
Gemini Pro
Supabase
GitHub Actions

Pro-Forma Real Estate Investment Engine

Own project

Calculator for real-estate equity cascades, including IRR hurdles and waterfall cash allocations, replacing a bulky Excel model.

Waterfall calculations

Python
Streamlit
Pandas

Sales Analytics Pipeline Dashboard

Own project

Turns raw CSV sales data into interactive Profit & Loss dashboards, with cleaning scripts and exportable reports.

P&L dashboards

Python
Streamlit
Pandas
Playground

Interactive pieces built for this site

A terminal, a simplified architecture explorer and a simulated API console.

Developer shell

Type commands to query my experience and projects.

omer@portfolio:~

Omer Bin Habib - Developer Console v1.0.0

Type help to view available system commands or curl -X GET /api/stats to query developer metrics.

omer❯

Architecture explorer

Pick a project to see how its main pieces fit together.

Spot: Billing, GDPR Handling and Scheduled Processing

357 tests | 18 migrations

Backend for a UK B2B workplace wellbeing SaaS. Deployed on Render but never launched to users. This is a simplified view of how its main pieces fit together.

[INPUT]
REST API

Requests validated and routed by NestJS modules.

⚡ NestJS / TypeScript
[EXTERNAL]
Tiered Billing

Subscription tiers handled through Stripe Connect.

⚡ Stripe Connect
[PROCESS]
Scheduled Jobs

Daily processing that is timezone-aware, with overlapping runs fixed at the source.

⚡ Queues / cron
[PROCESS]
GDPR Handling

Hard delete, anonymisation and data export.

⚡ NestJS
[DATA]
Database

18 migrations on PostgreSQL.

⚡ PostgreSQL
Simplified diagramClick a tab to switch project

Notes

❯ Cost drivers

The deployment was heading for its hosting provider's usage ceiling. I traced it to queue settings, an uptime check waking the database every minute, and overlapping scheduled jobs, and fixed each at its source instead of upgrading the plan.

❯ Missed records

Daily processing silently left out contacts and accounts because it filtered on the wrong field. I fixed the cause and verified end to end against a local database reproducing the deployed data.

❯ Repeat safety

Writes are idempotent, external calls retry with backoff, and slow work runs on queues instead of in the request path.

REST API explorer

Simulated requests against a mock API. Nothing is sent anywhere.

interactive-api-swagger
Base URL: localhost:3000

Returns professional summary and core tech stacks.

Contact

Get in touch

Hiring, or have a project in mind? Send a message below or write to omer.habib62@gmail.com.

GitHub
LinkedIn