Back to projects

Project Details

Flowpamine: Project Management SaaS API (Laravel 13 Modular Monolith)

A Laravel 13 / PostgreSQL 17 project-management SaaS API built as a modular monolith, with an approval-gated LLM agent, a six-provider abstraction, and per-call cost telemetry.

ongoingLast updated Aug 4, 2026
Visit Web App

What It Does

  • Exposes 120 documented endpoints across 55 tables for projects, tasks, notes, files, and collaboration.
  • Turns unstructured WhatsApp conversations into structured work items, held behind human approval before anything is written.
  • Tracks the cost of every LLM call and drops trivial chatter before it reaches a paid provider.

Architecture Highlights

  • Modules are isolated by domain events, so a change inside one module does not ripple across the other seven.
  • One FrankenPHP image runs four process roles (API, queue worker, scheduler, WebSocket), selected at runtime.
  • GitHub Actions lints, tests, and builds the production image on every pull request.
  • An Azure DevOps pipeline deploys a single codebase to eight white-label customer environments in parallel.

Key Features

Modular Monolith Design

  • 8 bounded modules that communicate through domain events rather than reaching into each other
  • Generated OpenAPI specification kept in step with the route surface
  • 69 Pest test suites covering the module boundaries

Provider-Agnostic LLM Layer

  • Ports-and-adapters abstraction over OpenAI, Anthropic, Azure OpenAI, Bedrock, Cohere, and Gemini
  • Degrades to a deterministic heuristic driver when no API key is configured, so the feature never hard-fails
  • Human-in-the-loop approval gate before any agent output becomes a task, note, or file

Durable Delivery

  • Transactional outbox over Redis Streams consumer groups with a dead-letter stream
  • Lease and claim semantics plus stale-message reconcilers to recover abandoned work
  • Separate dispatch and execution retry budgets, sequenced by a documented timeout ladder from LLM call through job to queue worker

Cost Telemetry

  • Per-call records of provider, model, latency, input and output tokens, and status
  • Dedicated usage table with retention pruning
  • Pre-flight filter that drops trivial chatter before it reaches a paid call

Tech Stack

Core

  • Laravel 13
  • PHP 8.3
  • PostgreSQL 17

AI Providers

  • OpenAI
  • Anthropic
  • Azure OpenAI
  • Bedrock
  • Cohere
  • Gemini

Messaging & Runtime

  • Redis Streams
  • FrankenPHP
  • WebSockets

Testing & Delivery

  • Pest
  • OpenAPI
  • GitHub Actions
  • Azure DevOps
  • Docker

Performance & Product Notes

  • The outbox and retry ladder keep agent output deliverable across LLM, job, and worker failures.
  • Retention pruning keeps the usage table bounded as call volume grows.
  • Pre-flight filtering cuts spend by keeping low-value messages out of paid inference entirely.

© 2026 Md Sajjadur Rahaman

Built with