B2B SaaS Platform

Workflow Automation Engine

A visual workflow builder that lets non-technical users automate complex business processes with LLM-powered data extraction.

Lead Full-Stack DeveloperGenius-At-Work2025Team of 5
⚙️

Overview

Led architecture and development of a large-scale B2B SaaS platform for end-to-end management of BTP (construction) enterprises. The centerpiece: a homemade n8n-like workflow engine with drag-and-drop node editing and LLM-powered document extraction.

The Problem

BTP enterprises in Madagascar rely heavily on manual, paper-based processes: invoice handling, compliance checks, project tracking. Existing automation tools like n8n or Zapier were too technical for the end users and too expensive for the local market. The client needed a workflow engine that domain experts could configure themselves, with the ability to extract structured data from scanned documents using LLMs.

Approach

Visual node editor from scratch

Built a drag-and-drop workflow editor in React with custom node types: conditionals, webhooks, scheduled triggers, API calls, and LLM extraction nodes. Each node is independently configurable with a schema-driven form system, so adding new node types requires minimal code.

LLM-powered data extraction pipeline

Integrated LangChain to build an extraction pipeline that processes scanned invoices, permits, and compliance documents. The pipeline uses structured output parsing to convert unstructured PDF/image content into typed data that feeds directly into the workflow graph.

Event-driven execution engine

Workflows execute through Inngest, an event-driven job system. Each node in the graph dispatches the next step as an event, enabling retries, timeouts, and parallel branches without managing queue infrastructure. This made the engine resilient to failures: a single node crash doesn't kill the entire workflow.

Type-safe API layer

The entire platform uses tRPC for end-to-end type safety between the Next.js frontend and the Node.js backend. Schema changes propagate instantly to the client, eliminating an entire class of integration bugs during rapid iteration.

Challenges

Making LLM outputs reliable for business logic

LLM extraction is probabilistic. The same invoice scanned twice can produce slightly different results. Built a validation layer with confidence scoring and human-in-the-loop review for low-confidence extractions. This brought extraction accuracy above 95% for the most common document types.

Workflow graph cycle detection

Users could accidentally create infinite loops in their workflows. Implemented topological sort validation on save and runtime depth limits on execution, with clear error messages explaining which nodes form the cycle.

Results

The platform is in active use across multiple BTP enterprises, replacing manual processes that previously took hours per day.

5

Developers supervised and mentored

95%+

Document extraction accuracy

Hours to Min

Process time reduction for core workflows

Tech Stack

Next.jsFull-stack framework with SSR for the dashboard and static pages for docs
TypeScriptEnd-to-end type safety across the entire monorepo
tRPCType-safe API without code generation or schema duplication
InngestEvent-driven workflow execution with built-in retries and observability
LangChainComposable LLM pipeline for document extraction with structured outputs
Tailwind CSSRapid UI iteration for the workflow editor and dashboard
VitestFast unit and integration tests for workflow execution logic

Leadership

  • Translated complex BTP domain requirements into clear, actionable development tasks for the team.
  • Established code review practices and testing standards across the team.
  • Mentored junior developers on TypeScript patterns and system design thinking.