HANAWI SYSTEMS

Operations automation studio · n8n, Airtable, Supabase, Next.js

Available, Sep 2026

I turn manual operations into systems that run themselves.

I'm Hisham Hanawi. I map how your operation actually runs, then build the connective tissue that runs it: the workflows, the data layer, the dashboards and the integrations. I build for founders and operators at companies of 5 to 100 people.

What I build

The symptoms are the same everywhere: data copied by hand, follow-ups that depend on memory, two systems that disagree, spend with no ceiling. Not one-off zaps: I map how the operation actually runs, then build the connective tissue that makes it run itself. Everything ships idempotent and safe to re-run, audit-logged, and gated on a person where judgment matters.

SYSTEM / RECORD FLOWDETAIL A
WEBHOOK VALIDATE + DEDUPE ROUTE BY CONFIDENCE HUMAN GATE WAITS FOR A PERSON CONFIDENT WRITE TO DATA LAYER ON FAIL RETRY QUEUE AUDIT LOG NEW RECORD KEYED ON A STABLE ID NO SILENT GUESSES UPSERT, NEVER DOUBLE WRITES ATTRIBUTED IDEMPOTENT AND SAFE TO RE-RUN
DETAIL A How one record moves through a system I build.
ServiceWhat it meansRuns onOpen
Automation audit and rescue Fix, harden and document fragile n8n and Make workflows that everyone is afraid to touch. N8N · MAKE →
Operations automation build Map a process, then build the n8n or Make engine that runs it, gated on a human where it matters. N8N · MAKE →
Data layer and migrations Airtable and Supabase schemas, idempotent sync scripts, Airtable to Supabase and Make to n8n migrations. AIRTABLE · SUPABASE →
Internal tools and dashboards Next.js apps and KPI dashboards so a team operates from one screen, fed by the automated data layer. NEXT.JS · VERCEL →
Systems integration CRM, billing, outreach and data connected through custom API integrations that survive bad days. REST · WEBHOOKS →
AI in the workflow Language-model steps for classification, generation, routing and agents, only where they earn their keep. LLM · RAG →

Selected systems

Every screenshot on this site comes from a system I built, published from a redacted set. Where an interface shows seeded demo data, the caption says so. Three of the five systems are below, different problems on purpose: the failure modes are the same underneath.

AutoRecruit

Live

The whole hiring pipeline, posting through onboarding: a recruiter portal backed by eight n8n workflows. Resume screening is automated end to end. All eight workflows run live.

Workflows
8 of 8 active
Gate
Human review at screening
Surface
Recruiter portal
Source
Own build, redacted set

Fail-safe

Anything the model cannot read confidently stops at a human gate instead of being rejected by a guess.

Read the AutoRecruit case
AUTORECRUIT / N8N / APPLICANT INTAKELIVE
n8n canvas of the applicant intake workflow, matching on email so a duplicate submission updates instead of creating a second record
FIG. 01 Applicant intake, live. Matched on email: a form submitted twice cannot produce two candidates.

AutoClose

Productized build

Lead capture through to close in one platform: AI lead scoring, automated follow-up across SMS, email and calls, integrated scheduling, and a communications hub that logs every touch.

Scope
Capture through close
Channels
SMS, email and calls
Data shown
Seeded demo data. Nothing on this screen is a client result.
Source
Own build, redacted set

Manual override

Automation with the manual override kept intact.

Read the AutoClose case
AUTOCLOSE / CONSOLE / DASHBOARDDEMO DATA
AutoClose dashboard showing pipeline stages, follow-up queue and appointments in one screen
FIG. 02 The console at a glance: pipeline, follow-ups and appointments in one place. Figures shown are seeded demo content.
Seeded demo data. Nothing on this screen is a client result.

Cold email engine

Live

Outreach at scale without burning the domains: seven interlocking n8n workflows where every prospect keeps one sender for the whole sequence.

Workflows
7 of 7 active
Quota
Enforced at assignment
Sender
One per prospect, whole sequence
Source
Own build, redacted set

Fail-safe

Every inbox has a hard daily quota, and a reply stops the automation.

Read the cold email case
COLD EMAIL / N8N / INBOX ASSIGNMENTLIVE
n8n canvas of the daily inbox assignment workflow distributing leads across active sending accounts
FIG. 03 Daily inbox assignment. The sending ceiling is enforced when leads are assigned, not hoped for at send time.

All five systems, including the retrieval layer and the sourcing pipeline.

What clients said

  • Voice agent client

    His n8n and workflow automation expertise was clear as he quickly diagnosed issues, implemented clean fixes, and explained every step in plain language. Communication was professional and fast.

    October 2025

  • Automation audit client

    Hisham did an excellent job on our AI automation work. I was very impressed with how quickly he understood the requirements and delivered high-quality results.

    January 2026

  • n8n coaching client

    He came well-prepared, explained everything clearly, and shared his knowledge and expertise in a way that made the material easy to understand.

    September 2025

Verbatim from Upwork reviews on this profile

How an engagement runs

  1. Map

    FAILURE POINT INTAKE REVIEW WRITE OWNER TOOL OWNER TOOL OWNER TOOL

    We walk through how the operation actually runs, not how the org chart says it runs. I map every step, owner, tool and failure point before anything gets built.

  2. Build

    RE-RUN TRIGGER RUN WRITE UPSERT, ONCE

    The smallest system that removes the manual work. Idempotent and safe to re-run, so a duplicate trigger or a mid-run failure never double-writes or double-sends.

  3. Instrument

    WAITS FOR A PERSON RUN GATE WRITE AUDIT LOG

    Audit logs on every write, alerts when something needs a person, and human gates wherever a wrong automated decision would be expensive.

  4. Hand over

    RUNBOOK YOU OWNS IT ON CALL

    Documentation someone other than me can act on, a walkthrough of the system, and clean ownership. You never have to keep paying me to understand your own operation. Handover is not goodbye: I stay reachable after launch, and ongoing monitoring and changes are available as a retainer when you want someone permanently on the hook.

Note

The longest engagement on this record ran 524 hours: one client, over four months. Source: Upwork profile, verified 2026-09

Tell me the process costing you the most time.

I will show you what automating it looks like: what stays manual, what runs itself, and where the human gates belong. If the honest answer is that automation will not pay for itself, that is the recommendation.