Adesina Samuel

000
Adesina Samuel

Northbound

An AI-assisted lead-generation and CRM platform that automates prospecting, enriches leads, and drafts outreach for service businesses.

Client
Client Project
Year
2026
Role
Product Design & Development
Tools
React, Next.js, Supabase, Claude Code, Codex

The Problem

The team behind Northbound ran a small agency without a dedicated sales function. Prospecting fell to whoever had a free afternoon: searching for companies that looked like a fit, tracking down the right contact, writing a first email, then losing the thread on who had replied and who hadn't. None of it was difficult work. It was just constant and low leverage, and it was the first thing to slip whenever client work picked up, which meant the pipeline went quiet in exactly the weeks it needed the most attention.

By the time the brief reached me, the team had already tried the obvious fixes: a shared spreadsheet, a rotating "prospecting day," a couple of scraping tools stitched together with manual follow-up. All of it had the same failure mode. Every solution depended on someone remembering to do it. What they wanted wasn't another list-building tool. It was something that kept the pipeline moving on its own, so the humans on the team could spend their attention on the leads worth a real conversation instead of the process of finding them.

Research Process

The brief that started the project was short, a paragraph describing the pain rather than the product. Getting from that paragraph to a real spec took several rounds of conversation with the team, walking through how prospecting actually happened day to day: who did it, how they decided which companies to chase, what "a good lead" looked like to them versus what it looked like on paper, and where the process actually broke down rather than where it looked like it should.

A few things came out of those conversations that reshaped the plan. The team didn't just want more leads, they wanted fewer leads with better timing. A bad lead surfaced this week was worse than a good one surfaced next month, because it wasted the same amount of attention either way. They also didn't trust automation they couldn't inspect. A black box that claimed a lead was good wasn't going to get used, but a lead with the actual funding announcement or hiring signal attached to it would. And the team was small enough that a heavyweight CRM with a steep learning curve was worse than no CRM at all, so anything built for them had to be usable without training.

Those constraints became the actual design brief: automate the repetitive parts of prospecting, keep every automated decision visible and explainable, and default to the simplest interface that could hold the data rather than the most feature complete one.

Design Process

Every screen in Northbound follows from that last constraint. The fastest path is a table, not a form. Prospects, companies, and contacts all live in dense, filterable tables rather than cards or a kanban board, because the people using this tool are scanning fifty rows at a time between other work, not managing one record carefully. Detail lives one click away in a slide over panel instead of a separate page, so checking a company's funding history or hiring signals costs a glance, not a navigation.

The one deliberate exception is the Playbook system. Positioning, tone, and offer language don't belong in a database row. They're prose, written once by the team and referenced constantly, so playbooks are markdown documents the AI assistant reads before drafting anything client facing. Writing them in the same plain doc editor used for freeform notes meant the product never needed a separate content management concept. A playbook is simply a doc the assistant has been told to treat as a rulebook, editable by anyone on the team without touching code or settings.

Keeping automated decisions visible, the other constraint from the team conversations, shaped the enrichment and scoring UI directly. Every score the lead engine assigns is attached to the specific finding that produced it, a funding round or a hiring signal displayed next to the number rather than hidden behind it, so a score is always something a person can check and override, not a verdict to take on faith.

Prospecting and Enrichment

The core loop starts with the lead engine, a scheduled job that runs a saved search (an industry, a company size, a signal to watch for) against the target market and drops new prospects and companies into the pipeline automatically, on a cadence rather than on demand. A run against "Marketing & Creative Agencies" might surface two dozen new leads overnight with no one at a keyboard, ready to review the next morning instead of built from scratch that day.

Prospects don't stay bare company names for long. Each company record pulls in research the engine gathers on its own: funding announcements, hiring signals, anything suggesting a company is a better timed fit right now than it was last month. A Series A close or three open account executive roles shows up as a scored finding attached to the company, dated and sourced, not a paragraph someone has to go dig up manually. That combination of score plus visible evidence directly answers what the team had said they needed most. They didn't just want to be told a lead was good, they wanted to see why, quickly enough to trust it without re-checking it themselves. It's the difference between a ranked list of two hundred companies and a flat one. Same data, but only one version tells a person where to look first.

Companies, Contacts, and Pipeline

Underneath the prospecting layer sits a straightforward CRM: every company the business has ever engaged, prospect or client, with relationship status, an assigned owner, and open lead count visible at a glance. Contacts sit in their own table, linked back to a company, so a title change or a new email address gets updated once rather than requiring someone to re-enter a person from scratch across every place they appear.

Imports feed both tables, whether batches come from the lead engine or get uploaded manually, with a simple status log showing what landed and when, so a bulk import is something the team can verify rather than something they have to trust blindly. None of this layer is novel CRM design, and it was built that way on purpose. The team had explicitly pushed back on anything resembling a heavyweight sales platform during the early conversations, so the CRM stayed intentionally plain. The interesting, differentiated part of Northbound sits upstream of it, in the engine that fills these tables, not in the tables themselves.

The AI Assistant

Once a company is enriched and scored, the last step is turning research into a usable first draft. The assistant writes emails, offers, and proposals using the team's own playbooks as its instructions, so the same offer positioning and tone gets applied consistently no matter who on the team is sending that day, instead of depending on whoever happens to be writing to catch every detail from memory. It's built to produce a draft worth editing, not a message worth sending unread. The playbook keeps the voice consistent and on brief, but a person still reads and decides what actually goes out.

Data ownership stayed simple by design, which was another point the team raised early. Companies, contacts, leads, and import history can all be exported to CSV at any time, so nothing the engine builds up over months is locked into the tool if the team ever needs it elsewhere.

Outcome

Northbound was designed and built solo, end to end, using Claude Code and Codex as the primary development tools rather than handing pieces to a traditional engineering team, closer to how a single operator actually builds and maintains internal tooling for a small team's own pipeline. Going from the team's first brief through repeated rounds of conversation, rather than building from a fixed spec handed down on day one, is what kept the product from becoming a generic CRM with an AI feature bolted on. The scoring transparency, the plain table density, the playbook system: none of those were the first idea. They were what came out of listening to what the team had already tried and specifically why each attempt had failed them.

The broader lesson mirrored the product's own thesis. Most of prospecting is not creative work, and a tool earns its keep by being ruthless about which fraction still needs a human's judgment, staying out of the way on everything else, and never asking the team to trust a decision it can't see the reasoning behind.

More screens

More projects