← All documents

Site & product spec · Working draft

What gets built — on the stack we already run.

A custom site live in a week, a dashboard behind it with the CRM a realtor actually needs, and a digital card — same stack as every other LFG platform, no new infrastructure decisions to make.

closingboss.io
01 — Stack

The usual one. Nothing new to decide here.

Next.js (App Router) + TypeScript + Tailwind, Supabase (Postgres, row-level security as the tenant boundary), Render (web service + background workers), Square (billing), Resend (email). The same stack behind Funding Depot, We Know Restaurants, We Know Salons and Tie Out Bureau — one operator can run all of them because none of them ask for anything the others don't already use.

02 — Timeline

Three clocks, not one — and one of them isn't ours.

The company's build — two months, $50,000, per the business plan §08, to get the templated engine, CRM, card and dashboard built once. Separate from that, each agent's own turnaround splits into two pieces that used to get collapsed into one "live in a week" promise, and shouldn't be:

DaysSite, card, dashboard and CRM ready — entirely within KeyRingOS's control
Up to ~10 business daysMLS listings going live — the board's approval, not KeyRingOS's

The second number isn't a KeyRingOS estimate — it's Placester's own published turnaround for the same IDX approval process, and KeyRingOS goes through the same boards. Worth designing around rather than promising away: the site, the card, the bio and the lead-capture form don't need to wait on the MLS at all, and shouldn't. The agent's card and site go live first, fully functional for lead capture and contact, with listings populating as soon as the board approves — not a single launch gated on the slowest part of the process.

"Live in a week" only ever meant the site and dashboard. Full IDX listings depend on a third party's approval timeline, which can run past a week on its own — that's not a KeyRingOS delay, but it needs to be said plainly rather than let an agent assume the whole thing, listings included, is guaranteed in seven days.
03 — Dashboard & CRM

Placester's feature list, minus the DIY builder, plus the card, plus e-signature.

Placester is the nearest real competitor (§03 of the business plan) and the clearest published feature set to build against. Its CRM: autoresponders, email blasts, drip campaigns, lead capture forms and pop-ups, activity tracking, lead scoring, all built around a drag-and-drop website builder. KeyRingOS matches the CRM feature-for-feature and drops the builder — there's nothing to drag, because the site is templated and MLS-connected already — and adds two pieces nothing in §03 of the business plan bundles together with a CRM at all: the card, and a real transaction document/e-signature layer.

One plan now — nothing above is gated. Earlier drafts split these features across a free brochureware tier and a paid Pro tier. Collapsed to one plan (business plan §04/§05) once the entry tier started reading as a direct competitor to Squarespace-style DIY builders on the one axis that actually matters — live MLS data — instead of a genuine on-ramp. Every agent gets the full feature set above from day one; there's no second tier for any of it to be "Pro only" against.

Listing admin — two different surfaces, only one of them curated

Worth separating clearly, because they don't work the same way. The agent's own listings — a handful of active properties — are what the admin panel actually curates: pulled from the MLS feed, shown on the site by default the moment they sync, with a per-listing hide switch and bulk show/hide for anyone who wants everything off until reviewed. Automatically archived the moment the board marks one sold, withdrawn or expired — never a stale "active" listing sitting on a live site. The broader IDX board search — every other property on that MLS, via reciprocity — is the second surface, and nobody curates that one listing by one; it's what powers site-wide search for buyer leads, generated automatically, same as every IDX competitor in §01.

Default is show, not hide. A new listing appears the moment it syncs, and the agent opts a specific one out rather than opting every one in — matches the self-serve, fast-turnaround promise in §02. An agent who wants a blank slate can bulk-hide in one action; the default just isn't that.
Not carried over from Placester, on purpose. The drag-and-drop page builder — KeyRingOS's site isn't assembled by the agent, it's generated from their listings and their brand inputs (logo, headshot, brokerage details). Fewer decisions for the agent, and it's what makes the one-week turnaround realistic.

Home valuation — "actually worth," not an algorithm's guess

Real Geeks' EstateIQ and Zillow's Zestimate both already do the instant, computer-generated estimate — free, ubiquitous, and the reason competing on speed or accuracy against them is pointless. KeyRingOS's version doesn't try: no AVM vendor, no per-lookup cost, no data integration beyond what's already here. The pitch flips instead — "see what your home is actually worth," positioned against the generic algorithmic number, delivered by an agent who looks at the real property, not just public records. The form itself carries that promise: address, plus the details an algorithm can't see — condition, recent renovations or upgrades, bedroom/bathroom count if it's changed since the public record, and timeline to sell. That's the same "Basic lead capture" mechanism as the tick above, just asking more — a longer form than a Zestimate-style tool would ever need, which is exactly what makes the resulting lead both more qualified and more credible than a one-field address box. Lands as a seller lead, a CRM record like any other lead capture form; the agent prepares the actual number as a real CMA.

No number gets shown that KeyRingOS didn't compute — because it never computes one. The comprehensive intake form is what makes "actually worth" a credible promise instead of an overreach: nothing here calculates or displays an automated estimate. The page promises a report the agent prepares, not an instant figure the platform generates.

Documents & e-sign — a repo KeyRingOS processes, not a form generator

KeyRingOS doesn't author or generate any of these documents — real estate paperwork is state- and association-standard, and pretending to write legally binding forms would be both wrong and unnecessary. What an agent has (a listing agreement from their MLS, a disclosure from their state association, a purchase agreement drafted for a specific deal) gets uploaded, tagged against a 27-type taxonomy across five categories that match the real chronology of a transaction (onboarding & agency agreements, disclosures & advisory forms, offers & core contracts, contingency management & amendments, closing day & settlement), tied to the client it belongs to, and processed the way that specific document actually requires:

Field placement — AI-assisted, template memory over time

Two real techniques, not one black box. A vision-capable model reads the uploaded document and classifies which of the 27 types it is, then proposes where the signature fields likely belong from layout and text cues — never trusted blindly for something legally binding, so the agent confirms or adjusts placement before anything sends. Once confirmed, that exact form's layout is fingerprinted and saved. The next time any agent uploads that same standard association form — which happens constantly, since most agents in a state or brokerage use the same handful of templates — KeyRingOS recognizes it and places the fields automatically, no confirmation needed. It gets faster because real estate paperwork is repetitive, not because of an abstractly "self-improving" model.

Every deal gets whatever it actually has, not all 27 rows. Lead-Based Paint only applies to homes built before 1978; Dual Agency Consent only applies if it's actually dual agency. The 27-type taxonomy is the classification system an upload gets tagged against, not a library of forms every buyer or seller sees in full — the per-deal document list on a contact's own page (ia.html §03) shows only what's actually been uploaded for that transaction.
Compliance is the actual product, not a checkbox — and it's KeyRingOS's to build, not a vendor's. The e-signature engine is built in-house (business plan §08, §11), not routed through Dropbox Sign/DocuSign/SignWell — no per-envelope fee, but also no vendor's pre-built compliance layer to lean on. Two requirements under the federal ESIGN Act and the states' UETA adoptions, both real, both KeyRingOS's to get right: every signer has to affirmatively consent to signing electronically before they're allowed to open a document for signature, and a completed signature needs a tamper-evident audit trail — timestamp, IP address, each signer's individual actions — that becomes a certificate of completion once everyone's signed. Multiple required signers per document (the PSA needs both buyer and seller, not one) are assigned by role during upload, not bolted on after. None of this is built yet — a lawyer needs to confirm the consent-flow and audit-trail implementation actually satisfies ESIGN/ UETA before it handles a real signature (business plan §11) — but the data model and upload flow are already shaped around it rather than a single-signer, no-audit-trail shortcut that would need to be redone later.
04 — MLS integration

Unlimited agents per board. Not unlimited boards.

Worth being precise here rather than rounding up: once a board is connected, Closing Boss's own cost per additional agent on that board is $0 — that's already the core of the margin story in the business plan (§05, §07). What isn't free is connecting to a new board for the first time — SimplyRETS charges $99 one-time per board, plus a subscription on Basic tier (the working default — see §07 of the business plan for why Basic and not Premium): $49/mo for the first board, $25/mo for each additional one, a tier chosen for feature coverage rather than a figure that creeps up with volume on its own. Real numbers, confirmed directly against the account, already priced into §08's cost tables — not invented for this document.

$0 / agent, to Closing BossEvery additional agent on an already-connected board
$99 one-timePer new board connected — not free, not recurring, stays a Closing Boss cost
The agent's own $25/mo IDX fee is separate from all of the above — and every agent carries it now, for their one included board. Closing Boss's board-connection cost, described here, is what Closing Boss pays SimplyRETS, on every agent. On top of that, every agent's price already carries a $25/mo IDX pass-through, folded into the single $149/mo Agent OS price (business plan §07) — the same shape and number Placester charges — which is what keeps a nationwide, board-scattered client base from eroding margin the way a flat plan price alone would. A second or third connected board — a multi-region agent, not the common case — costs another $25/mo each, on top.

What actually has to happen to get an agent's listings live

Not "give KeyRingOS API access" — an agent doesn't have API access to hand over. What has to be true: the agent already holds an active MLS membership (their own license and dues, $25–200/mo depending on the board), and separately, whatever IDX fee that board itself charges to participate in IDX at all — commonly $20–50/mo, sometimes a one-time IDX setup fee plus a smaller annual fee instead. Both are the agent's own pre-existing cost of being online at all, paid to the board directly, owed regardless of which platform they choose — not something Closing Boss bills, covers or has any part of. KeyRingOS then requests the technical credentials from the board, using that membership plus a signed IDX authorization as justification — KeyRingOS holds the resulting API credentials, not the agent. Same shape Placester uses, and the same boards, so the same approval timeline applies.

  1. Agent confirms their MLS board and membership status during signup
  2. Agent signs an IDX authorization electronically — one form, during onboarding
  3. KeyRingOS submits the authorization to the board and requests RETS/API credentials
  4. Board approves — up to ~10 business days, sometimes faster
  5. SimplyRETS connects using the approved credentials; listings populate automatically
Two separate gates, not one — a board being connected doesn't cover the next agent on it. The $99 one-time fee in the stat row above connects KeyRingOS to a board; the five steps here are a separate, per-agent authorization that every new agent on that board still has to complete individually, even one already fully connected. A live board makes the next agent's approval no cheaper or more automatic — just possible, on the same ~10-day clock.

"My listings" is a real query, not a manual pick

Worth being explicit, because it's easy to read "curated" as "the agent selects listings from the board by hand." It isn't that. SimplyRETS's API takes an agent parameter that filters results down to one listing agent's own inventory — "My listings" (§03) is that query, scoped automatically the moment the board connects. The agent's only manual input is the per-listing hide switch, an opt-out on top of an automatic feed, never an opt-in pick from the full board. The full board itself stays reachable through the separate, uncurated search surface — two different jobs, per §03's listing-admin split, not two versions of the same feature.

Buildable and testable before any board is connected — and already tested, not just assumed. SimplyRETS publishes a free demo API — standard test credentials, a real if smaller sample dataset, no charge until a live feed passes their QA. Hit it directly: GET https://api.simplyrets.com/properties, HTTP Basic Auth, simplyrets / simplyrets. Confirmed live — ?agent=sphelps returns exactly that agent's 8 listings out of 65 total, nothing else — the exact query "My listings" depends on, working today, no board required. 24 distinct agent IDs exist in the trial set to test against. The trial data itself is Active/Pending status only (42/23 of 65) and RES/RNT/CND property types only — but the account dashboard shows this demo app running on the Enterprise plan, the tier with no such restrictions, so that limited content is the canned demo dataset's own scope, not evidence of what Basic tier does or doesn't expose. The Basic-vs-Premium question (§07 of the business plan) is still genuinely open — this test validated the agent query mechanic conclusively, nothing about tier-based content filtering. Same real gap either way: no Closed or Withdrawn listing anywhere in the trial data, so the auto-archive rule (CLAUDE.md) can't be verified against real API responses yet — only against a real board connection or a hand-built fixture.

The search itself isn't the board's widget

SimplyRETS is consumed as a JSON API, not embedded as a page — the distinction matters because most cheap IDX sites embed the MLS vendor's own canned search widget instead, and those are uniformly bad: dense multi-select dropdowns with hundreds of subdivisions, year-built spinners back to 1901, no map, no sliders, no saved search. Same underlying board data, a search UI KeyRingOS actually builds — map-first, live filters, autocomplete — because the data arrives as JSON to build against, not a widget to embed.

05 — Plans

Agent OS, or Brokerage & Teams for offices — one plan, everything included.

One plan, already priced in the business plan (§07) — restated here as product scope rather than re-derived:

PlanSetupMonthlyScope
Agent OS$0$149/mo billed annually
($189/mo billed monthly)
One agent — live MLS listings, Showcase curation, digital card, KeyRingOS, documents & e-sign, Grow (lead capture management, tracking links, email campaigns) — everything in §03, one MLS board connection included, +$25/mo per additional connected board
Brokerage & TeamsContact usPriced per office; the brokerage adds and manages their own realtors from one admin view
No entry tier, on purpose. An earlier draft split a free brochureware plan from a paid Pro plan — collapsed to one plan once the entry tier's own lack of live MLS data made it read as a direct competitor to Squarespace-style DIY builders, rather than as an on-ramp into KeyRingOS. One price, everything included, is the whole pitch: the foundation every realtor needs. Setup fees are gone entirely under this pricing too — a real change from the $250 this document used to charge.
06 — Ongoing SEO

Part of the platform, not a bolt-on.

Every agent site is built to be indexed properly from day one — real per-listing pages, not a single JavaScript-rendered blob — and SEO is one of the two channels the marketing budget actually funds (business plan §08), alongside paid search. Not a separate product or a service tier; every agent's site benefits regardless of which pricing tier they're on. The blog (ia.html §05) is where this actually shows up as content: KeyRingOS-syndicated market posts, displayed under each agent's own site, not something an agent writes themselves. Content marketing as a platform commitment, not a to-do list item added to every agent's plate.