feat(landing): major splash-page overhaul (self-serve + Harbinger bridge)#202
Merged
Conversation
…Harbinger bridge Rebuild the marketing splash as a focused self-serve product page for the SMB/controller who owns the monthly close, with a clear bridge to the done-for-you service (Harbinger FinLab) on the same open platform. Information architecture (new content.tsx composition): Hero -> ProofBand -> Contrast -> HowItWorks -> Spotlights -> Platform -> OpenSourceStrip -> Harbinger bridge -> FAQ -> FinalCTA. Highlights: - Hero rebuilt around 'Close your books with AI'; GitHub demoted from a co-primary CTA to a tertiary icon link across hero, nav, and final CTA. - New Harbinger bridge (#harbinger) — the only place BYOC / custom frameworks / managed-ops / consulting appear — plus nav + footer links, all via a single HARBINGER_URL constant. - New slim open-source trust strip replaces the developer-heavy self-host section (left dormant); routes self-host/BYOC intent to Harbinger. - Consolidated the overlapping ReportCreator/OutputFormats/AIReporting sections into four grounded feature spotlights (Inbox, Close, Live Statements & XBRL, Console/MCP); dropped 'Coming Soon' filler. - New FAQ answering QuickBooks/data/XBRL/AI objections; getting-started answer reflects RoboSystems-side provisioning (no pricing on this page). - Accuracy fixes: Plaid relabeled 'coming soon' (was advertised as a live integration in 3 places); softened real-time-sync implication. - ProductShot component frames on-brand previews now and swaps in real screenshots at /public/screenshots/* when captured. Retains RoboLedger's design system (font-heading, primary/secondary/accent violet-purple-fuchsia tokens, dark cards). Superseded sections left dormant (unimported). Typecheck, lint, build, and 128 tests green.
- ProductShot: remove the fake traffic-light (close/minimize/maximize) buttons; keep a clean breadcrumb bar for the caption. - Hero: replace the inbox preview with the guided period-close panel (fiscal-calendar summary, drafted schedules, rule-engine pass, gated Close button) — the close is the flagship surface and feeds the inbox.
Add a ROBOSYSTEMS_URL constant (NEXT_PUBLIC_ROBOSYSTEMS_APP_URL, default https://robosystems.ai) and wrap the hero trust-row item in it, matching the cross-app link pattern used elsewhere and the HARBINGER_URL constant.
…-the-loop) Replace the static Closing Book panel in the hero with an emulation of the real workflow: Claude driving the RoboLedger tools via @robosystems/mcp while a person approves each step — list_inbox_events -> approve -> draft_closing_entries -> close_period. The Closing Book panel remains represented lower on the page in the Guided Close spotlight.
…y chip - New CoworkDemo client component simulates the human-in-the-loop close as a live chat: sequential reveal + progressive typing + per-tool 'running' state + auto-scroll, modeled on robosystems-app's ConsoleDemo. Starts on view via IntersectionObserver; honors prefers-reduced-motion. - Hero uses CoworkDemo in place of the static transcript; removes the now unused inline helper components. - Remove the 'XBRL-ready' trust chip from the hero row — it's already in the hero description sentence.
…nment review) Verified against the robosystems backend: - CoworkDemo advertised invented MCP tools (roboledger.list_inbox_events, draft_closing_entries, close_period). Real tools are hyphenated with no namespace prefix: list-event-blocks, create-event-block, close-period. - structured-data.ts published an Offer with price '0', telling search engines the app is free — it isn't (paid RoboSystems tiers; the page is intentionally price-silent). Removed the Offer block. - Soften the Console spotlight: 'drive the whole month-end close' -> 'help drive your month-end close' (close is a co-pilot flow).
- 'filing-ready' -> 'reports' framing (SEC needs iXBRL, which is deferred;
backend emits validated XBRL 2.1 + JSON-LD). ProofBand + Spotlights.
- 'Millisecond queries' -> 'fast, interactive queries' (unbenchmarked).
- Timeliness: 'minutes to hours' / 'closing books in minutes' ->
'hours, not days', consistent with the rest of the page.
- Cash Flow & Equity: scope the live/no-close promise (flow-tag mapping is
MCP-side, not addressable from the frontend on a raw QB sync).
- Autopilot: reframe as opt-in ('enable autopilot for trusted sources') —
it's off by default but a few clicks to turn on.
Kept '10x faster close' per product owner.
…ctions - §4: new FAQ 'I keep books for several companies — can I manage them all here?' surfacing multi-graph-per-org (verified: Organization.graphs one-to-many). Framed on the isolated-books-per-company capability only; makes no team/collaboration claim either way. - §2.9: 'you review and approve' -> 'review and adjust' (MappingOperator auto-writes mappings above its confidence threshold; not a hard gate). - §2.10: delete the 6 superseded, unimported landing sections (FeaturesSection, WorkflowSection, ReportCreator, OutputFormats, AIReportingSection, OpenSourceSection) — they carried the removed overclaims (Plaid-live, 'autonomous', 'Coming Soon'). Content is re-told honestly in the new sections; 0 references confirmed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ground-up overhaul of the RoboLedger marketing splash page. Rebuilds it as a focused self-serve product page for the SMB / controller who owns the monthly close, adds a clear bridge to the done-for-you service (Harbinger FinLab) on the same open platform, and aligns every capability claim with what the RoboSystems backend actually ships.
Information architecture
content.tsxnow composes, top to bottom:Hero → ProofBand → Contrast → HowItWorks → Spotlights → Platform → OpenSourceStrip → Harbinger bridge → FAQ → FinalCTAThis consolidates the previous page's overlapping sections (two report sections + a workflow + an "AI in every step" that retold the same story) into a tighter, non-repeating narrative.
Changes
New sections & components
HeroSectionrebuilt around "Close your books with AI," with an animated Claude cowork demo (CoworkDemo) that simulates the human-in-the-loop close over MCP — sequential reveal + progressive typing + per-tool "running" state + auto-scroll (modeled on robosystems-app'sConsoleDemo; starts on view via IntersectionObserver; honorsprefers-reduced-motion).ProofBand— outcome stat strip.ContrastSection— traditional-vs-AI-native compare (carried from the old FeaturesSection, tightened).HowItWorks— 6-beat end-to-end loop (renamed from WorkflowSection).Spotlights— four grounded feature deep-dives (Inbox, Guided Close, Live statements & reports, Console/MCP), replacing the overlapping ReportCreator/OutputFormats/AIReporting sections.HarbingerSection— the done-for-you bridge (#harbinger); the only place BYOC / custom frameworks / managed-ops / consulting appear.OpenSourceStrip— slim trust strip replacing the developer-heavy self-host section.FaqSection— objection-handling accordion, including a multi-company (accountant ICP) question and a getting-started answer that reflects RoboSystems-side provisioning.ProductShot— reusable frame that renders on-brand previews now and swaps in real screenshots at/public/screenshots/*.constants.ts— singleHARBINGER_URL/ROBOSYSTEMS_URL/GITHUB_URL.Header/Footerupdated for the new nav anchors + Harbinger link; GitHub demoted from a co-primary CTA to a tertiary icon across hero, nav, and final CTA.metadata.tsSEO aligned to the new framing.Accuracy / backend-alignment (verified against the robosystems backend where checkable)
list-event-blocks,create-event-block,close-period(were invented names).price: '0'Offerfromstructured-data.ts— it told search engines the app was free; the page is intentionally price-silent.Organization.graphsone-to-many; makes no team/collaboration claim in either direction.Removed
FeaturesSection,WorkflowSection,ReportCreator,OutputFormats,AIReportingSection,OpenSourceSection) — they carried the removed overclaims (Plaid-live, "autonomous," "Coming Soon"). Content is re-told honestly in the new sections; 0 references confirmed before deletion.Testing
npm run test:allruns on every commit via the pre-commit hook — 128 tests pass, plus format-check, ESLint,tsc --noEmit, and cf-lint, all green.npm run buildcompiles successfully; landing/prerenders as static.Notes / follow-ups
ProductShotis wired to drop in real captures at/public/screenshots/*with a one-line prop change once a backend + authenticated session is available.bugfix/console-mcp-package-name) fixes the in-app Console's MCP package name (@roboledger/mcp→@robosystems/mcp) and ships as its own PR.