Skip to main content

SonorAn Upforge product

We kept rebuilding the same backend. So we built Sonor.

Sonor is the business platform behind every site Upforge builds: inquiries, leads, analytics, search, bookings, proposals, invoices, social posts, and an AI assistant that knows all of it. Upforge and its clients run it from one app, at a desk or from an iPhone's Home Screen, and it's built so any agency or independent business can do the same.

Sonor dashboard for STILLFORM, a demo architecture studio: visitor, page view, revenue, and SEO score tiles, the Echo AI assistant with three goals and a flagged traffic dip it offers to investigate, a 30-day traffic chart, and upcoming bookings
The dashboard: visitors, page views, revenue, and SEO score across the top. Beneath them, Echo tracks three goals and has already flagged a traffic dip, with what to check first. Then traffic and the week's bookings. STILLFORM, Sonor's demo workspace. Names and numbers are sample data.
human development hours
3,000+
AI tokens used in development
100B+
live websites that shaped it
100+
tools available to AI agents
146

Over 3,000 human hours paired with more than 100 billion AI tokens to develop Sonor, shaped by hundreds of real-world production requirements across more than 100 live websites. Development totals and the site count reported by Upforge; the agent-tool count verified September 30, 2026.

What we built

A multi-tenant business platform: one app, two APIs, and a worker. Our site-kit packages connect every Upforge site to it, so a new site starts with forms, analytics, managed SEO, articles, bookings, and commerce already wired.

Why

Every client site kept needing the same foundations, and building them into each repository meant one more backend to maintain every time a site shipped. Agencies run several businesses, their clients need their own view, and independents need the same tools with no agency in the middle.

What it changed

Our builds start on shared infrastructure instead of a blank backend. Clients can run their business from one app, on a phone as easily as a laptop, and the AI works from their real records with a trail of everything it proposes or does.

01In production

It runs real client businesses.

Every Upforge site connects to Sonor. Two of our published case studies show what it does underneath a real client's site.

Cincinnati Condo Connection

Sonor ties MLS inventory to building pages and routes each inquiry into the CRM with the property that prompted it. The feed had no unit numbers, so the real-estate module resolves them from Hamilton County Auditor parcel records. The site keeps its own building editor; Sonor runs the listings, leads, and sign-in underneath.

listings matched to 27 buildings on day one
74
past inquiries moved into the CRM
212
Read the Cincinnati Condo Connection case study

True Power Systems

An engineering firm's main site, its state power-studies sites, and its MEP design sites: 35 sites, each with its own managed form, all landing in one Sonor project with the site each inquiry came from attached.

live sites feeding one Sonor pipeline
35
Read the True Power Systems case study
02A real moment

Know what they read before the call starts.

Someone books a consultation. The calendar says when, and the contact record says who. Sonor adds how they got there: the pages they read, how far they scrolled, and what they clicked before they booked.

It works when the records connect. Forms keep the visitor, session, and site behind each inquiry, and the CRM timeline attaches site activity to the contact it belongs to. Browsing that never links to a person stays anonymous.

From our own use

The other day, my agent was able to see the person who booked a consultation and tell me what pages they visited, how far they scrolled, and what they interacted with before booking a consultation
Ramsey DealFounder & CEO of Upforge & Sonor · September 2026
03The product

Everything the business runs on, in one app.

27 modules and capabilities. Most are in the sidebar; a few live inside one, like events in commerce. They share the same customers, projects, and sites, so nothing gets typed twice between tools.

Intelligence

Signal, Echo & MCP

Context from every module, an assistant that acts on it, and agent tools with their own identity

Customers and sales

  • CRM
  • Managed forms
  • Sync
  • Outreach
  • Messages
  • Proposals & e-signatures

Money

  • Invoicing & payments
  • Accounting
  • Retainers
  • E-commerce
  • Events
  • Affiliates

Marketing

  • Broadcast
  • Articles
  • Email newsletters
  • Reputation
  • Engage

Search and the website

  • Analytics
  • SEO
  • AI visibility
  • Website
  • Audits

Agency operations

  • Clients, projects & files
  • Fleet
  • Portfolio
  • Real estate
04On the phone

Built for the phone, not squeezed onto it.

Owners don't run a business from a desk all day, so the phone had to be a first-class screen, not a shrunken dashboard. In September we rebuilt Sonor's phone layout on Apple's own patterns, then went through every module, screen by screen.

No App Store needed: it installs from Safari's Share menu and opens on the latest release every time.

  • Sonor Analytics on an iPhone: Echo's note that page views are up 26%, visitor and session cards with sparklines, a visitors-by-day chart against the previous period, and the floating tab bar
  • Sonor CRM prospects on an iPhone: the New inquiry column with four lead cards, the Discovery column peeking in from the right, an 8 Appointed and 2 Closed summary pill, and the floating tab bar
  • Sonor Messages on an iPhone, Live tab: three website visitor chats handed to a person, an Available for chat toggle, and Echo, Inbox, Drafts, Team, and Live tabs

Analytics, with Echo's read on the last 30 days above the numbers; the CRM pipeline, one swipeable column per stage; and Messages on the Live tab, where website chats handed to a person land. STILLFORM, Sonor's demo workspace. Names and numbers are sample data.

What makes it feel native

Tab bar
Four main modules and More, Messages in its own pill
More sheet
Every module in thumb reach; swipe down to close
Pushed pages
A lead, project, or task opens full screen, with Back
Keyboard
Sheets and composers ride up with it, never behind it
Fields
16px on a phone, so iOS never zooms on focus
Touch
44pt targets; a long press is a press, not a selection
Home Screen
Full screen, no browser bar, header under the status bar
Push
A live chat request opens that chat and joins you to it (iOS 16.4+)
05Connected work

Follow the work through the system.

Modules are the easy part. The value is in the handoffs: a review that becomes marketing, a signature that becomes an invoice, a ticket that holds a seat.

Each of these crosses the app, the business API, and the worker, and each one leaves a record of what happened, so the next person (or agent) picks up where the last one stopped.

  1. A five-star review becomes a post.

    For eligible agency projects, a new five-star review becomes branded artwork in the reviewer's own words: portrait for Facebook and Instagram, landscape for Google Business Profile. It publishes under the project's policy, and the result is recorded on the review. Replies post on their own or wait for approval, however the business sets it.

    1. Review
    2. Artwork
    3. Channels
    4. Result on the review
  2. The post gets its music.

    Broadcast publishes native Meta music: instrumental tracks by mood, from a library that knows what's fresh and what's resting. Sonor publishes to Instagram, asks to share to the Facebook Page, and keeps the receipt.

    1. Post
    2. Mood and track
    3. Instagram
    4. Receipt
  3. A signature starts the money.

    When a client signs a proposal, Sonor creates the deposit invoice and payment records, tells the team, and generates the signed PDF. Invoicing takes it from there: payment pages, reminders, recurring charges, and a line in accounting.

    1. Proposal
    2. E-signature
    3. Deposit invoice
    4. Signed PDF
  4. A ticket holds a seat.

    Events live in commerce: occurrences, capacity, tickets, attendees, and ticket emails, all agreeing on the same sale. Edit an event after tickets sell and the seats already taken stay taken.

    1. Event
    2. Checkout
    3. Ticket email
    4. Sales and refunds
Sonor Broadcast publishing calendar for September 2026: 13 items, 11 published and 2 concepts, with Instagram and LinkedIn posts on the month grid

Broadcast's publishing calendar: concepts, articles, and social posts on one month grid, each post marked with its channels and status. STILLFORM, Sonor's demo workspace. Names and numbers are sample data.

06Search and AI visibility

SEO and AI visibility, in the same place.

The SEO workspace covers the page inventory, managed metadata, structured data, FAQs, internal links, redirects, tracked keywords, and search performance from Google and Bing. Our site-kit package carries each change to the live site, so an edit in Sonor lands on the page without a redeploy.

AI visibility is its own layer: what AI crawlers read, how ready each page is to be quoted, Google AI report imports, and Microsoft Copilot citation data. We keep those apart on purpose. A readiness score describes the content; a citation is a separate thing that happened.

Analytics names the traffic AI assistants send. Google Analytics files a visit from ChatGPT under generic referrals; Sonor counts it as its own channel.

Sonor Analytics acquisition view for the last 30 days: 2.4K sessions, 80 conversions, a 3.3% conversion rate, and 74 AI assistant visits from ChatGPT, Perplexity, and others, over a banner saying Google Analytics buries these under generic referrals

Analytics, Acquisition: 74 visits in the last 30 days came from AI assistants such as ChatGPT and Perplexity, counted as their own channel instead of disappearing into referrals. STILLFORM, Sonor's demo workspace. Names and numbers are sample data.

07Signal and Echo

An assistant that knows the business it's helping.

Signal is the AI service behind Sonor. It draws context from the CRM, analytics, SEO, forms, commerce, proposals, reviews, and social, scoped to the organization and project you're in, and it remembers business facts and preferences between conversations. Echo is how you talk to it.

Ask Echo what to do this week and it answers from the pipeline, not a template: which leads have gone quiet, which proposals are open, what each follow-up is worth, and how long it'll take. When it acts, it uses the same tools the app does.

Those tools reach outside the app too. Sonor's MCP server gives the agent you already use a named identity and a scoped set of tools. It'll build a newsletter from your real lists and file the send; a person approves it in Sonor.

Signal also watches its own inputs. Failed writes, sudden gaps in ingestion, and traffic on an inactive key read as a data problem, not as a confident story about a business losing its audience.

Echo in Sonor answering What should I do this week? with $2.033M in pipeline, 5 hot leads, $621K in open proposals, and a ranked list of follow-ups with time estimates

Asked "What should I do this week?", Echo leads with the pipeline total, the hot leads, and the open proposals, then ranks the follow-ups with a time estimate for each. STILLFORM, Sonor's demo workspace. Names and numbers are sample data.

08The Action Ledger

Every action has a name on it.

Give an assistant tools and a second question follows: who decides whether a proposed action happens? A metadata edit, a CRM task, and a public post carry different weight, and every new capability has to fit one review model.

The Action Ledger is that model. Each capability registers an executor, and each proposal records its target, its evidence, and which agent is acting. The project's policy decides whether that kind of action is off, waits for review, or runs on its own, checked against the plan, a confidence threshold, and a daily cap. A missing confidence score never qualifies, and some kinds always wait for a person.

Execution is recorded too, and a reversible action keeps what it needs to undo. We hold our own agents to the same rule: every agent has its own identity, and every record ties back to one.

  1. 01

    Propose

    The action, its target, its evidence, and the acting agent.

  2. 02

    Evaluate

    Project policy, plan, confidence threshold, and daily cap.

  3. 03

    Review or run

    Held for a person, or applied by a registered executor.

  4. 04

    Record

    The result, plus the prior state for anything reversible.

Sonor Signal Action Ledger: the Autonomy policy panel, collapsed, on a Full Signal plan, and CRM tasks awaiting a decision, each with Signal's reasoning and a Review button

The Action Ledger on a Full Signal project: CRM tasks waiting for a decision, each with Signal's reasoning and a Review button. STILLFORM, Sonor's demo workspace. Names and numbers are sample data.

09How it's built

Four repositories. One product.

Each service has one job. The React app is where people work. The NestJS business API owns the records and the rules. Signal, a second NestJS service, runs the AI. A Python worker takes the slow, specialized jobs, with deadlines, bounded retries, and health checks that tell a running process from one that's actually working.

Ownership lives in the data model. Agencies, the client organizations they manage, independent businesses, and projects are one tenant model, and the API checks that relationship on every request instead of trusting what the browser says. Plans gate features per project, Signal included, so nobody needs a fork of the app.

One project can run many domains. Analytics, SEO, and form records carry the site they came from, so a business sees the whole operation or one site at a time.

Connected sites

site-kit

Forms, analytics, SEO, articles, commerce, and bookings on every Upforge site.

React · Vite

The app

Where people run the business, at a desk or on the Home Screen.

sonor-frontend

Public API with a site key · signed-in app requests

  • NestJS

    The business API

    Records, rules, integrations, and the public API sites call.

    sonor-api-nestjs
  • NestJS · AI

    Signal

    Context, reasoning, tools, memory, and the Action Ledger.

    signal-api-nestjs
  • Python · Redis

    The worker

    Crawling, language analysis, rendering, PDFs, native music posts.

    sonor-worker-python

Shared foundations · PostgreSQL and file storage · Redis job queues · Outside integrations

The app and every connected site call the two APIs; the APIs hand slow jobs to the worker through Redis. PostgreSQL and file storage sit underneath.

It's the same engineering we bring to client platforms, whether the starting point is one operational bottleneck or a new product.

Implementation reviewed September 30, 2026 across the app, the business API, Signal, the Python worker, and the site-kit packages. Screens captured September 30, 2026 in STILLFORM, a fictional architecture studio we use as Sonor's demo workspace; its names and numbers are sample data. What a project gets depends on its configuration, integrations, and plan.

Build with Upforge

What does your business need to connect?

Tell us where the work gets stuck. We'll define the product, the integrations, and the engineering it takes to make the pieces work together.