Removing the anxiety of licensing compliance for realtors

An app that keeps a broker's license from missing deadlines and out of the costly penalty zone

Continuum is a self-initiated proof of concept prototype: a continuing-education compliance tracker for Colorado real estate brokers. I designed and built everything, from the product thesis to a working single-page app. It's more than a UI. The core is a live requirement engine that reads records against Colorado's actual license rules and answers the one question every Realtor has: am I compliant, and what's still missing? I built it on chux-ui, my own design system, so every screen is on-brand and the app behaves like a shipped product rather than a set of mockups.

Screenshot of dashboard

The Opportunity

Continuing-education compliance is an understated, recurring source of anxiety for licensed Realtors. The rules are simple, the stakes are real (an expired or non-compliant license means you can't work), and the deadlines arrive on a multi-year cycle that's easy to lose track of. Most Realtors manage it the way you'd expect: a folder of PDF certificates, a mental note about the renewal date, and then forgetting about it until that last-minute scramble of stress every year as the renewal window approaches. The tools that exist to help are basically spreadsheets and Word docs, but they lack easy-to-find answers to the most important question the Realtor has: "Am I compliant, and what's still missing?" Simple to ask and surprisingly hard to answer... but Continuum was built to answer it.

Core Insight

The difference between a CE tracker app and a spreadsheet isn't the interface — it's whether the product has a brain. Continuum's brain is a requirement engine: a rule set that evaluates a Realtor's records against their state's regulations. This data shows up as badges, alerts, and dashboard numbers in the product that shine a light on compliance. This prototype actually works and uses that real data - scoped to the state of Colorado requirements. Nothing in the UI is dummy data or fluff. When the dashboard says ACU 2 of 3 years complete, renews Dec 31 2027, that's the engine reasoning about live records against live rules — not a hard-coded label. This is the whole thesis of the project: build the logic for a real product, not mockups. A prototype that merely looks like it tracks compliance is nice, but a prototype that showcases the compliance logic as a working product allows for quick feedback and iteration.

Who's It For?

The v1 persona is Catherine, an active Colorado Realtor — solo or on a small team, renewing on a three-year cycle, taking the required annual course plus electives. She currently tracks everything in a folder of PDFs and a tries not to think too much about it. She'd happily pay a few dollars a month to never think about it again. The data model was also designed around a future second persona — a managing broker overseeing the compliance of multiple agents on the team — without building it yet. That role is available in the rules engine, but out of scope for the build. Scope discipline was a design goal in itself.

How It Works

The reason a compliance product is defensible is the same reason it's hard: the rules are a bit complex and they're specific to each state. Getting Colorado exactly right was the initial scope of the project. The engine is built to be separate from the rules it enforces, like a reader that runs on whatever rule book you appy it against. Colorado's rules live as their own data, so adding a second state means writing its rule book, not rebuilding the engine. For Colorado the rules look like this:

Image of rules engine flow

The Rules Engine

  • A three-year, 24-hour cycle with licensing expiring on Dec 31 of year three.
  • An Annual Commission Update (ACU): a 4-hour course required every calendar year of the cycle. That accounts for 12 of the 24 hours, spread across 3 years, and each year's ACU is calendar-year-specific.
  • Example: the 2026 ACU counts only in 2026 and cannot be made up later.
  • The missed ACU milestone - the highest-stakes rule in the product. Miss even one annual ACU and you can't just backfill hours. You're pushed into a 24-hour Broker Activation course - 6 times the course work of the four-hour update it replaces. The UI treats this as the most urgent alert, because the real cost isn't just the course fee - it's also the potential for a license to lapse while you scramble to fix it.
  • A 12-hour elective bucket for the remaining approved hours.
  • An 8-hour daily cap - no more than 8 credited hours can be earned in any 24-hour period.
  • A rule change already on the books: starting in 2027, the annual ACU deadline moves from December 31 to July 1. The engine represents a per-year deadline that can differ from the cycle-end date, so this shift renders correctly instead of being a footnote.
Colorado rules set diagram

The design consequence of all this is that the dashboard has to answer two questions at once: this year (is the current-year ACU done?) and this cycle (total hours, elective hours, all three ACUs present, against the renewal date). Most trackers only show the cumulative number, which is exactly how a broker ends up with 24 hours logged and still be non-compliant because a required category is missing. Continuum surfaces both obligations side by side, so a "false sense of done" can't happen.

Simple Workflows

  • Recording a credit (the foundation)
    Upload a PDF or photo of a certificate, fill in the details, categorize it, and watch the dashboard update. This flow works with zero dependence on the catalog, because brokers take one-off and back-dated courses that will never appear in any catalog. This had to be a first-class path, not an afterthought.
  • Search and autofill (the accelerator)
    Search a mock catalog of ~40 realistic Colorado courses — from providers like The CE Shop, Kaplan, VanEd, and McKissock/Colibri — by title, provider, or topic. Select a course and the record form auto-fills: title, provider, hours, category. v1 is search-plus-autofill only, deliberately *not* live registration or payment. The point is to kill manual data entry, which is roughly 80% of the felt pain: in practice, logging a credit goes from about five minutes of typing to under thirty seconds, roughly 90% fewer keystrokes.
  • Browse to fill a gap
    From the dashboard's "you still need" prompt, the catalog opens pre-filtered to the missing requirement and a selection becomes a planned (Draft) record.
  • Credit lifecycle
    Every record moves through a small state machine: Draft > Earned > Verified. This is what makes the app feel like software rather than a form, and what powers the shareable audit profile.

The Hero Feature

The key design decision on the project was identifying the artifact the user actually needs and building the product around it. For a Realtor, that artifact is the proof you provide to an auditor: a clean, print-friendly summary of verified credits, hours by category, and overall compliance status. Continuum generates it. Framing the audit profile as the destination is what makes the value proposition tangible. It's how the product goes further than being a place to store certificates and becomes the thing that gets a Realtor through an audit.

Sceenshot of Catherine's audit profile

Design

The entire prototype is built on chux-ui, my reusable design system, so the tokens, components, layout, and copy voice are consistent and on-brand throughout. The design aesthetic is intentionally simple and minimal. The UI aims to stay out of the way so alerts, messaging, and the data can be front and center. Color is used minimally, but purposefully - not as decoration, but to communicate status calls-to-action. The voice is warm, competent, and reassuring. The product's job is to take anxiety off the table and the copy is written to do that. For example: "Say goodbye to file folders, paper printouts, and lost certificates." The prototype ships as a single self-contained HTML file with live compliance logic, a 40-course mock catalog with search and category filtering, a live-updating dashboard, and a shareable audit profile — a complete, clickable experience that acts like a shipped product rather than a set of static screens.

The Value, In Numbers

The headline isn't convenience, it's compliance - and the avoidance of costly penalties and extra work required. Continuum has no live users yet, so these are modeled estimates built on public Colorado figures rather than measured results. But they're based on reason and they frame what the product is worth.

  • Time it gives back
    Logging a credit drops from about five minutes of manual entry to under thirty seconds with catalog autofill, roughly 90% fewer keystrokes. The bigger time saving is the periodic "am I actually compliant?" reconciliation — one to two hours a year of digging through a certificate folder and cross-checking it against the rules, replaced by a status that's always current. A Realtor sees full year-and-cycle standing at-a-glance within about sixty seconds of opening the app.
  • Risk it mitigates
    A single missed annual ACU is a failure that could potentially derail a career. Miss one and there's no backfilling: the Realtor is relegated to a 24-hour reactivation course and, if the license lapses inactive during the scramble, they stop earning while it's sorted out. At roughly $300 to $400 of average daily earning capacity, and a single missed transaction worth a $5,000 to $10,000+ commission, one overlooked deadline can cost a Realtor a season of commission-earning opportunities. Continuum's whole job is to make that deadline impossible to miss.
  • Money it saves
    Staying ahead of the rules is far cheaper than falling behind them. The reactivation course runs about $195 for 24 hours of coursework, versus roughly $40 for the four-hour annual update it replaces, and that's before the lost income. Set against a subscription of about $72 to $96 a year, the comparison isn't close. Continuum costs a rounding error next to the mistake it prevents.
Diagram displaying value

How these are figured: reactivation course ≈ $195 for 24 hours vs. ≈ $40 for the annual update; a Colorado agent averages ≈ $90k gross, ≈ $43/hr; timing from the prototype's own targets. Modeled on public Colorado figures, not measured user results.

Outcomes

Data Modeling Under Real Constraints

Encoding a live regulatory rule set — cycles, annual-vs-cumulative obligations, a consequence milestone, a daily cap, and a scheduled future rule change — as structured, extensible data.

Product Judgement

Choosing an anchor market for depth over breadth, drawing explicit v1 scope boundaries, and designing for the future personas and states without building them.

End-to-End Craft

A fully working prototype with actual logic and real data, on-brand design, and a clearly identified hero deliverable.

Conclusion

The prototype is scoped to Colorado because depth beats breadth for proving the concept — and because the rules were validated against a known domain expert (a seasoned Colorado Realtor) for real-world feedback and a path to early users. Production sourcing is a per-state ingestion effort: each state's commission-approved course lists and provider catalogs, normalized into one schema. That custom, unified dataset — the thing that allows Continuum to answer "am I compliant?" correctly in any jurisdiction — is what turns an impressive prototype into a durable and delightful product.

Several screenshots of the Bookstack app.
Summary
My Role
Tools