From Spreadsheet Overload to 60-Second Decision Briefs: Signelle's AI Data Platform
Full-stack AI SaaS built for Signelle — transforms uploaded spreadsheets into Decision Briefs in 60s, powered by Claude API + rule-based analysis.
Problem Statement
Founders and operators were drowning in spreadsheets with no time or bandwidth to interpret their own data. Every business decision required digging through files, building ad-hoc summaries, and still being left uncertain about what to actually do. The problem wasn't a lack of data — it was a lack of signal.
Our Approach
HadidizFlow built Signelle from the ground up: a full-stack SaaS platform where users upload any data file (CSV, Excel, JSON, TSV, or plain text) and receive a structured AI-powered Decision Brief within 60 seconds. The platform combines a deterministic 6-stage analysis pipeline with Claude API narration, producing tiered briefs — Decision, Monitor-Only, All-Quiet, or Data-Stale — each with signals, confidence indicators, and one-click actions. Multi-workspace support, email delivery, and an AI Brief Assistant chat widget round out the product.
6-Stage Analysis Pipeline + Brief Assistant Chat
Challenges We Solved
Deterministic Pipeline + Optional AI Narration
Pure AI-generated briefs are unreliable — they hallucinate metrics, skip signals, and have unpredictable latency. But pure rule-based output reads like a spreadsheet dump. The system needed to be trustworthy first, good-sounding second.
The pipeline is purely deterministic through five stages — column inspection, tier detection, metric computation, governance, and narrative building — producing a complete, valid brief with no AI dependency. Claude API is only called at stage 6 to improve the narrative tone for medium and large datasets. If the API fails or times out, the user still gets a complete brief. AI is an enhancement, not a requirement.
Multi-Sheet XLSX Parsing with Combined Run
Real-world Excel files often have multiple sheets representing different time periods, regions, or business units. Treating the whole file as a single run loses the per-sheet signal; ignoring the relationships loses the cross-sheet context.
The ingest layer uses parseXlsxAllSheets() to generate one analysis run per sheet plus a combined run where all sheets are merged with a _sheet column tag. A single upload produces N+1 briefs — one for each sheet and one for the combined dataset — giving users both granular and aggregate views automatically.
Governance Rails: All-Quiet and Data-Stale Trust System
Sending a brief every time a file is uploaded creates noise and trains users to ignore alerts. But never sending one when nothing changed isn't obviously better than a dashboard. Users needed a reason to trust that silence means safety.
governOutcome() applies cooldown logic against recent runs and checks data freshness before assigning briefType. If the data hasn't changed materially since the last run, the brief is typed as Monitor-Only or All-Quiet — explicitly telling the user nothing needs action. If the data appears stale (old timestamps, no variation), it surfaces as Data-Stale. Users learn to treat the inbox as a signal, not a firehose.
Multi-Workspace Auth with Firebase + PostgreSQL
The platform needed to support teams — multiple seats per workspace, per-workspace data isolation, and role-based permissions — without locking into a BaaS that would constrain the data model.
Firebase Auth handles identity and session tokens via the frontend SDK; the Express middleware (requireAuth) verifies the Firebase JWT server-side on every API request and maps it to an internal account in PostgreSQL. Workspaces, memberships, data sources, runs, and signals all live in Postgres with Drizzle ORM providing type-safe queries. Firebase does auth; Postgres owns the data.
Project Timeline
Discovery
Mapped the core problem: decision-makers don't lack data, they lack time to interpret it. Defined the four brief types (Decision, Monitor-Only, All-Quiet, Data-Stale) and the governance rules that determine which one fires — establishing that trust and silence are as valuable as the brief itself. Identified the five file formats that cover 95% of real-world data workflows.
Build
Built the full stack from scratch: the 6-stage analysis pipeline with optional Claude API narration, the multi-sheet XLSX ingest layer, the React dashboard with Kanban board and inbox, the AI Brief Assistant chat widget, email brief delivery via Resend, and multi-workspace/multi-seat support with Firebase Auth + PostgreSQL. The pipeline was designed so AI is never a dependency — briefs are complete before Claude is called.
Launch
Validated the product against the client's own businesses before opening to users — a real-world stress test across diverse datasets. Reached 300,000+ documents analyzed with an average processing time of approximately 60 seconds per file. The governance rails proved their value early: the All-Quiet and Monitor-Only brief types reduced noise and increased user trust in the inbox as a meaningful signal.
Screenshots & Visuals
Ready to Build Something Similar?
Let's discuss how we can help transform your business with AI.
Start Your Project