Two products, now liveSee the suite
Changelog

What we shipped, when.

A public record of meaningful work — product features, new services, site changes, brand updates. We update this when something actually lands, not on a marketing cadence. The roadmap covers what's next; this page covers what's done.

August 2026
  1. Documentation from every screen, and a real profile

    The documentation is now one click away from anywhere in the product, from a shortcut in the frame toolbar rather than only from a link on the marketing site. Alongside it, the profile stopped being a single text box.

    • A published profile at /u/<handle> and a published agency page at /a/<slug> — headline, bio, links, skills, logo and palette, each field opted into individually
    • One profile record shared by all four products, so it can no longer be current in one and stale in another
    • Invitations can now actually be accepted — the acceptance path existed and nothing reached it
    • The app root is a public landing page again; it had been answering with a login wall
    • Changelog and Contact are served in the app instead of redirecting out to the marketing site and losing the session
  2. The rail says whose workspace it is

    Every product's rail now carries the agency's own logo and name, read from the database rather than from the auth provider — so which tenant you are working in is legible at a glance, not just which product you opened.

  3. Clients: one screen that knows what every product has done for them

    A client row expands into one card per product — always all four — showing what Stacklumen, Baselumen and the then-separate Hublumen and Kitlumen each held for that company, and a button that goes and does the next thing there. Empty cards render too, because a product showing nothing for a client is usually the next thing to do.

    • Audits, component copies, portals and pipeline stage all attributed to the same client record
    • The paywall now reaches pages rather than only API routes, and says what tier you hold and what you need
    • A client can be linked to the workspace they pay from, so billing shows beside the client without opening Stripe
  4. Billing moves to Clerk, and the pipeline becomes a board

    Checkout is handled by the auth provider's billing rather than a direct Stripe session, so a plan typed into the dashboard becomes an entitlement the apps already read. Prices were reconciled against the catalogue at the same time.

    • Hublumen Premium was set at $99.99 and the All Apps bundle at $129.99 — the figures the card was actually charged
    • CRM gained a weighted pipeline and a drag-across board, plus a merged client timeline
    • A lapsed trial stops being reported as a trial, in the chip and in billing alike
  5. Every workspace gets an organisation, and theming splits in two

    Subscriptions are billed to the workspace rather than to the person who happened to click Subscribe, so a team of five needs one plan rather than five. Plans can also be granted by hand from the dashboard and land in the same entitlements table a real subscription writes to.

    • Frame and canvas themes are chosen separately — dark chrome around a light working surface is a real preference one control could not express
    • A three-way light / dark / system control in the frame bar, remembered per person
  6. Documentation, the welcome tour, Discord, and a support form that works when you cannot sign in

    The shared documentation shipped across all four products — two thirds of it describing the suite once, each product adding only what is genuinely its own. Alongside it, a first-run tour, mandatory account setup, and a public support form for people locked out of the thing that is broken.

    • Roadmap, Feature requests and Community in every product, reachable on no plan
    • A Web forms console for public submissions from all four sites
    • The Toolumen name retired from everything a customer sees; the product became Kitlumen (today the web tools in Baselumen)
    • Shared legal terms across all four, scoped against the MSA
  7. The paywall was turned on, and People arrived

    Entitlements had been written correctly, read correctly and enforced nowhere — every reference to a plan check lived in a comment. Access is now refused on the server with a 402, and the screen renders that refusal as an offer rather than an error.

    • Trials that have run out actually end, and stop being billed as subscriptions
    • People: invitations valid for 14 days, removal, and deletion that asks you to type the name back
    • One role vocabulary — owner, admin, member, viewer — replacing nine that disagreed
    • A real 404 page, and unpaid workspaces told where they stand instead of being silently broken
  8. The shared suite layer, and the platform console

    Agency, Clients, People, Billing, Profile, Account, Roadmap, Requests and Community became one implementation vendored into all four repositories, with a drift check so an edited copy fails a build instead of quietly disagreeing about what a plan includes.

    • A canvas toolbar in every product: search, recommended actions, cross-suite signals, product switcher, support and refresh
    • One Stripe webhook handler and one catalogue sync, shared
    • The platform console built here — every workspace, product, entitlement and table, with customer prose masked
    • A staff shield that finally points at a console that exists
  9. The suite overview, the Plan board, and CRM

    The dashboard opens on the estate — every workspace, product and entitlement — rather than on the sales pipeline. Beside it, a Plan board that reconciles every entitlement against what Stripe actually says.

    • CRM rebuilt as one dense screen, with last-contact as the column that earns its place
    • Clients as its own section rather than a tab inside another dashboard
    • Stacklumen can provision a client into the other three products
    • Each product gets its own report, so nothing is summed that succeeds or fails separately
  10. Cross-domain sign-in fixed end to end

    Stacklumen is the authentication primary and the other three are satellites of it. Signing in on one now returns you to the host you came from, keeps your session across the handshake, and signs out where the session actually lives. Documented in full, because it took a day to find and would take a day to find again.

  11. The authenticated routes move into the app shell

    Every signed-in screen now renders inside one workspace shell — mounted once, with the section as state — instead of being a set of authenticated web pages that rebuilt the navigation on every click. Cross-app links point at each product's workspace rather than its homepage.

  12. The client portal product goes live

    The waitlist framing came off the portal product — then Hublumen, now client portals in Baselumen — across the site, and the pricing was corrected to what is actually charged.

  13. A command palette for the hub

    ⌘K / Ctrl-K from anywhere in the product, searching screens, clients and settings. The orange secondary accent introduced alongside it was replaced with brand blue two commits later — one accent, used sparingly.

  14. Webflow build pricing corrected to $3,000

    The starting price for a Webflow build was published as $8,500 and had not been that for some time. Corrected everywhere it appeared.

July 2026
  1. The marketing site moves to Webflow

    Around fifty Astro marketing pages were replaced by native Webflow pages and 308-redirected rather than deleted, so every existing link keeps working and the search signal consolidates onto one copy. What stays in the app is what has to: the documentation, the legal documents, the invitation landing page, the partner-program link target and the merch store.

    • Security, process, partner program, roadmap, sales and resources migrated to native pages
    • Team, and the AI product preview and governance pages, migrated and merged
    • Blog and portfolio moved to the Webflow CMS with template links
    • Documentation moved to the Webflow CMS as 38 articles
    • An allow-list of what this deployment still serves, so a forgotten app route fails loudly instead of a forgotten marketing page duplicating Webflow quietly
  2. Hosting and maintenance protocol published

    A tiered all-in hosting model — a flat agency fee alongside the native host's own fees — written into the app terms, the offer terms, pricing and the documentation at the same time, so the four could not disagree about it.

  3. /capabilities and /why-upgrade

    A client capabilities page carrying eight explicit commitments and a Webflow-plus-Astro-first position, and a plain explainer for the $300 native-framework upgrade with its free-upgrade path. Upgrade terms were added to both the app terms and the offer terms.

  4. Offer terms, copyright reference, and a rebuilt case-study page

    • /offer-terms — promotional offer terms with a sticky table-of-contents rail and numbered sections
    • /copyright — the design framework and copyright reference
    • Portfolio case studies rebuilt: hero, stats, challenge / solution / results, tech, gallery, testimonial and related work
    • A proper 1200×630 branded social card replacing the previous OG image
June 2026
  1. Referral partner dashboard, invites & commission tracking

    Invited referral partners now have a self-serve area at /app/partners/dashboard — their referral pipeline, a commission summary (20% of collected revenue, paid as we're paid), a refer-a-client form, and a shareable referral code. Staff invite and manage partners from /app/admin/partners and move each referral through to paid commission.

    • Clerk-invitation onboarding — partners are flagged on their account and auto-linked to their record on first sign-in
    • Supabase partners + referrals tables with row-level security; commission auto-computed at the partner rate
    • Admin invite form + per-referral status and collected-amount editing
  2. Fixed doubled URLs for Help and Partner Program

    Both pages lived in a nested folder that stacked on the Webflow Cloud /app mount, producing /app/app/help and /app/app/partner-program. Moved them up a level so they resolve cleanly at /app/help and /app/partner-program, with the nav, command-palette search, and in-page links repointed.

  3. Polish: Web Pricing hero fix + mobile menu spacing

    • Web Pricing (marketing site): the hero headline rendered white where a global text-fill rule bled into the code embed — hardened the embed so its headings keep their color
    • App nav: the mobile menu now clears the announcement banner and navbar with proper spacing when open
  4. App-wide Command-K search palette

    Added a ⌘K / Ctrl-K command palette on every app page: fuzzy search across pages, tools, docs and quick actions, recent destinations, and live blog + case-study results — opened from a new search button in the navbar.

  5. Mission Control admin dashboard, then quieted it

    Shipped a tabbed admin dashboard (Overview / Inbox / Pipeline / Clients / Chat / Audit / Integrations) and then pulled the blue gradient backdrop and "Mission Control" theming off it. Sophisticated working surface, not a control-room demo.

    • KPI strip + recent activity feed wired to Supabase Realtime
    • Drag-and-drop lead pipeline with Mailchimp tag-on-status sync
    • Per-channel staff chat with audit log
    • Live integrations health probe at /api/admin/health-check
  6. Client portal at /app/portal + a portal upgrade tab

    Clients now have a thin touch-surface portal: chat with the team, sales materials, business info, personal tasks. The "Hublumen" tab inside was the upgrade invitation — the full file-delivery / approvals / billing portal product (now client portals in Baselumen) was reserved for that.

  7. New hub index + /baselumen + /process + /changelog routes

    Restyled the Hub home to a brand-aligned hero + four numbered sections + CTA strip (was a 755-line apps grid). Added a Baselumen preview page, an explicit How-We-Work walkthrough at /process, and this changelog.

  8. Dark Mode Toggle upgrade tier at $200

    Added a standalone $200 tier on /upgrades for clients who want a polished theme switch without committing to the full custom-code overhaul.

  9. Email-gated sales materials at /sales

    PDFs (Capabilities Overview, Services & Pricing, How We Work, Selected Work, Upgrades & Add-Ons, Norway Offer 2026) gated behind an email submit. Captures lead in Supabase + tags the subscriber in Mailchimp.

  10. /contactus with sales-focused intake form

    Standalone contact page with project type / budget / timeline / message fields, video hero, and dual Resend notifications (autoresponder to submitter + staff alert). Every "Start a project" CTA across the app now routes here.

  11. /app/terms — restructured Terms of Use

    Substantive content identical to the marketing-site /portal-terms; restructured into a docs-style sticky-rail TOC with nine numbered sections. Five draft sections flagged for legal review (IP, GDPR/CCPA, Billing, Indemnification, SLA).

  12. /advertising service page launched

    Managed paid-media programs across Meta, Google, YouTube, TikTok, LinkedIn, Reddit, X, Pinterest. Retainer band $500–$3,000/mo, ad spend band $200–$5,000/mo. Calibrated for law firms, medical practices, warehousing — not DTC.

Stay close

Want to know when something ships?

No newsletter spam. Join the early-access list and we'll email when there's a real reason to.