Follow the Journey
3 min read

Platform

The hub that connects everything

Building one product is hard. Building sixteen is chaos.

Unless you have a hub.

Platform is that hub. Authentication, billing, API keys, organizations, teams—all in one place. Every Brainz Lab product connects to Platform. None of them reinvent the wheel.

The problem with multi-product companies

Every product needs:

  • User authentication
  • Organization management
  • API key generation
  • Billing and subscriptions
  • Usage tracking
  • Audit logging

Build these separately for each product? You get inconsistency. Different login flows. Different billing systems. Different API key formats. A nightmare for users.

One hub to rule them all

Platform handles everything:

Authentication — Log in once, access everything. OAuth with GitHub and Google. SSO/SAML for enterprise. Passwordless options.

Organizations — Create an org. Invite team members. Assign roles. Owner, admin, member—each with appropriate permissions.

Projects — Group related resources. A project might span multiple products—logs in Recall, errors in Reflex, metrics in Pulse.

API Keys — One key format everywhere: sk_live_xxx for production, sk_test_xxx for development. Works across all products.

Billing — Stripe integration. Usage-based pricing. One invoice for everything.

How products connect

Every Brainz Lab product validates through Platform:

# In any product
class ApplicationController < ActionController::Base
  before_action :authenticate_via_platform

  def authenticate_via_platform
    key = request.headers["Authorization"]
    @context = Platform.validate(key)
    # => { organization_id: "...", project_id: "...", scopes: [...] }
  end
end

One validation. Full context. The product knows who's calling and what they can access.

The API key experience

From a developer's perspective:

# One key in your environment
export BRAINZLAB_API_KEY=sk_live_abc123

# Works everywhere
brainzlab recall query "level:error"
brainzlab reflex list
brainzlab pulse traces

No juggling multiple keys. No remembering which key goes where.

Usage tracking

Platform tracks usage across all products:

  • Recall: log events ingested
  • Reflex: errors captured
  • Pulse: traces recorded
  • Flux: metrics and events
  • Signal: alerts sent

One dashboard shows everything. One billing cycle covers it all.

Audit logging

Who did what, when?

Every API call. Every login. Every permission change. Logged and queryable.

Compliance teams love this. Security teams need this.

SSO for enterprise

Large teams need SSO. Platform provides it.

Configure your SAML provider once. Users authenticate through your identity provider. Automatic provisioning. Automatic deprovisioning.

IT controls access. Platform enforces it.

The MCP angle

Platform exposes MCP tools for AI integration:

platform_list_projects
platform_get_usage
platform_create_api_key

Ask Claude: "How much are we using across all products?"

Claude queries Platform. Gets the unified view. Tells you.

Try it

docker-compose up -d platform

# Open http://platform.localhost

Create an organization. Generate an API key. Use it everywhere.

One hub. Infinite products.

— Andres

All posts Follow along

Want to follow the journey?

Get Updates