Skip to main content
All Projects
AIDevelopmentProductPersonal

Huntloop: AI-Native Sales Intelligence

Sales intelligence built around one idea: the unit of value is not a lead, it is a qualified opportunity with evidence. Every prospect arrives scored across eight named dimensions with a cited trigger event, and a hard line drawn between verified fact, model inference, and simply unknown.

Solo Product Owner, Architect and Builder 2026 to Present
Playwright tests
68
Database checks
39
AI tasks shipped
4
Screens live
10

The Challenge

Most prospecting tools optimize for volume: more names, more emails, a longer list, and leave the salesperson to work out why now. Worse, they present a model's guess with the same confidence as a checked fact, so there is no way to tell which part of a profile can be trusted.

My Contribution

Set the product's non-negotiables before any code existed: the fact, inference and unknown distinction, the eight-dimension scoring model, and the requirement that every opportunity carry a why-now

Designed the epistemic colour system carried through the whole design system, where no state is ever signalled by colour alone and a score that cannot be measured reads UNKNOWN rather than a silently defaulted zero

Chose the monorepo architecture and the tenancy model: isolation enforced in the database itself rather than in application code, proven under a non-superuser role instead of assumed

Made the call to ship two screens on clearly labelled fixture data rather than hide them, and backed the label with a CI check so it cannot quietly disappear

Ran the audit programme and made the fix, accept or defer decision on each of its 34 findings

Results

68

Playwright browser tests, plus 39 database-level checks and 34 audit checks, all gating merge

18

of 34 audit findings closed in the first hardening pass, with no critical items left open

4

production AI tasks shipped: company research, source recommendation, qualification and why-now

33

kB of bundle regression caught at merge time by an enforced size budget

AI Collaboration

Claude Code worked in the repository across the full build, from monorepo scaffolding through the audit pass. Claude models are also the product's own AI layer, running four production tasks: research a company, recommend sources, qualify an opportunity, and explain why now.

What I did

  • The product rules the whole system had to satisfy: fact versus inference versus unknown, eight explainable dimensions, and why-now recency
  • Scoping each unit of work and ordering the build, from foundation through AI tasks and screens to hardening
  • Reviewing every generated diff before it landed, and deciding what merged as-is, what was revised, and what was deferred
  • The fix, accept or defer call on each of the 34 audit findings
  • Deciding which screens ship honestly labelled against fixture data versus not shipping at all

What AI executed

  • First implementations of each feature: schema, isolation policies, API routes and UI components
  • The four AI task prompts and their client and runner scaffolding
  • Test suites, including migration tests against a real Postgres and the Playwright browser suite
  • The audit pass itself: findings, severity, and the fixes for accepted items
  • Design-system tokens and the component library, built to spec

Work Completed

Authentication and org membership

Magic link and Google sign-in, with a membership guard on every protected route.

Shipped

Onboarding pipeline

Company research, then ICP definition, then source recommendations, each backed by a real AI task.

Shipped

Analyze screen

Runs live qualification and why-now reasoning against a pasted company URL.

Shipped

Opportunity list and detail

Reads the database directly: joins, evidence, triggers and buyers, with no mocked data.

Shipped

AI spend dashboard

Per-org visibility into model-call cost, sourced from the run ledger.

Shipped

Multi-tenant isolation

Enforced in the database and proven by tests running as a non-superuser role.

Shipped

Command Center and sources screens

Built and functional on fixture data, labelled as illustrative on-screen, with CI failing if the label disappears.

In Progress

Company discovery and auto-scoring

Finding companies and computing scores end to end, beyond the seeded demo org.

Planned

Remaining navigation destinations

Eleven of seventeen are marked Soon in the UI rather than linked to a stub, by design.

Planned

Challenges and Solutions

Isolation policies protect rows, but they do nothing for the model bill. A per-tenant product calling a paid API has a second resource to protect that database permissions never touch.

Solution

Shipped a per-org rate limiter backed by database-level tests, plus a ledger recording what every model call cost, so spend is attributable and visible before scale rather than after a surprise invoice.

The product was quietly claiming capabilities it did not have: most navigation destinations went nowhere, two screens rendered fixtures without saying so, and the README described a state the code had already drifted from.

Solution

Replaced dead links with explicit Soon states, put fixture labels in the UI itself with a CI check enforcing them, and rewrote the README to match the code rather than the plan.

Command Center and the sources screen could not be fully live until the discovery pipeline existed, leaving a choice between hiding them and shipping something not yet real.

Solution

Shipped them against labelled fixture data, which proves the design system and information architecture under real layout pressure. The label, and the CI check behind it, is what makes that an honest trade rather than a shortcut.

A half-applied database schema does not announce itself, and a migration that silently never landed surfaces later as a confusing runtime failure.

Solution

Wrote a doctor script that inspects a connected project and reports which migrations have actually been applied, turning an invisible state into a command anyone can run.

Technical Implementation

Frontend

Next.js 16 (App Router)TurbopackTypeScriptTailwind v4

Backend and data

Supabase (Postgres, Auth, Storage)Row-level securityVersioned migrations

AI layer

Claude (Anthropic)Typed task runnerPer-org attributionCost ledger

Architecture

npm-workspaces monorepopackages/uipackages/dbpackages/ai

Platform

VercelDurable job runner (Inngest / Trigger.dev)Stripe (planned)

Quality gate

PlaywrightPGlite migration testsBundle-size budgetjsx-a11y lint rules
Available Now

Want something like this built?

I scope, architect, and ship products end to end, using AI coding assistants as implementation partners under close direction. Let us talk about what you are building.