Full-Stack Engineer — SaaS Architecture · Multi-Tenancy · Backend Systems
I design and ship production software end-to-end. My current focus is building DentaFlow, a multi-tenant clinic management SaaS I'm architecting and developing solo — from schema-based tenant isolation in PostgreSQL to a Next.js 15 frontend with role-gated dashboards.
I care about the things that make software survive real use: clean data boundaries, reliable async pipelines, auth that doesn't leak, and APIs that don't surprise you.
| Layer | Technologies |
|---|---|
| Frontend | Next.js 15 (App Router), React, Zustand, React Query, TanStack Table, Tailwind, Shadcn/UI, Bootstrap, Framer Motion |
| Backend | NestJS (Fastify/Express.js), Node.js, Express.js, FastAPI |
| Databases | PostgreSQL (raw SQL, node-pg-migrate), Redis, MongoDB, MySQL |
| Messaging | RabbitMQ (DLX, correlation-ID idempotency), BullMQ |
| Auth | JWT + refresh rotation, Clerk, Firebase Auth |
| DevOps | Docker, GitHub Actions CI/CD, Vercel, cPanel/Apache |
| Payments | Stripe (subscriptions, webhooks, billing) |
| Other | PHP / Zen Cart, WordPress / WooCommerce |
Role: Founder & Lead Engineer (solo build)
A full SaaS platform for dental clinic chains. Built with correctness and isolation as non-negotiables from day one.
Architecture decisions worth knowing:
- Schema-based multi-tenancy in PostgreSQL via Supabase — each clinic gets isolated data without shared-table row filtering hacks
- Raw SQL over ORM — pg pool + node-pg-migrate for full query control and predictable migrations
- Tenant context propagation via
nestjs-clsand AsyncLocalStorage — no tenant ID passed through every function argument - RabbitMQ with dead-letter exchanges and correlation-ID-based idempotency — async jobs don't silently fail or double-process
- Email-first auth flow —
/api/auth/resolve-clinic?email=auto-resolves clinic slug so users never manually enter it; invite links pre-fill registration with?slug= - Role system — 5 hardcoded
SMALLINTIDs (super_admin → patient) with a sentinel UUID for cross-tenant super admin membership
Stack: NestJS on Fastify · PostgreSQL · Redis · RabbitMQ · Next.js 15 · React Query · Zustand
A production-grade analytics backend built as a portfolio project targeting high-value Upwork contracts.
- FastAPI with asyncpg (raw SQL) on TimescaleDB for time-series event storage
- Sliding-window rate limiter in Redis — per-site, per-IP enforcement
- JWT with refresh token rotation — short-lived access tokens, invalidation on rotation
- Multi-site architecture — one backend instance serving isolated analytics per site
- Nginx reverse proxy with TLS termination
- pytest integration suite covering auth, rate limiting, and ingestion correctness
Stack: FastAPI · TimescaleDB · Redis · asyncpg · Nginx · Docker
Sign-language course platform on shared hosting (cPanel/Apache). Scope included both feature development and full DevOps.
- GitHub Actions CI/CD — separate
deploy-stageanddeploy-productionjobs via rsync over SSH; production only deploys from a clean green stage - rclone pipeline — automated Google Drive uploads with
flock,--min-age, andrclone moveto prevent partial-file syncs; error-only logging to keep cron noise down - PHP video streaming — refactored a monolithic streaming script into
gdrive_helper.php; Plyr-based player with fullscreen and persistent controls
Stack: PHP · Zen Cart · GitHub Actions · rclone · Plyr
- Social media feed app — NestJS, Prisma, PostgreSQL, Next.js 14, Cloudinary, Zustand, JWT; full Docker setup
- Faith and Future — Next.js 14 marketing site with Framer Motion animations, Lodash, Tailwind, and full SEO
- Ultinity Gift Shop — WooCommerce on LiteSpeed with custom child theme and performance tuning
- WhatsApp CRM (WaAgentAI) — centralised WhatsApp inbox with agent assignment and AI reply suggestions
- Call analytics platform (CallConnectAI) — auto-transcription, searchable transcripts, and key-insight extraction for customer service teams
- Design multi-tenant SaaS backends — tenancy models, role systems, async pipelines, and the auth flows that tie them together
- Write raw SQL when correctness and performance matter more than ORM convenience
- Build CI/CD pipelines that ship safely — staging gates, environment parity, automated deploys
- Integrate Stripe for recurring billing: subscription lifecycle, webhook handlers, edge cases
- Ship full-stack features from database schema to deployed UI without waiting for handoffs
B.Sc. in Information and Communication Engineering BAUET · CGPA 3.72/4.0 · Been captain of Department's football team
- Portfolio: mdabdulwahab.vercel.app
- LinkedIn: linkedin.com/in/wahabmridul-ice
- Email: abdulwahab22400@gmail.com
- Upwork / Fiverr: Available for contract work


