Skip to content

The forge

SysForge is built from 55 parts, 13 pieces of glue and 25 apps: 93 services exposing 3,949 operations, counted from the platform's own spec.

How to read this

Every service on the platform describes itself, and this page is built from those descriptions and the platform's spec, not from a diagram somebody drew once. Three kinds of thing are here:

  • A part. a part does one thing, and any other part can call it: the AI, the files, the geocoder, the text messages.
  • Glue. glue chains parts together and keeps the result running: the forge that runs a chain, the cron that wakes it, the auth that signs every call.
  • An app. an app is already assembled from parts, with a face of its own: the field platform, the hospitality dashboard, the radio buyer.

A new job is a chain: parts called in order by a graph, dry-run first, then run live as the person who asked. The recipes below show seven such chains, one of which ran. Every part's page lists its operations and which other parts lean on it.

The rings

Seen from the middle: the core that everything stands on, the parts any chain can call, what is composed from them, and the surface where the platform touches the world: a face for a person, or a door to another system. The dashed chips at the surface are doors that are not services in the spec.

fewer operationsmore

By shelfoperations
Operations per shelf
AI11 services
Data19 services
Reaching people12 services
Running the shop26 services
Lines of business25 services

AI

models, memory, retrieval, speech: 11 services, 351 operations.

Data

stores, records, places, documents: 19 services, 677 operations.

Reaching people

text, mail, calls, calendars, hooks: 12 services, 331 operations.

Running the shop

identity, schedules, machines, networks: 26 services, 903 operations.

Lines of business

money, field work, media, signage: 25 services, 1,687 operations.

The glue

Three pieces turn parts into an app, in this order. A job starts as a graph of calls; the forge runs it; stitch keeps the result alive; GroundGame packs the whole thing up.

  1. Forgea graph of calls to parts becomes a service, run as the person who asked
  2. Stitchkeeps a running service converging on the state it declared
  3. GroundGamepacks the data, the services, the theme and the schedule as one app

Around that spine, the rest of the glue:

  • AuthWho is asking: sign-in, API keys, permissions and groups for every part on the platform.
  • CronScheduled jobs: a cron expression, a time zone, and an HTTP call to any part when it fires.
  • GreenroomPre-flight staging: where a change waits and is checked before it goes live.
  • HiveThe autonomous-agent control plane: watches the platform, ranks what needs attention, and pauses at an operator's gate before touching production.
  • InboxA persistent inbox with read state and web-push fan-out for messages between parts and people.
  • KernelAgent state and graph lint: the rules an agent's graph must pass before it runs.
  • NotifyThe notification spine: producers post, subscribers get it by text, email or push.
  • TenantMany tenant instances of the platform, each a complete deployment, managed from one place.
  • WebhookWebhooks from outside (forms, GitHub, payments) received in one place and routed to the right part.
  • WorkspacesWorkspaces for several tenants: who is in one and what it holds.

The apps

Already assembled, each with a face of its own. Where an app's own description names the parts under it, they are listed.

  • PulseBusiness intelligence for hospitality, media and tourism businesses across the US Virgin Islands.
  • Field appThe field-operations platform: contacts, turf, canvassing, events and the people doing the work.
  • RadioRural AM and FM rate cards and media buying, with the resources declared rather than hand-written.
  • AdvertisingThe system of record for advertising operations: advertisers, campaigns, vendors, orders, placements, creatives and spend.Built on: Intel, Radio
  • ConvoGoal-directed conversations by text message, run by the AI part with a person in the loop.Built on: Executive assistant, SMS
  • CastDrives physical signage panels and server-side video streams from one routing core.Built on: Weave
  • ElectionsElection-night engine: live results, broadcast boards and a registry of any race.Built on: Loom
  • SearchAn answer engine: catalog-gated agents over the AI and Models parts.Built on: AI, Models
  • Executive assistantA conversational agent for executives: it reads the inbox and the calendar and keeps its own memory.Built on: AI, Cron, Front, Pulse, Scout
  • BankingCollects the daily files a partner bank drops by SFTP, archives them and parses balances and transactions.Built on: Auth, Cron, Models
  • BillingUsage and entitlement billing: per-tenant invoices assembled from what the parts recorded.Built on: AI, Auth, Database, Square, Tenant
  • OnboardOnboarding by a rotating QR code: a progressive trust flow from a scan to an account.Built on: Auth
  • PersonnelPayroll tracking and per-entity cost allocation for an employer of record.
  • IssuesIssue tracking over GitHub for every project on the platform.Built on: Infrastructure
  • Captive portalA guest-capture portal for hospitality properties: the public page collects a visitor, the back end keeps the record.Built on: Database, UniFi
  • NominateThe consumer face over a comprehensive, current dataset of public elections in the US: every office, race and boundary.
  • SME interviewsInterviews with subject-matter experts, run as chats, to discover the rules in a legacy system.Built on: AI, Knowledge base, Models, Search
  • MobileThe back end of the mobile app: canvassing on a phone, offline, synced when back in range.
  • Forge appThe Forge's own front: announced doors only, with the app's own sign-in on every path.
  • Save VIAn assembled app: announced doors only, with its own sign-in on every path.
  • CampaignThe consolidated outreach platform (CRM, field operations, messaging) that succeeds the field app.Built on: Field app
  • LoomThe workspace builder: composable data dashboards and the narrative around them.
  • NightAn assembled app: announced doors only, with its own sign-in on every path.
  • Victory ModelingAn assembled app: announced doors only, with its own sign-in on every path.
  • HQAn assembled app: announced doors only, with its own sign-in on every path.

Recipes: parts chained into something useful

A recipe is written in a few words the forge understands. Each step is one call to a part, or a turn of the graph:

WordWhat it does
mesh.callcall any part by the operation's name in its spec, as the person who asked
ai.chatask the AI part a question, with the data so far in the prompt
json.parseturn an answer's text into data, leniently
foreachdo a step once per row
branchtake one path or another
waitsleep until a job finishes or a person releases a gate
ensurerefuse to go on when an input is wrong
emit / letname a value for later steps
digest / nowhash a document; stamp the time
db.query / fql.queryread a catalog, or several at once

Seven chains. The first ran, and its numbers are what it found; the other six are the platform's own worked scenarios, each a real request resolved by a handful of parts.

Companies near home: find them, watch them, read their jobs and newsran

“Every company within a few miles of home: what they do, what they are hiring for, what the news says.”

  1. Geocodingturns the home address into a point
  2. Intelfetches each company's website, careers page and news feed, with a browser engine for the pages that need one
  3. AIreads each page and writes the company, the open positions and the news items as rows
  4. Databasekeeps the rows in one catalog that the site reads
  5. Forgeruns each step as a graph, dry-run first, then live in batches
What it foundcounted when it ran
Websites fetched298 248 readable
Open positions found100 at 33 companies
News items424 at 210 companies
Graphs4 discover, harvest, jobs, news

Written in: ensuremesh.callwaitbranchforeachai.chatjson.parseemitletdigestnow

Result: A catalog the Gopher site reads: nearby companies, who is hiring, what the news says. From gopher.bradley.io, ran 2026-10-16.

A region brief

“Give me a brief on this district.”

  1. Nominatethe boundary and the offices in it
  2. Modelswho lives there, by segment
  3. Mapsthe boundary drawn, with the segments as a heat layer
  4. AIthe story, written from the numbers
  5. Filesthe brief kept as one document
  6. Linksa short link to hand round

Result: A map, the charts and a narrative, in one shareable page. From the platform's composability scenarios, March 2026.

A radio buy, ranked

“Which rural stations should we buy in this district?”

  1. Nominatethe district's boundary
  2. Radioeach station's coverage contour and its rate card
  3. Modelshow many of the people we want each contour reaches
  4. AIthe ranking, with a cost per point

Result: A buy sheet: stations ranked by reach and cost, with a coverage map. From the platform's composability scenarios, March 2026.

A field team's turf pack

“Prep turf for tomorrow morning: twelve volunteers, the northeast quadrant.”

  1. Field appthe addresses, split into twelve balanced turfs
  2. Modelseach address scored, so the list is in order
  3. ETLthe addresses cleaned
  4. Geocodingthe gaps geocoded
  5. Tilesthe map tiles for each turf fetched ahead, for offline use
  6. Filesone bundle per volunteer

Result: Twelve walkbooks that work with no signal: the list, the pins, the map. From the platform's composability scenarios, March 2026.

A cited research dossier

“What is this public figure's stated position on this issue?”

  1. Intelcrawls the public sources
  2. Torfetches anonymously where that matters
  3. Indexindexes the statements for retrieval
  4. Scoutkeeps each fact with its source, and lets old ones fade
  5. AIwrites the dossier with confidence levels

Result: Positions, sources, confidence, and a timeline of any change. From the platform's composability scenarios, March 2026.

An inbound text that updates a profile

“Someone texted back. What did they mean, and what happens next?”

  1. SMSreceives the reply
  2. AIclassifies the intent
  3. CRMupdates the person's record
  4. Scoutremembers the exchange for the next contact
  5. Workflowstarts the next step, if the intent calls for one

Result: A living profile: history, sentiment, flags, and the best next contact. From the platform's composability scenarios, March 2026.

A post-event heat map

“Where did our attendees come from, and who did not show?”

  1. Field appthe RSVPs and who checked in
  2. Geocodingevery RSVP geocoded
  3. Modelsthe no-shows ranked by how likely they are to convert
  4. Nominatethe boundary to draw them against
  5. Mapsthe heat map

Result: A heat map of attendance and a ranked follow-up list. From the platform's composability scenarios, March 2026.

Most leaned on

Which parts the others name in their own descriptions. 96 such mentions across the 93 services; the hubs are what every chain ends up calling.

Named by other partsmentions
Parts named by the most other parts
AI10
Auth10
Cron9
Models8
Intel7
Database4
Loom4
Overseer4
SMS4
Files3
Infrastructure3
Scout3

The MCP catalogsysforge.aiThe platform's own name for the fleet, and every service id, is on each part's page.

forge-catalog.json, generated Oct 30, 2026

Services, operations and the mention graph from the platform's unified OpenAPI spec, refreshed nightly. Names, tiers and recipes from a hand file in this site's repo.

Anti-cloud. Host local, think global.

Terminal
/terminal