Research-led growth workspace

Turn real research into
personalized work
on every channel

Lead email, Google Ads, and SEO & GEO articles — three lines of work, one table. Every column is a real research pass, not a template with the variables swapped. The AI runs on your own computer, on your own Claude Code, Codex, or Kimi.

Persisted to Supabase · survives refresh · exportable

Workspace / prospects_q2 Illustration
Company Contact Context · AI First email · AI
Northbeam northbeam.io Dana Okoye Head of Growth 4 sources Series B · $42M · Crunchbase Homepage H1: Attribution that finally tells the truth. Draft ready Double-click to expand
Lumenote lumenote.com Sara Kim VP Marketing Researching LinkedIn · site · Hacker News
Fieldmark fieldmark.dev Leo Fontaine Founder 5 sources 2 new Demand Gen roles posted Needs review Self-check: 1 claim missing a source

Lines of work

Three lines of work, one way of working

Rows are your objects. Columns are what the AI does. Switch lines and the meaning changes — the mechanics don't. Every step persists to Supabase, so you can close the tab mid-run and pick it up later.

Lead email Leads
1 row = 1 lead

The AI researches each one, writes the first email that belongs to that person, and queues the sequence.

  1. 01Import the listCSV, or pull from the Leads library
  2. 02Enrich ContextSite · LinkedIn · news · job posts
  3. 03Channel touchpointsAngles from where they're active
  4. 04Email sequenceFirst draft + pre-send self-check
Google Ads Campaigns
1 row = 1 keyword

The AI builds ad groups, writes RSA copy, and manages the campaigns — create, refresh, bid, pause.

  1. 01KeywordsImport, or let the AI mine them
  2. 02AI ad groupsClustered by intent
  3. 03RSA copyHeadlines + descriptions, on brand
  4. 04Manage campaignsDry-run first, then human approval
SEO & GEO articles Keywords
1 row = 1 keyword

The AI reads search intent, scores the opportunity, breaks down the SERP competition, then writes the article.

  1. 01KeywordsWith volume · KD · CPC
  2. 02Search intentInformational / commercial, plus PAA
  3. 03SEO analysisOpportunity score + beatable pages
  4. 04Generate articleWith an on-page checklist

None of the three fit? Start from a blank workspace and define what a row is and what each column asks the AI to do.

AI Copilot · J

Drive the whole workspace in one sentence

Anything you can click, you can just ask for — and it goes and clicks it. All three lines of work are in scope: navigate to any workspace, pull your real data, change a status, write the article, launch the campaign. It isn't a chat box. It's the driver's seat.

premise.getu.ai/workspace ← Click any command on the right, watch the left
Workspaces

All workspaces

prospects_q2 EMAIL

1,240 leads · 5 cols

Blog SEO · Q3 SEO

48 keywords · 5 cols

Google Ads ADS

6 campaigns · 4 cols

The copilot hasn't been given anything yet. Click a command — this pane follows.

Workspaces Blog SEO · Q3

Keywordssorted by opportunity

KeywordVolumeKDIntentOpportunity · AI
openrouter alternative2.4k42Informational84 / 100
claude code alternative1.9k38Commercial76 / 100
cold email personalization2.4k42Informational71 / 100
ai sdr tool comparison88024Commercial68 / 100
geo content optimization1.1k31Informational59 / 100

The copilot navigated here itself — it re-sorted this table by opportunity and selected the top row.

Workspaces Blog SEO · Q3

Keywords+5 new

KeywordVolumeKDIntentOpportunity · AI
claude code alternative1.9k38Commercial76 / 100
ai sdr tool comparison88024Commercial68 / 100
cold email personalization2.4k42Informational71 / 100
rsa copy generator62019Commercial64 / 100
geo content optimization1.1k31Informational59 / 100
openrouter alternative2.4k42Informational84 / 100

Those five rows are newly written into the table — 63 candidates, scored against your brand voice, top 5 kept. Yours to confirm.

Workspaces Blog SEO · Q3 openrouter alternative

Article editorstatus → needs review

openrouter-alternative.md Needs review

OpenRouter alternatives: what actually held up in 2026

If you're shopping for an OpenRouter alternative, the real question isn't who's cheaper — it's who catches you when routing fails. Six options, tested…

H2 · Why people are switching · H2 · Six options, tested · H2 · Cost table · H2 · How to migrate

The copilot set the status to needs-review itself and persisted it. Editing a field costs nothing, so no approval needed.

Decisions · 1 pending

Waiting on youthis really runs

Publish SEO

Publish "openrouter alternative" to blog.example.com

Target: WordPress · drafts → published
Credentials: application password (Settings → Publish targets)

Approve & run Reject

Publishing really goes live, so the copilot stops right here and files a decision card. You can also just reply approve in Slack / Lark.

General
click to switch
⌘J
Driver CLI· stream-json· bash + curl

In one sentence
control the full workspace

Behind this panel is the AI CLI on your own machine (claude / codex / kimi / cursor — pick one in Settings). It curls your real data, calls tools, and executes right there on the left — navigating, researching, writing, publishing.

Try these ↓ click one, watch the left
Go to SEO workspace — tell me the highest opportunity score keywords
Bob · Sent
Navigatedone
targetseo
Opened "Blog SEO · Q3" on the left
Bashdone
commandcurl -s :3010/api/seo/topics?ws=default
48 rows · re-sorted by opportunity
C
Top one is openrouter alternative — opportunity 84 / 100.
2.4k/mo · KD 42 · 3 of the top 10 are under 1,000 words, beatable.
I selected it on the left. Want an outline?
Find 5 new keywords I should write about
Bob · Sent
Bashdone
commandcurl -s :3010/api/seo/discover -d seed=…
sourceDataForSEO · SERP + PAA
63 candidates · scored against brand voice, top 5 kept
Write rowsdone
wsBlog SEO · Q3
5 rows written · saved to Supabase
C
Written in — the five yellow rows on the left.
All under KD 40 and above 600/mo, well within your current domain authority.
Want me to draft one?
Set the "openrouter alternative" article status to Needs review
Bob · Sent
Navigatedone
targetseo/article/openrouter-alternative
Opened the article editor on the left
Bashdone
commandcurl -X PATCH … -d status=review
Status → needs review · saved to Supabase
C
Done — the editor on the left is on needs-review now. Editing a field costs nothing, so I just did it.
Help me publish an article to WordPress (not sure how to get credentials)
Bob · Sent
C
Here's where they live: WP admin → Users → Profile → Application Passwords. Create one, paste the generated string into Settings → Publish targets. Then I can ship it.
Publishneeds approval
articleopenrouter alternative
targetblog.example.com · drafts
Publishing really goes live — a decision card is filed and waiting on the left
Let AI operate your workspace…
⌘↵ Send · ⌘J Toggle · Ready
Navigate

Deep-link to any workspace, article, campaign, or list — it can open the modal too

Research · write

Enrich Context, mine new keywords, write articles, write RSA copy — against your real data

Edit data

Change a status, edit a field, re-run one cell — if you can change it in the UI, so can it

Approval gate

Launching, publishing, and sending — anything that spends money — stops and waits for you. Approve right from Slack or Lark with approve

Enrichment columns

One column = one real research pass

An AI column isn't a renamed merge field. It crawls the site, reads LinkedIn, finds funding and hiring signals — and every conclusion carries a source.

  • The Context column aggregates multiple sources, listing each signal with where it came from
  • Touchpoint columns give a per-platform angle — this week's post, a mutual connection, a role they just opened
  • The first-email column produces a real draft; double-click the cell for the full body plus the AI self-check
  • Don't like one result? Re-run that single cell. Nothing else moves.
Context / Northbeam 4 sources
Recent funding

Series B · $42M

Crunchbase · 2026-03
Homepage H1

Attribution that finally tells the truth.

Page crawl
Team size

~180 people · +22% in 90 days

LinkedIn
Recent activity

Shipped Attribution 2.0, 240 points on HN

Hacker News · 5 days ago

Brand voice · Your persona

It should read like you, not like AI

Tell the system who you are once. Every email and every article after that follows it.

  • Brand voice — one-line positioning, voice pillars, vocabulary, banned claims, citable proof points
  • Your persona — the human sender: career arc, how you talk, reusable opening hooks
  • Both are generated by multi-source AI research, and every section can be rewritten on its own
  • Banned claims feed the pre-send self-check — anything that crosses the line gets flagged
Brand voice / banned claims
✕ Guaranteed reply rates
✕ #1 in the industry
✕ Knocking competitors
✕ Numbers without a source

If a draft contains one of these, the pre-send self-check flags it and names the source it's missing.

Leads library

A researched lead lives in the library

It doesn't belong to one workspace. Next list, next line of work — the research you already paid for is still there.

  • Reuse already-researched Context across workspaces instead of paying to research the same person twice
  • Find new leads right in the library — filter by company, title, or signal
  • Multiple projects (tenants), each with its own workspaces and lists
Leads library Cross-workspace
Dana Okoye Northbeam · Head of Growth Researched · 4 src
Sara Kim Lumenote · VP Marketing Researched · 3 src
Leo Fontaine Fieldmark · Founder Not researched

Architecture

The AI runs on your own computer

Most tools in this category upload your list to their servers, run it there, and bill you for the tokens on top. Premise doesn't. The server only schedules — the actual AI work is dispatched back to your machine and run by the AI CLI you already have installed.

Claude Code Codex Kimi Cursor
  • Runs on your own subscription — Claude Code, Codex, Kimi, or Cursor, switchable in Settings. No second markup on AI usage
  • Each CLI brings its own model menu (Claude's haiku/sonnet/opus, Codex's gpt-5 line…) — pin whichever you want
  • Research happens on your machine; the raw crawled content doesn't have to pass through us first
  • One long-lived WebSocket. Install and it connects — no ports, no firewall rules
  • Results stream back and persist to Supabase — refresh or switch machines, they're still there
Settings → Connect computer
$ npx -y @getuai-cli-runtime/daemon@latest

 daemon started
 connected to premise.getu.ai
  waiting for work…

Start

Build one table.
See what the first column comes back with.

Create a workspace, import ten leads, run Context once. No sales call required to get that far.