Skip to content
Hamza Zafar

Hamza Zafar Full Stack Developer

I build web products end to end: the interface people use, the APIs and data models behind it, and the infrastructure it runs on. Most of my work is SaaS, with payments, real-time features and AI that answers from a user's own data.

Four stacked layers of a web product, interface, API, data and infrastructure, with a request passing through each of them.InfrastructureDocker, AWSwebapijobsDataPostgreSQL, RedisAPINode.js, ExpressPOST /checkoutGET /plansWS /chat201 createdInterfaceReact, Next.js

Day to day I work in

  • React
  • Next.js
  • TypeScript
  • Node.js
  • Python
  • PostgreSQL
  • AWS

About

I'm a full stack developer who works across the whole product: React and Next.js interfaces, Node.js and Python services, relational and document databases, and the Docker and AWS setup they ship on.

Most of what I build is SaaS for other businesses. That tends to mean the parts that have to be right rather than just visible: payment webhooks that must never charge twice, permissions that differ by tenant and plan, jobs that keep running after the request has returned, and AI features that answer from a user's real data instead of guessing.

I like owning a feature from schema to screen, and leaving code the next developer can read.

Focus
SaaS platforms, from first schema to production
Languages
TypeScript, JavaScript, Python
Currently
Full Stack Developer at The Hexa Town

Tech stack

Grouped by layer, from what people touch down to what it runs on: the same layers as the stack at the top of the page.

  1. Interface

    Typed, server-rendered React applications.

    • React
    • Next.js
    • TypeScript
    • JavaScript
  2. Services

    APIs, real-time servers and background workers.

    • Node.js
    • Express.js
    • Python
    • REST APIs
    • WebSockets
    • Socket.IO
  3. Data

    Relational first, with documents and vectors where they fit.

    • PostgreSQL
    • MySQL
    • MongoDB
    • Supabase
    • Prisma
    • Redis
  4. Infrastructure

    Containers, pipelines and the servers in front of them.

    • Docker
    • GitHub Actions
    • CI/CD
    • AWS
    • Nginx
  5. Integrations

    Identity, money, AI and everything else a product talks to.

    • JWT
    • OAuth
    • Stripe
    • AI / RAG
    • Third-party APIs
    • Queues

Experience

  1. Full Stack Developer

    The Hexa Town

    Building SaaS platforms for clients across the full stack, from database schema and APIs to the dashboards their customers use.

    • Build and maintain Next.js front ends backed by Express and Supabase services on MySQL and PostgreSQL.
    • Own payment flows end to end: Stripe Checkout, Connect accounts, subscriptions and idempotent webhook handling.
    • Ship real-time features with Socket.IO and LiveKit, and background processing with BullMQ, Redis and scheduled jobs.
    • Integrate AI features, including retrieval-augmented chat over pgvector and LLM-generated plans.
    • Containerise services with Docker and deploy them through CI/CD pipelines.

Featured projects

Products I've built across the stack, each with a map of how its parts connect.

6-Pack Macros

A coaching platform where fitness coaches run their whole business: clients, macro targets, meal plans, workouts, check-ins, messaging, video calls and paid coaching packages.

  • TypeScript
  • Node.js
  • Express.js
  • Prisma
  • MySQL
  • Next.js
  • Redis
  • BullMQ
  • Socket.IO
  • LiveKit
  • Stripe Connect
  • OpenAI
  • Pinecone
  • AWS S3
  • Docker
  • Sentry
6-Pack Macros system overviewCoach and client apps call an Express API, which connects to real-time services, MySQL, a Redis queue feeding background workers, and external services for Stripe, OpenAI and Pinecone. Workers write media to S3.Stripe Connectcheckout, webhooksOpenAIplans, scanningPineconeworkout searchCoach & client appsNext.js dashboardExpress APITypeScript, PrismaRedisBullMQ queuesWorkers & cronjobs, resetsReal-timeSocket.IO, LiveKitMySQLvia PrismaAWS S3media, ffmpeg
6-Pack Macros system overview. Scroll sideways to see all of it; tap a note below to trace it.

Engineering notes

The problem

Online coaches usually stitch together spreadsheets, chat apps and payment links. 6-Pack Macros puts program delivery, communication and billing in one place, for both the coach and their clients.

What I built

Full stack work across the TypeScript Express API and the Next.js coach dashboard: payments, real-time messaging and calls, AI-assisted planning, background jobs and permissions.

Features

  • Coaches sell their own packages to clients through Stripe Connect, alongside a SaaS subscription for the coach
  • Real-time chat and video calls between coaches and clients
  • AI-generated meal plans, workout drafts and macro scanning
  • Plan-based permissions, usage limits and credits
  • Lead tracking and check-ins for coaches managing many clients

Clarity / North AI

A decision-making platform. People log decisions, run guided Clarity Break sessions and complete a profile assessment; North, the built-in AI assistant, answers from that history.

  • Next.js
  • TypeScript
  • Supabase
  • PostgreSQL
  • pgvector
  • OpenRouter
  • Stripe
  • TanStack Query
  • Redux Toolkit
North AI retrieval flowUser records are embedded on write and stored in a pgvector knowledge base. Questions from North AI chat retrieve matching context by similarity, which is passed to the language model to produce a reply.User recordsdecisions, sessionsEmbed on writeOpenRouterKnowledge basepgvector, HNSWNorth AI chatwidget, full pageRetrieve contextcosine similarityGenerate replyOpenRouter LLM
North AI retrieval flow. Scroll sideways to see all of it; tap a note below to trace it.

Engineering notes

The problem

General-purpose AI chat knows nothing about the person asking. North retrieves the user's own decisions, sessions and profile before it replies, so it can point to patterns in their actual history.

What I built

Built the retrieval layer behind North, the multi-conversation chat, the multi-module profile assessment with scoring, and the Decision Log and Clarity Break flows on Next.js and Supabase.

Features

  • Decision Log and guided Clarity Break sessions
  • Profile assessment with scoring and archetype results, with module retakes
  • North AI chat, available as a floating widget and a full-page view with multiple conversations
  • Stripe subscriptions for paid access

Engineering capabilities

The problems I'm usually brought in to solve, and how I approach them.

  • Payments that reconcile

    Stripe Checkout, Connect and subscriptions, with signature-verified webhooks, idempotency records and explicit retry behaviour per event, so a replayed event never charges or credits twice.

    In practice: 6-Pack Macros

  • Real-time systems

    Chat, presence and calls over Socket.IO and LiveKit, with authenticated sockets and server-side validation of every event rather than trusting the client.

    In practice: 6-Pack Macros

  • AI grounded in real data

    Retrieval-augmented generation over pgvector and Pinecone: embed records when they are written, retrieve by similarity at question time, and keep prompts and model choice configurable.

    In practice: Clarity / North AI

  • Multi-tenant access control

    Role- and plan-based permissions enforced in middleware and in the database, with usage limits and credits tracked per account.

  • Work after the request

    BullMQ queues on Redis and scheduled jobs for emails, media processing, monthly resets and clean-up, kept out of the request path so APIs stay fast.

  • Shipping and running it

    Docker images, GitHub Actions pipelines, Nginx in front, and error tracking in production, with staging environments that match what ships.

Contact

Building something that needs one developer across the front end, back end and deployment? Send a short note about the product and where it's stuck.

link2hamzazafar@gmail.com