Hashir Jamil*
Hashir Jamil builds software that does the work — it finds the lead on a public register, calls, qualifies and books the meeting on its own. Nine systems. Four live right now.
See the systems →One engineer. Nine systems that act — open any of them.
Most portfolios show interfaces. This one shows systems that act.
Real phone calls. Real email. Real orders with real money. That one difference drives every decision in the work — the safety gates, the circuit breakers, the fact that every system here can be stopped.
I also carry a quota. Five commercial roles across SaaS, fleet technology and agencies — currently Sales Lead at Design Pro Verse, running a team of four. The revenue platform that team sells into, I built.
And through the studio: the sites, apps, identity and the registration and trademark paperwork a business needs to exist. Two lines. Both answerable to a number.
“Every past defect is now a rule the build enforces.”
since 2022
Nine systems. Four of them are awake right now.
Open any one for the full record — the problem, the build, and the proof.
Synapse AI & USD Halo
Two small front-end pieces, built on purpose. Synapse AI is a motion-led marketing surface with smooth-scroll choreography; USD Halo is a compact React prototype. They are where motion and layout technique get tested before it reaches anything that handles money.
The consoles, running.
Six real interfaces, rebuilt faithfully and animated. Click through the rail. Nothing here is connected to anything — that is the point.
Revenue operations · overnight briefing
Four channels — voice, email, SMS and scraping — deciding the next action and executing it. 53,498 lines, 414 files, 150+ endpoints.
Lead sourcing · USPTO public register
Searches the public trademark register, enriches each hit from TSDR, and streams contactable leads into the CRM. The front door to everything else.
1 browser launch · challenge cleared
session reused · thousands of fast searches
per-record XML · email, alt email, phone
Risk control plane · 8 venues
Layered circuit breakers sit in front of execution. 298 files, 25,704 real trades analysed, three independent breaker layers.
Autonomous sourcing · scheduler
Ingests supplier stocklists in inconsistent formats, matches and de-duplicates, then runs outbound on a schedule. Boots fully functional with zero credentials.
billing failure · cooldown 14:22
CPU inference · serving now
standby · always available
Workspace validation · monorepo
352 files across an apps-and-packages monorepo on a hosted cloud backend. Build, typecheck and test run workspace-wide from a single command.
Render queue · 7 repositories
One operator interface governing a render engine, a CLI, agent skills, a plugin, launch tooling, a deployment template and a live streamer. 23 files that coordinate rather than absorb.
Business setup · delivery pipeline
The studio line: identity, product surface, and the registration and trademark paperwork behind it — tracked through one workflow with the agency team.
Two lines. Both answerable to a number.
One is me at a keyboard — agents, lead generation and the platforms around them. The other is the studio team, covering everything a business needs to exist and be seen.
Systems engineering
Autonomous software, built against production from day one.
Voice and workflow agents that hold a real conversation, interpret the outcome, take the next action, and escalate to a human only when they should. Every agent ships disabled and in propose-only mode; autonomy is enabled per feature, reversibly, once its proposals have been reviewed and found sound.
Pipelines that mine public registers for buying intent and turn them into contactable, enriched leads — no purchased lists, no data anyone else already has. Grab&Snap does this against the USPTO trademark register: a business that has just filed a mark is publicly announcing a brand launch, which is the strongest timing signal there is. The same method generalises to company formations, trade licences, building permits and planning applications.
End-to-end outbound engines that source and validate prospects, run multi-step sequences, track engagement, and follow up until a lead converts or opts out. Compliance is enforced in code — do-not-call honoured, regional calling windows respected, opt-outs suppressed across every channel simultaneously.
Internal platforms and dashboards that replace spreadsheets and manual process — built around the way the business actually runs, then operated in production. Not handed over and forgotten: instrumented, supervised, and on-call.
Go-to-market planning across inbound and outbound, owned to the number — pipeline design, qualification criteria, forecasting, and the reporting that keeps it honest. Written by someone who has carried the quota, not only the roadmap.
Building sales teams from the ground up: structured onboarding, skills training, performance management, and the enablement material that makes it repeatable. Currently leading a team of four at Design Pro Verse.
Nothing is handed over and forgotten. Every autonomous component ships disabled, is promoted per feature once its proposals have been reviewed, and stays instrumented and reversible after launch.
Studio & business services
Delivered with a team, for businesses that need the whole setup.
Four problems worth bragging about.
Feature lists are free. These are the problems that rewrote the architecture — and the rules that now stop them coming back.
Classify every call outcome accurately enough to act on it without a human reviewing the tape.
Real prospects saying “I'm not available right now” were being marked as voicemail and dropped.
Realtime STT→LLM→TTS voice pipeline · WebRTC · Twilio · Next.js 16 · Prisma
Bad timing is now a warm callback by invariant. Encoded as a permanent test case.
What was actually happening
Two causes compounded. The voicemail vocabulary shared phrases with live humans — greeting patterns, apologies, the word “right now”. And the learning loop was feeding those human phrases back into its own dictionary.
So the system got measurably worse over time, which is why the problem kept recurring after each apparent fix. Every patch treated the symptom; the loop rebuilt the fault within days.
The repair
Separate the two vocabularies so they can never contaminate each other, then encode a hard invariant above the classifier: bad timing is a warm callback, never a dead lead.
// before — one shared vocabulary, self-poisoning vocab.voicemail.push(...transcript.phrases) // after — isolated corpora + hard rule const human = corpus.live // never written to const vm = corpus.voicemail // never written to if (signals.badTiming) return { outcome: 'WARM_CALLBACK' } // invariant
Place real orders across eight venues without a human watching the feed.
Feeds degrade silently to synthetic values; venues disconnect mid-session; minimums change without notice.
Node · Express · React · Vite · eight exchange connectors · 25,704-trade research set
Three independent breaker layers. Confirmed live fills across multiple venues and assets.
What the documentation did not say
Every venue constraint was verified against live public APIs rather than trusted from documentation. That process surfaced a renamed trading pair whose minimum order size had silently grown past typical order size — an error that would have surfaced only as unexplained rejections in production.
The harder failure was subtler: market data does not stop, it degrades. Feeds fall back to interpolated or stale values that look entirely plausible to a naive strategy.
The repair
A dead-man's switch that halts all orders the moment live data degrades to synthetic values, and refuses to resume until 60 seconds of verified real data have passed. Plus startup validation and per-exchange limits as independent layers, so no single check is load-bearing.
if (feed.isSynthetic() || feed.staleMs > 2000) { halt('SYNTHETIC_FEED') resumeAfter = verifiedRealFor(60_000) } // layer 1 — startup validation // layer 2 — data-integrity monitor // layer 3 — per-exchange exposure limits // no single layer is load-bearing
Build a fast, offline, searchable gallery over a design-prompt corpus.
The supplied corpus was not what it claimed to be, and the preview imagery was missing entirely.
Node HTTP · vanilla SPA · zero dependencies · no build step · magic-byte validation
9 files, 87 designs indexed, 85 previews recovered, nothing installed.
What the audit found
Four supplied repositories proved to be forks of one library. Two were byte-identical. The 132 files described only 87 distinct designs. And 44 of 45 “premium” designs were identical to their free counterparts.
Preview images did not ship at all. They were recovered by reading the source site's own JavaScript bundle — which embeds its catalogue — and matching entries by title, recovering 85 of 87.
The rule it produced
A file claiming to be video turned out to be an expired playlist. Media is now validated by magic bytes, never by extension or content-type header.
$ audit ./repos repos supplied .......... 4 byte-identical forks .... 2 files claimed ........... 132 distinct designs ........ 87 "premium" != free ....... 1 of 45 previews recovered ...... 85 / 87 dependencies installed .. 0
Turn newly filed trademarks into contactable leads at the moment of strongest buying intent.
The signal is public but unusable: two separate systems, a bot challenge, and contact details buried in per-record XML.
Python · Flask · Playwright · USPTO search index · TSDR document retrieval
One browser launch, then thousands of fast searches. No purchased lists anywhere in the platform.
Why bought lists lose
A purchased list is stale, generic, and sold to your competitors the same afternoon. A business that has just filed a trademark is publicly announcing that it is launching a brand — the strongest timing signal available to anyone selling branding, web or launch services.
The obstacle was never legal, it was mechanical. The search index sits behind a challenge that plain HTTP requests fail. The obvious fix — drive a headless browser for every query — is ruinously slow at scan volumes.
The repair
Pay the browser cost exactly once. A single Playwright session is warmed at startup, clears the challenge, and hands its authenticated session to ordinary HTTP requests. One launch, then thousands of fast searches. Enrichment runs on a bounded six-worker pool with a hard seven-second deadline, so one hung filing can never stall a scan.
# naive — a browser per query, unusable at scale for kw in keywords: browser.goto(SEARCH, kw) # actual — warm one session, reuse it session = playwright_warm() # 1 launch for kw in keywords: hits = http.get(SEARCH, cookies=session) # fast # enrichment: bounded, deadlined, streamed pool = Pool(6, deadline=7.0) # hung record dropped
USPTO filings are published by the United States government. Trademark registration is a public notice system — applicants file knowing the record is public. The same method generalises to any public register: company formations, trade licences, building permits, planning applications.
How one person ships nine systems.
No team, no cloud build fleet, no GPU. The constraints were not incidental — they are what forced the architecture to be simple enough to reason about.
A real operational failure surfaces.
Instrument and reproduce before touching code.
Follow the failure past its symptom.
Repair, then add a rule so it cannot return unnoticed.
Confirm against the running system, not the suite alone.
Verification over trust
AI-assisted development, nothing trusted because it was generated. Every claim verified by running it.
Measurement over assumption
Diagnose by measurement, never by assumption. A “corrupted build cache” turned out to be memory starvation.
Mock-capable by default
Built against real providers, then given full offline mock modes. Nothing untestable because a vendor key is missing.
Adversarial review
A structured multi-team audit found three critical and six high-severity issues. All fixed and verified.
Defects become rules
A dependency-free rule engine scans for the shape of every past production bug and fails the build on a regression.
Safety before autonomy
Every autonomous component defaults to propose and ships disabled. Autonomy is enabled per feature, reversibly.
Five years selling it. Then I built it.
The sales career is not a footnote. It is why the engineering knows what is actually worth automating.
Sales Lead
Lead and mentor a team of four across onboarding, training and performance. Own the full funnel from prospecting to close, and design the go-to-market strategy behind it. Built the revenue platform the team runs on, in-house.
Account Executive
Owned a portfolio of enterprise clients running ELD hardware and fleet tooling — renewals, contract negotiation, technical diagnosis through the CRM, and proactive hardware replacement to protect uptime and compliance.
Team Lead
Set brand direction and market positioning across web and social verticals, coordinated a cross-functional delivery team, ran paid acquisition end to end, and built the internal sales enablement programme.
Business Unit Head
Communicated risk to sponsors at every level, kept programme reporting accurate across all work streams, and managed deliverables and timelines alongside the architecture and delivery teams.
Team Lead
Consultative selling backed by cost-benefit and needs analysis, sustained high-volume outbound, and territory analysis with status reporting across the team.