Who else is in the room
Competition.
- Seven crowded corners. We join them up.
- Plenty of reports. Little daily, sourced, European signal.
- They act on data. None of it is ESA.
- The real rival is free. And a founder with an agent.
- Job boards everywhere. One real network rival.
- Where we win. Where we are weak.
- Learn from them first. Then pick fights we can win.
Competition · the landscape
Seven crowded corners. We join them up.
| Category | Who is there today | What they sell | Our product |
| Space research | Quilty Space, Novaspace, Analysys Mason (NSR), BryceTech, Payload Pro | Reports, forecasts, advisory | Signals |
| Space data and trackers | Space Insider, SpaceNexus, Seraphim tracker, Space Capital, NewSpace Index, SpaceFund | Company databases, investment trackers | Signals |
| B2B data and sales | ZoomInfo, Crunchbase, PitchBook, Dealroom, Sales Navigator, Apollo, Clay, Affinity | Contacts, funding data, outreach | HUGO |
| Tender intelligence | Stotles, Tussell, BidStats, Open Opportunities, Tendium, GovSpend | Tender alerts, buyer data, AI bid help | HUGO |
| Free official tools | TED alerts, esa-match, ESA's esa-star | Notices, partner directory | HUGO, Signals |
| AI assistants | Lindy, Boardy, Happenstance, ChatGPT | General agents, intros, network search | HUGO |
| Talent and community | Space Talent and Gravitate, SpaceCrew, Space Individuals, SpaceCareers.uk, WIA-Europe, b2match | Jobs, networks, event meetings | Orbiteer |
Sources: company sites and pricing pages checked Nov 2026, detailed on the next slides.
Space market intelligence vs Signals
Plenty of reports. Little daily, sourced, European signal.
| Product | What it does today | Public price |
| Payload Pro | Analysis, weekly chart, research reports, quarterly call | $999/yr per seat |
| Quilty Space | Research hub (Megaconstellation Monthly, earnings reviews), advisory, M&A | Not public |
| Novaspace | Euroconsult + SpaceTec merger (Apr 2024): 20+ reports a year, consulting, events | Not public |
| Analysys Mason (NSR) | Annual research programme or pay per report, data portal | On request |
| Space Insider | Toronto. Companies, funding, flight heritage, government opportunities, advisory | Talk to sales |
| SpaceNexus | 530+ company profiles, US contract awards (SAM.gov), AI-drafted daily analysis | Free tier, $19.99/mo |
| Free trackers | Seraphim tracker, Space Capital Space IQ, BryceTech Start-Up Space, NewSpace Index, SpaceFund rating | Free to read |
Closest to SignalsSpace Insider and SpaceNexus already sell a space company database with government opportunities. Both lean North American. Europe's tenders with a source on every fact is the open lane.
Sources: pro.payloadspace.com, quiltyspace.com, nova.space, nsr.com, spaceinsider.tech, spacenexus.us/why-spacenexus, seraphim.vc, spacecapital.com/about, brycetech.com, newspace.im, spacefund.com (all Nov 2026).
B2B and tender tools vs HUGO
They act on data. None of it is ESA.
| Tool | What it does today | Public price |
| Sales Navigator | People and company search, InMail | Core EUR 120.99/mo, Advanced EUR 148.21/mo |
| Clay | Enrichment and AI research workflows | Free; Launch $185/mo; Growth $495/mo |
| Apollo | Contact data, sequences, background agents | Plans listed, prices not shown |
| Affinity | Relationship CRM for deal teams | $2,000-2,700 per user/yr |
| ZoomInfo, PitchBook, Crunchbase | Contact, deal and funding databases | Quote only |
| Dealroom | EU startup and funding data, MCP on Premium Plus | EUR 250/seat/mo, 3 seats minimum |
| Stotles | UK and Ireland tenders, AI bid/no-bid reports, MCP | Free; Basic from GBP 75/mo; Growth from GBP 475/mo |
| Tussell, BidStats, Open Opps | UK tender data; Open Opps claims 1,050 sources in 180+ countries | BidStats GBP 350-800/yr; Open Opps from GBP 120/user/mo |
Study StotlesAn AI bid/no-bid report already exists as a product. It covers UK and Irish public buyers, with no ESA STAR or space focus.
Sources: business.linkedin.com, clay.com, apollo.io, affinity.co, dealroom.co, stotles.com/pricing, help.stotles.com, tussell.com/faqs, bidstats.uk, openopps.com (pricing pages, Nov 2026). PitchBook, ZoomInfo and Crunchbase publish no list price.
Free and general AI substitutes
The real rival is free. And a founder with an agent.
esa-match
ESA's own free directory since March 2021: company profiles, a Marketspace for offers and needs, ESA and non-ESA tenders for finding consortium partners, an events calendar.
TED and tender digests
TED is free to search and sends free email alerts. BidsFactory sends a free weekly digest of new ESA tenders.
Lindy
General AI agents. Free trial credits, Team from $29.99/mo. A technical founder can wire up a weekly tender brief alone.
Boardy
AI "superconnector": you join by phone call, it makes intros to investors, customers and hires. $8M seed led by Creandum (Jan 2025). Founders and investors, not space.
Happenstance
AI search over your own network. Free; Pro $24/mo billed yearly. Claims 500,000+ users.
ChatGPT
Pulse launched Sept 2025 with proactive morning briefs for Pro users. One Oct 2026 report says it moved into scheduled tasks. Generic, not sourced tender work.
So HUGO mustDo the joined-up work free tools leave to the user: match the tender to the company, write the memo, find the partner, draft the next step.
Sources: esa.int (esa-match pages), match.esa.int, ted.europa.eu, bidsfactory.com, lindy.ai/pricing, techcrunch.com (Jan 2025, Sept 2025), happenstance.ai/pricing (Nov 2026).
Networks and talent vs Orbiteer
Job boards everywhere. One real network rival.
| Network | What it is today | Price |
| Space Talent (Space Capital) | 10,000+ roles, salary database, monthly office hours with partners | Free profile |
| Gravitate (Space Capital) | Curated network of verified space professionals, sector cohorts | Not public |
| SpaceCrew | London. Stellar Jobs + Rocket Crew merger; jobs, salary insights, sourcing for employers | Not checked |
| Space Individuals | Job board, CV database of about 2,000, weekly newsletter | From EUR 149/post (review site) |
| SpaceCareers.uk | Non-profit early-career board with UKSEDS, relaunched July 2023 | Free |
| WIA-Europe | Non-profit since 2009, Noordwijk; 996 individual members (2023), mentoring, local groups | Membership fee |
| Event matchmaking | b2match runs Space Tech Expo Europe meetings: 1,596 people, 3,383 meetings in 2024. Swapcard, Brella: general event apps | Free for visitors |
Watch GravitateSpace Capital pairs the biggest space job board with a curated network. It is US-led. Orbiteer's room is Europe, mentoring and events.
Sources: spacecapital.com/talent, spacetalent.org, spacecrew.com press release, betterteam.com/space-individuals, ukspace.org (Jul 2023), wia-europe.org annual report 2023, b2match.com Space Tech Expo pages (Nov 2026). No space show confirmed on Swapcard or Brella.
Honest scorecard
Where we win. Where we are weak.
Europe-first tendersESA STAR, TED and Find a Tender in one feed. Stotles and Tussell are UK and Ireland, GovSpend and SpaceNexus lean US.
Win
A next step, draftedResearch firms sell reading. HUGO's brief ends with an action for approval. Stotles drafts bid/no-bid reports, for UK and Irish buyers only.
Win
People behind the dataOrbiteer plus our own search team. No research product has a network; Space Capital does, from the US.
Win
Price per companyEUR 299-999/mo. Payload Pro is $999/yr per seat; Dealroom starts at EUR 750/mo for 3 seats; ZoomInfo and PitchBook are quote only. Our Team tier needs proof it is worth more than a Dealroom plan.
Test
Thin data historyNovaspace builds on 40+ years of Euroconsult work; Space Capital curates 3,000+ companies since 2017. Our tenders are still hidden in the Signals UI.
Weak
Free substitutesesa-match, TED alerts, Seraphim's tracker and Space Talent cost nothing. We must show what they leave undone.
Weak
No paying customers yetTwo founders. Paying pilots start at Bremen. Incumbents have brands buyers already trust.
Weak
Sources: competitor facts from slides 2 to 5; nova.space (Apr 2024 merger release), spacecapital.com/about (Nov 2026).
Action points
Learn from them first. Then pick fights we can win.
| Action | Owner | When |
| Book b2match meetings for Space Tech Expo Europe, Bremen 17-19 Nov | Hugo | This week |
| Register Cosmic Futures on esa-match; compare its tender list with ours | Hugo | This week |
| Run Stotles' 3 free AI bid/no-bid reports; benchmark HUGO's memo against them | Serge | This week |
| Show ESA STAR and TED tenders in the Signals UI, so "Europe-first" is true on screen | Serge | This month |
| Add one pitch line: what HUGO does that TED alerts, esa-match and free trackers do not | Hugo | This month |
| Buy one Payload Pro seat ($999/yr) as a coverage benchmark for Signals | Serge | This month |
| Approach Space Capital (Space Talent) and SpaceCrew about a job feed into Orbiteer | Hugo | Q1 2027 |
| Decide on a Signals MCP or API: Stotles and Dealroom already ship one | Serge | Q1 2027 |
Sources: b2match.com Space Tech Expo Europe B2B 2026, match.esa.int, stotles.com/pricing, pro.payloadspace.com, dealroom.co/pricing (Nov 2026).
How it all connects
Architecture.
- HUGO is the only brain. The others are data.
- What we propose.
- Four things to fix before HUGO connects.
- One contracts repo. One token per caller.
- HUGO only reads from signals.space.
- Pull by cursor. Overlap 15 minutes. Upsert.
- Orbiteer gets one route in v1.
- Code drives the brief. Models fill steps.
- The model proposes. A person approves. Code sends once.
- One agent with twelve tools and three models.
- Seven threats, each with a fix.
- Every edit Hugo makes becomes a test.
- What each review changed.
- Bremen gets a reviewed brief in week 2.
- Repos to use. Skills to install.
System map
HUGO is the only brain. The others are data.
Email briefMonday, after review
Web review + approvesigned-in session
Telegramweek 4
WhatsApp · Voicev1.1
⇄
HUGONestJS 11 + Postgres, row-level security per account
- 1 Gateway: identity, consent, limits
- 2 Brief pipeline: code-driven, verified
- 3 Agent + ~12 typed tools
- 4 Action ledger: propose, approve, audit
- 5 Executors: no model, send once
→
signals.spacetenders, events, jobs, entities · GET only
Orbiteeropted-in members · GET only
Outside worldResend, Gmail, Telegram, Stripe · approved only
Shared by all three: the contracts repo of zod schemas, pinned by git tag
Six decisions
What we propose.
One agent
signals.space owns data, Orbiteer owns people, HUGO owns every customer conversation.
Read-only APIs
Each product exposes /integration/v1. GET only, one token per caller.
Shared contracts
One repo of zod schemas. Open enums, tolerant parsing, contract tests.
Pull, don't push
A cursor with a 15-minute overlap. If HUGO is down, nothing is lost.
The brief is a pipeline
Code drives it, models fill steps, a checker blocks unsupported claims.
Approval lives in code
The model only proposes. A person approves. Plain code sends, once.
What the code says today · checked 3 Nov 2026
Four things to fix before HUGO connects.
| Found in the repos | Risk | Fix, week 0 |
| Open signals routes | High, GDPR. Read routes have no auth; entity rows include scraped contact email and phone. | Strip contact fields and cap lists now; lock reads once every caller has a token. |
| Shared secret | High. One INTEGRATION_SECRET also unlocks merge, delete and scrape runs. Orbiteer holds it. | Rotate; new read-only guard; one token per caller. |
| Dead calls | Broken today. Orbiteer calls comment routes signals.space doesn't have. | Remove the calls or build the routes. |
| Voice tools | High. One shared secret, and the model sets "confirmed" itself. | Per-call signed token; voice can only propose. |
How they connect
One contracts repo. One token per caller.
shared · git tagcontracts
zod schemas: common, signals/v1, orbiteer/v1, hugo/v1
providersignals.space
Contract test: seeded DB, every response parsed by the schema.
provider + consumerOrbiteer
Serves members/search, reads the signals feed.
consumerHUGO
Parses recorded fixtures. CI fails on drift.
Shared rules
Named ID spaces (signals.entity.id, orbiteer.expert.id). Unknown category skips the item, never the page. Dates ISO UTC, money as amount + currency. Page max 100. Mappers only: no internal fields, no contact PII.
Auth between products
IntegrationReadGuard: GET only, hashed and revocable token, throttled per token. HUGO_SIGNALS_TOKEN, ORBITEER_SIGNALS_TOKEN, HUGO_ORBITEER_TOKEN. Writes come later with their own guard and scope.
HUGO → signals.space
HUGO only reads from signals.space.
| GET /integration/v1/… | Returns | Called by |
| events?updatedAfter= | classified events, cursor, hasMore | feed pull, every 10 min |
| tenders?updatedAfter= | tenders whose content changed | feed pull |
| jobs?updatedAfter= | job posts | feed pull |
| events | tenders | jobs/:id | full record; 404 means gone | tools, brief re-check |
| entities/search?q= | name, alias, website match + score | onboarding |
| entities/:id | entity, or mergedInto | company snapshot |
| entities/:id/signals | signals for one company | backfill, dossier |
| entities/redirects | fromId, toId, mergedAt | feed pull |
| taxonomy | event categories | onboarding |
HUGO never uses signals.space watchlists, /intel or any write route. It keeps its own watch sets per account.
The change feed
Pull by cursor. Overlap 15 minutes. Upsert.
signals.spaceupdated_at bumps
On classification, entity link change, or a tender content-hash change.
HUGO feed pullCursor − 15 min
Page until hasMore is false. Store the highest (time, id).
HUGO databaseOpportunities
Unique per account, kind and ref. Flags material changes.
Why not webhooks
If HUGO is down, a push is lost. A cursor just resumes.
Why not an outbox
signals.space writes from many places. A trigger on updated_at catches all of them.
Merges and new accounts
Redirects rewrite watch sets. A new account gets 90 days of backfill at once.
HUGO → Orbiteer and the outside world
Orbiteer gets one route in v1.
GET members/searchopted-in members only, capped per day
Intros are manual in v1
HUGO prepares the brief; Hugo makes the intro through Orbiteer's request flow.
Later
POST /intros with double opt-in, a write token and 2 per member per month.
| Service | Used for | When |
| Claude API | agent, briefs, memos | MVP |
| Jev | triage, routing, claim rules | MVP |
| Resend | brief + memo email | MVP |
| Stripe | billing | week 3 |
| Telegram | chat + approve buttons | week 4 |
| ElevenLabs + Telnyx | callbacks (built, off) | v1.1 |
| WhatsApp | templates + buttons | v1.1 |
| Gmail, Calendar | drafts, free/busy | v1.1 |
From feed to Monday brief
Code drives the brief. Models fill steps.
01 codeAssemble
7 days, deadlines, unseen, clustered
02 OpusSelect
Ranks ~300 at once, says why you
03 codeEnrich
Re-fetch, drop closed, add context
04 OpusWrite
Cites evidence; code renders dates
05 gateVerify
Facts, links, Jev rules. Fail blocks.
06 humanReview
Keep, edit, delete with a reason
07 codeSend
Approved send, coverage footer
Recall
Rules + full-text + vector search per interest, so a subcontract story is found without a keyword match.
No false claims
Dates, amounts and "closes in N days" come from source fields, never from the model.
Sunday 07:00
Runs on the Batch API; goes out Monday after review.
Actions
The model proposes. A person approves. Code sends once.
proposed→approved→executing→sentorunknown → a person checks
Approval is a POST from a signed-in session. The token is bound to the action, the person and the payload hash.
Levels
A0 read · A1 do and tell · A2 approve first · A3 a person does it. Nothing reaches a third party below A2.
Tamper-proof
The hash covers every field: to, cc, body, links. Frozen after approval.
Exactly once
A lease while executing. A crash mid-send goes to unknown, never an automatic retry.
Voice
A spoken yes only proposes. The confirm link, sent to the channel on file, approves.
Inside the agent
One agent with twelve tools and three models.
Tools, named by product
- signals_search · signals_get
- signals_entity · signals_feed
- orbiteer_members_search
- memory_read · memory_write
- contacts_lookup · calendar_freebusy
- brief_get · thread_history
- propose_actionstrict union
Models
- Opus 5.5agent, selection, writing; effort set per route
- Haiku 5.5batch extraction, the verify judge
- Jevtyped decisions: urgent triage, routing, claim rules. Async, Haiku fallback, never approves.
Rules
- Cache breakpoints: system + tools, profile + memory, thread. History is append-only.
- Scraped text and incoming mail pass a tool-less extraction step first.
- Recipients come only from the contacts table.
- No forced tool_choice on Opus 5.5 (it returns 400).
Security review
Seven threats, each with a fix.
| Threat | Fix in the design |
| Prompt injection | In scraped pages or mail. Tool-less extraction first; recipients only from contacts; A2 for anything outbound. |
| Voice "yes" | Voice only proposes; approval is a POST from a signed-in session. |
| Mail scanners | Opening the link shows a review page; only a POST approves. 30 minutes, CSRF. |
| One master secret | Rotate; read-only guard; one hashed token per caller. |
| Cross-account reads | Postgres row-level security per account. |
| OAuth token leak | Envelope encryption; least-scope Gmail and Calendar. |
| Personal data | No contact PII across repos; retention rules; DPIA and DPAs before v1.1. |
Evals and tracing
Every edit Hugo makes becomes a test.
Reason codes from day one
Each delete or edit in review carries a code: wrong fit, stale, wrong fact, tone, missed item. That is the labelled set.
Offline suites
Selection recall, fact accuracy, injection cases, action safety. Run on the Batch API before any prompt or model change.
Online metrics
Items kept unedited, review minutes per brief, verify-gate blocks, actions approved vs rejected.
Traces and memory
Langfuse with OpenTelemetry GenAI conventions. Accepted edits update the account profile.
North star: review minutes per briefIf it doesn't fall in month one, the pipeline isn't learning.
Four reviews, against the code
What each review changed.
Systems architect
Found the 10-second feed delay still skipped rows. Now: 15-minute overlap, keyset paging, upsert. Corrected six wrong assumptions about the repos.
Security
Public PII routes, the shared admin secret, model-set voice confirmation, approve links that a GET could trigger. All fixed in the plan.
Senior AI architect
The brief became a verified pipeline. Cut MCP, Managed Agents, voice on the registry and early Telegram from the MVP.
Consistency pass
Twelve contradictions between sections fixed: lock-read order, triggers, Telegram timing, review UI auth, cost figure.
Build order
Bremen gets a reviewed brief in week 2.
| When | signals.space | Orbiteer | HUGO | contracts |
| Week 0 | Strip PII, cap lists, rotate secret, read guard | Drop dead comment calls | Voice tools off | Repo, common + signals/v1 |
| Week 1 | updated_at triggers, change feed | New token | Feed pull, profile, review UI (founders only) | Fixtures, provider tests |
| Week 2 | Lock reads | Opt-in flag | Pipeline + verify gate, first Bremen brief | hugo/v1 |
| Week 3 | Redirects on merge | members/search | Action ledger, email approve, Stripe | orbiteer/v1 |
| Week 4 | - | Move sync to the feed | Telegram, evals in CI | - |
| v1.1 | More tender sources | POST /intros | WhatsApp, voice, Gmail, MCP | Write schemas |
What we build on
Repos to use. Skills to install.
GitHub repos
- anthropic-sdk-typescriptagent
- zod v4 · zod-to-openapi · nestjs-zodcontracts
- pg-bossjobs
- humanlayerapproval patterns
- promptfoo · autoevals · langfuseevals
- grammY · whatsapp-api-jsmessaging
- elevenlabs-js · telnyx-nodev1.1
- MCP typescript-sdk · MCP-Nestv1.1
Claude Code skills
- claude-apiinstalled
- mcp-builder · agent-sdk-devinstalled
- feature-dev · security-guidanceinstalled
- elevenlabs/skills (agents)to install
- team-telnyx/aito install
- mcp-server-dev · typescript-lspto install
Avoid
- Meta's WhatsApp Node SDKarchived
- ts-restarchived
- Mastra, LangGraph.jsthe brief is a fixed pipeline; the agent loop is small enough to own
- NestJS, pg-boss, grammYno skills exist; use context7 docs