Skip to content

Platform overview

This page explains the platform at the product boundary. It is intentionally lighter than the engineering architecture pages and exists to connect user-facing workflows to the underlying system shape.

System at a glance

text
Browser
  -> Next.js application and BFF
     -> Spring Boot application API
        -> PostgreSQL for metadata
        -> Redis for auth, limits, and coordination
        -> Object storage for file bytes
        -> FastAPI worker for AI-heavy task execution

What each layer does

Browser and frontend

The web application owns:

  • authentication pages
  • project and workspace UI
  • billing and integration screens
  • admin screens for privileged users

The browser does not call the backend origin directly. It routes through a server-side BFF layer first.

BFF and application API

The Next.js BFF forwards browser requests to the Spring Boot API. This keeps backend origin details and Cloudflare Access service credentials on the server side.

The Spring Boot API owns:

  • projects and sessions
  • user and admin auth
  • billing
  • quotas
  • file metadata and upload orchestration
  • GitHub bindings

File and AI services

File bytes live in object storage while metadata lives in PostgreSQL. AI-heavy execution, document indexing, and task dispatch happen through the Python worker behind an internal token boundary.

How product workflows map onto the platform

WorkflowMain platform path
Login and profile changesBrowser -> BFF -> Spring Boot auth APIs
Project and session workBrowser -> BFF -> Spring Boot project/session APIs
File upload and indexingBrowser -> BFF -> Spring Boot presign/confirm flow -> object storage -> worker indexing
SR&ED analysis runBrowser -> BFF -> Spring Boot run API -> Python worker
Billing and expert reviewBrowser -> BFF -> Spring Boot billing APIs -> Stripe
GitHub-connected runsBrowser -> BFF -> Spring Boot GitHub APIs -> runtime envelope to worker

Where to go deeper