saascode
Briefcrew

Briefcrew

The decision record writes itself — briefs assembled from an organisation's own sources, cited and immutable, in the gap Glean leaves open.

inside the product
01· Landing
02· Pricing
03· How It Works
04· Integrations
05· Sources
06· Triggers
the complete operation

Briefcrew answers one question after the fact: what did we know when we decided X, and where did that come from?

Briefcrew in depth

Six months on, you can show what was known when the call was made.

Every organization can produce the decision. Almost none can produce the reasoning. The context lived in a Slack thread that has scrolled away, a document that has been edited since, and the memory of someone who has left. When the decision is questioned — by a board, an auditor, a new hire asking why — the honest answer is that nobody can reconstruct it. Teams then relitigate settled questions because relitigating is cheaper than remembering, and the same debate runs twice a year forever.

  • Immutable decision-record row
  • Decision-record export (PDF/JSON + integrity proof)

The prep arrives before the meeting without anyone owning that chore.

Preparation is the first thing to go. The weekly review gets a proper brief for three weeks, then a rushed one, then a verbal summary from whoever read the most. Nobody decides to stop; it simply loses to whatever is urgent that morning. The meeting still happens, but it runs on the recollections of the loudest attendee, and the decisions made there are worse in a way that is invisible until much later. What it costs is not the missing document — it is the decision quality nobody attributes to the missing document.

  • Scheduled brief trigger
  • Event-based brief trigger
  • On-demand brief trigger

Every statement in the brief points at the source it came from.

A summary nobody can verify is worse than no summary, because it gets believed. Somebody reads a confident paragraph, repeats it in a meeting, and it becomes a fact the organization acts on — with no way to trace it back to whatever thread or document it was drawn from, or to notice that the document was superseded a month ago. The failure is silent by construction: the moment a claim is repeated without its source, the error and the truth look exactly the same.

  • Grounded cited brief synthesis
  • Multi-source context gathering
complete feature inventory
Immutable decision-record rowEvery brief writes a structured decision record: the decision it was scoped to, the brief that was produced, the sources that were cited, and when.

The record is immutable. It is not a document that can be tidied up later, and that is the entire reason it is worth anything to an auditor. A record that can be edited after the outcome is known is a record of the outcome, not of the decision.

Browsable decision-record history + search/filterRecords are browsable, searchable and filterable as a stacked history. The question the interface is built to answer is retrospective — find the decision, see what was known, follow the citation back to the source.

The entry tier keeps a capped but complete history; higher tiers lift the cap and add full search.

Decision-record export (PDF/JSON + integrity proof)On the governance tier, records export as PDF and JSON with an integrity proof — evidence that the exported record matches the one that was written, so the export can be handed to somebody who did not generate it.

An export without an integrity proof is just a printout. The proof is what makes it usable in the setting the product exists for.

You receive this. It ships behind a feature flag and sits on the Business tier as configured, so it is revenue you can reserve for your own paying customers.

Connect API + MCPWorkflow endpoints expose brief generation and record retrieval as single calls, with a machine-readable bridge so an agent elsewhere in the business can request a brief and read the record back.

You receive this. It ships behind a feature flag and sits on the Business tier as configured, so it is revenue you can reserve for your own paying customers.

Multi-source context gatheringAn organization connects the places its context actually lives — Slack threads and Notion documents in this release. Content is indexed into retrievable chunks scoped to the workspace. Google Docs and Gmail connectors are on the roadmap (V1.5) and are not wired in the current version — nothing on a plan unlocks them today.

Breadth is what plans gate, not the engine: the entry tier connects one source, and higher tiers connect more. A brief built from one source works exactly the same way as one built from two.

Grounded cited brief synthesisContext is retrieved from the connected sources, and the brief is synthesised with every claim carrying a citation marker resolving to a real source document. Claims and sources are bound in the output rather than listed at the bottom.

Honest degradation is a hard rule. Where the retrieved context does not support a claim, the brief says the context is insufficient. It never fabricates a citation and never fills a gap with plausible prose. A cited brief whose citations cannot be trusted is worse than no brief, because it converts a research problem into an evidence problem.

Cited brief delivery (Slack + email)Briefs are delivered where the decision is already being made: Slack, as a structured message, and email. Both carry the citations.
On-demand brief triggerSomeone requests a brief for a decision and gets it now. Each request carries the decision prompt — the question the brief exists to answer — so the synthesis is scoped to a call being made rather than to a topic.

Each trigger carries the decision prompt — the question the brief exists to answer — so the synthesis is scoped to a decision rather than to a topic.

Scheduled brief triggerA recurring schedule fires the brief before it is needed: ahead of every weekly deal review, every month-end close. A brief that has to be remembered stops happening in the third week; a scheduled one does not.

Each trigger carries the decision prompt — the question the brief exists to answer — so the synthesis is scoped to a decision rather than to a topic.

Event-based brief triggerAn inbound event or webhook from another system fires the brief automatically, so the briefing attaches to the thing that happened rather than to a person noticing it happened.

Each trigger carries the decision prompt — the question the brief exists to answer — so the synthesis is scoped to a decision rather than to a topic.

You receive this. It ships behind a feature flag and sits on the Business tier as configured, so it is revenue you can reserve for your own paying customers.

Brief re-generation / revisionA brief can be re-run or revised on the tiers that include it — context changes, and a decision reviewed a week later deserves the current evidence rather than the stale brief.

You receive this. It ships behind a feature flag and sits on the Team, Business tier as configured, so it is revenue you can reserve for your own paying customers.

Proposes-never-executes disciplineNo action type in the system mutates an external system. This is architectural rather than a policy setting, and it is a feature rather than a limitation: an advisory-only system that records everything is what a governance buyer can put in front of an auditor without first proving it never took an unreviewed action.
Webhook-based event connector

You receive this. It ships behind a feature flag and sits on the Business tier as configured, so it is revenue you can reserve for your own paying customers.

what's included

The platform underneath the product — counted in this product's own source, not claimed from a template. Where a row carries a list, open it to read the names behind the number.

AlipayCoinbasedLocalFlutterwaveKakaoPayKomojuLemon SqueezyMercado PagoMollieNOWPaymentsOpnPaddlePagSeguroPayPalPaystackRazorpayStripeWeChat Pay
AlipayAppleBitbucketDiscordFacebookFigmaGitHubGitLabGoogleKakaoKeycloakLINELinkedInMicrosoft AzureNaverNotionQQSlackSnapchatSpotifyTwitchVKWeChatWeiboWorkOSXYandexZoom
the schema and build
72page modules
249http operations
65tables
91migrations
119,715lines of source
4roles
measured 2026-08-31release v1.0.0 · built 2026-07-22
65 tables · 114 relationships
organizations52 refsusers30 refsconnector_sources5 refsassistant_conversations3 refsactive_boostsadmin_notificationsanalytics_dailyanalytics_eventsanalytics_funnelsannouncement_dismissalsannouncementsapi_key_logsapi_keysassistant_actionsassistant_messagesassistant_usageaudit_logsauthautomation_logautomation_templatesbrief_chunksbrief_triggersbriefsconnector_documentsconnector_sync_logscredit_balancescredit_transactionscurrenciesdata_exportsdata_importsdecision_audit_eventsdecision_eventsdecision_recordsdecision_sourcesdelivery_targetsfaq_categoriesfaq_itemsfeature_flagsinbound_webhook_eventsinbound_webhookslanguagesmarketing_audience_membersmarketing_audiencesnotification_lognotification_rulesnotificationsorganization_limit_overridesplansplatform_secretsplatform_settingsproduct_purchasesproductsprovider_pricespush_devicesreport_templatesrolesscheduled_tasksseo_metasubscriptionstheme_page_sectionstheme_section_librarytheme_sectionstranslationsuser_sessionswebhook_logswebhooks

Hover a table to isolate what it touches; click one to read its relationships. The big nodes are what everything else hangs off. organizations is referenced by 52 tables because every single record in this product belongs to an organization, and that is what makes tenant isolation a property of the database rather than something the application has to remember on every query.

all 65 tables, as text

active_boosts · admin_notifications · analytics_daily · analytics_events · analytics_funnels · announcement_dismissals · announcements · api_key_logs · api_keys · assistant_actions · assistant_conversations · assistant_messages · assistant_usage · audit_logs · automation_log · automation_templates · brief_chunks · brief_triggers · briefs · connector_documents · connector_sources · connector_sync_logs · credit_balances · credit_transactions · currencies · data_exports · data_imports · decision_audit_events · decision_events · decision_records · decision_sources · delivery_targets · faq_categories · faq_items · feature_flags · inbound_webhook_events · inbound_webhooks · languages · marketing_audience_members · marketing_audiences · notification_log · notification_rules · notifications · organization_limit_overrides · organizations · plans · platform_secrets · platform_settings · product_purchases · products · provider_prices · push_devices · report_templates · roles · scheduled_tasks · seo_meta · subscriptions · theme_page_sections · theme_section_library · theme_sections · translations · user_sessions · users · webhook_logs · webhooks

what you need to run Briefcrew

The chassis, and anything particular to this product. 4 required, 3 optional.

Node hostrequired

No platform lock-in.

Supabaserequired

Postgres with row-level security, plus vector search for the retrieval index.

An AI provider keyrequired

Brief synthesis runs on it. Per-brief cost is tracked at high precision so spend is attributable rather than a single monthly surprise.

A Slack apprequired for Slack

Both as a source and as a delivery target. Email delivery works without it.

Email providerrequired for email delivery

Brief delivery and notifications.

A job schedulerrequired for scheduled triggers

Without it on-demand briefs still work; recurring ones do not fire.

Rate limitingrequired

Applied across routes, including the inbound event endpoint.

Already built — plug and play

Every provider integration in this list ships wired into the product. You bring your own keys, connect them in the admin, and go live — there is no integration code to write. Nothing is resold through us: the ongoing cost is whatever these providers charge you. Capabilities marked plan-gated elsewhere on this page unlock by plan, not by extra code.

questions worth answering
What exactly do I receive after purchase?

The complete source repository behind the live demo — 119,715 lines across the application and its database, 65 tables defined by 91 migrations that the shipped scripts apply for you, plus the seed data, the demo accounts and the setup documentation. Not a subset and not a scaffold: the same code that runs the demo you just used.

Is the live demo the same product whose source I receive?

Yes. The Briefcrew demo runs the delivered release (v1.0.0), and the build figures on this page are measured from that same source — not from a showcase build kept separately.

Can I test every account role before buying?

Yes — all 3 of them: Requester, Client owner, Platform admin. Each one is seeded in the live demo and reachable from the role board above, so you can inspect the product from the customer's side, the agent's side and the administrator's side before you decide.

Is this a complete product or a starter template?

Complete. 72 page modules and 249 HTTP operations, with authentication, roles, billing, an administration panel, background jobs and seeded demo data all wired and running. A template gives you the shape of an application; this is one you can deploy and start operating.

Can I rebrand and modify it?

Yes, without asking. The name, identity, copy, styling and code are yours to change. Rebranding and operating it as your own service is exactly what the licence is for.

What does the licence allow?

A perpetual, worldwide, non-exclusive, non-transferable licence to the product you bought and to every update released for it. The Standard licence covers one business — yours. If you deploy for clients, the Client licence covers up to five. You can modify it, rebrand it, deploy it and charge your own customers.

Can I resell the source code?

No. Reselling, redistributing, sublicensing or giving away the source itself is not permitted under either licence. You build and deliver products with it — the code stays with you.

What services and ongoing costs are required?

You bring your own accounts, so we never mark anything up and there is no ongoing cost to us beyond the purchase. Required: Node host, Supabase, An AI provider key, A Slack app, Email provider, A job scheduler, Rate limiting. Optional: none. The table above says exactly what stops working without each one; most have usable free tiers at low volume.

How difficult is deployment?

Two ways, and most buyers use the first. The installer in your saascode dashboard walks it: you create free accounts at Vercel and Supabase, connect them, and it provisions the database, applies 91 migrations, seeds the data, deploys and verifies the result — you watch the steps go green. Or take the source and do it yourself with the shipped scripts and docs, which is the same sequence run by hand.

What updates and support are included?

Updates to that product for as long as we maintain it — no renewal fee and no expiry date on your access. Support covers download problems, defects in the code as shipped, questions about what the product does and how it is structured, and licence questions. It does not cover debugging your own modifications, building features for you, or setting up your hosting and third-party accounts.

Why does a complete codebase cost $99?

Because it was built once and is distributed many times. SaaSCode builds each product and ships the same finished release through the catalog, so the price reflects repeatable distribution — not a reduced codebase, an unfinished template, or what the same work would cost commissioned.

Do I need to be a developer?

No, for the normal path. You create free accounts at Vercel and Supabase, connect them to the installer in your saascode dashboard, and it does the deployment for you — provision, migrate, seed, deploy, verify. What it asks of you is creating two accounts and copying a token, not writing code. If you would rather deploy it yourself, or host it somewhere else, the full source and the scripts are yours to do that with. Running the product day to day needs no technical skill at all: that happens through its own interface, which is what the demo shows.