Skip to content

AI · B2B SaaS · 2026

nteni

An outbound agent that shows its work before it sends a thing.

View the product

Role

Designer and builder · 0 to 1

Year

2026

Outcome

Live at nteni.com, as a web app, MCP server and API

Read

5 min read

Problem

A small B2B company with something good to sell and no sales team has two bad options: build prospect lists by hand, or hand outreach to a tool that sends on its behalf without showing why.

Decision

Make the agent show its work before it sends anything: a research report you can read, a reason beside every matched company, and one Start button that nothing goes out without.

Result

Live at nteni.com as a web app, an MCP server for Claude, ChatGPT, Codex and Cursor, and a REST API.

nteni is a product I conceived, designed and built with AI coding agents, from the first idea to launch. It is for small B2B teams without a sales team. You give it your website. It reads what you sell, finds companies that fit, checks each address, writes one email per person, and sends when you press Start.

I designed the workspace and built it by directing AI coding agents. The design problem was trust: software that emails strangers under your company name has to make its reasoning visible, and has to make the moment of sending impossible to miss.

My role and mandate

Designer and builder. I conceived the product, ran the competitor research, defined the flow and information architecture, designed the workspace, wrote the product copy, and built it with AI coding agents from zero to launch.

Team

One person, building with AI coding agents

Timeline

September 2026 to present

Tools

Claude Code, Codex, Supabase, Cloudflare Workers, Stripe

The prototype

A quick pass through the workspace: the overview, the inbox and scheduled emails, a running campaign with its leads and progress, qualified leads, project docs, and workspace and billing settings. Sped up, with sample data.

It shows its work before it sends a thing

A campaign is a page you can read. On the left, what the agent has done, step by step: researched your business, found matching people, checked the addresses, wrote the first emails. On the right, what it concluded: your offer, the customer problem, the audience it is looking for, and the criteria it used.

A line above the offer says where all of it came from: built from website research, with the source named. Each step can be re-run, and a box at the bottom lets you steer the campaign in plain language.

A running campaign

Activity on the left, the reasoning on the right, and one Pause button. Demo workspace with sample data.

The overview

What needs you comes first: a reply to answer and a campaign ready to start.

Nothing sends until you press Start

A campaign that has finished its research is labelled Ready to start, not live. The page says so in a sentence: research is ready, press Start sending and emails go out gradually. The last step in the activity list stays empty until you do.

Ready is not the same as running

Four of five steps complete, one email ready, and nothing sent.

Replies come back with the agent’s reading attached

When someone replies, nteni says how it read the message, for example Interested, and asks whether that is right. It drafts a suggested reply to edit before sending, and shows why the lead fits beside the conversation.

The inbox

The agent’s classification, a yes or no to correct it, a draft reply, and the reason this lead was chosen.

Starting from the closest competitor

Before designing anything, I walked through the closest competitor first-hand in September 2026, using a real website as the input, and wrote down what I could observe and what I could not.

What worked: the product starts from a single domain before registration, shows work products instead of a chat transcript, and lets completed research accumulate beside the current stage. What worried me: the trial form combined a payment card with permission to send on behalf of your domain, and onboarding copy said campaigns were live while nothing was going out.

The decisions that shaped it

  • Value before sign-up

    The research runs before an account is requested. You see what the agent found about your own business first.

  • Work products, not a chat transcript

    Each stage has its own canvas: a company profile, a market comparison, a table of matches, an email editor. The layout changes with the thing being produced.

  • Ready, live and reporting stay separate

    A configured campaign never looks like a running one, and an empty report never looks like a result. Any campaign can be paused at any time.

  • It never overspends

    The agent works within your plan. When its emails run out, every campaign pauses until you top up.

One engine, three ways in

The same engine runs in the app, from an AI assistant through an MCP server, and from code through a REST API.

Designing the MCP surface meant writing rules for another agent to follow: ask the person before anything that spends credits or sends email, and never launch a campaign without an explicit yes.

How I built it

I wrote the product down before any code existed: the flow, the information architecture and the design rules, each as a document. Then I directed AI coding agents, Claude Code and Codex, to build against those documents, and reviewed what they produced the way I would review an engineer’s pull request.

The product runs on Supabase and Cloudflare Workers, with Stripe for billing. Working this way moved my time from drawing screens to deciding what the product must show, what it must refuse to do, and checking that the build matched.

What is live

What the business reported

company outcomes my work contributed to

5 steps

From your website to a sent email: research, find, verify, write, send

3 ways in

Web app, MCP server and REST API on one engine

1 Start

Nothing is sent until the person presses it

What I am still learning

Designing for an agent changes where the interface work goes. Most of it went into what the agent must show and when it must stop, not into screens.

What is missing from this page is outcome data. The product is new, and I would rather show none than quote a number I cannot stand behind yet.

Result

Live

at nteni.com web app, MCP server and REST API.

Research runs before sign-up, every match carries its reason, and nothing is sent until the person presses Start.

Worked with me

“Joseph was a member of my global UX design team for 18 months. During that time, I was grateful for the thoughtfulness he brought to every design challenge and his positive attitude which continuously elevated the results of the cross-functional team he worked with. He brought both a consumer and business-savvy mindset to his design decisions, and is committed to leveraging design systems to drive consistent and efficient digital experiences.”

Erin SkurdalDirector, Global UX Design & Content · Kenvue Inc