AI-assisted document intelligence SaaS for construction companies.
OCR · Hybrid ML pipeline · Business rules · Entity-based routing · Human validation · SaaS architecture · Stripe subscription flow
Website: https://brixa.fr
This repository is a public showcase.
The production source code, business logic, classification rules, model pipeline, infrastructure secrets, endpoints, prompts, test documents and sensitive implementation details are not public.
This repository is intended for:
- project presentation;
- portfolio use;
- recruiter review;
- product communication;
- technical overview.
No API keys, database URLs, Stripe secrets, customer files, uploaded documents or production credentials are included in this public repository.
Brixa is a vertical Document AI SaaS for construction companies.
It is designed to help small and medium construction companies recover, read, classify, organize, route and validate administrative, accounting, HR, worksite, public tender, compliance and vehicle fleet documents.
The product has evolved from a simple construction document classifier into a broader construction document assistant.
The goal is not only to recognize a document type.
The goal is to create a usable workflow around real construction company operations:
Document intake
↓
OCR / text extraction
↓
Hybrid document classification
↓
Business field extraction
↓
Entity-based routing
↓
Human validation when needed
↓
Organized business records
↓
Future alerts, checks and automation
Brixa automates what is reliable and keeps human validation where uncertainty matters.
Construction companies handle many documents every day:
- supplier invoices;
- client invoices;
- quotes;
- purchase orders;
- delivery notes;
- worksite reports;
- service orders;
- public tender documents;
- certificates and insurance documents;
- employee documents;
- vehicle fleet documents;
- bank documents;
- waste tracking documents;
- scanned documents and mobile photos.
This creates operational friction:
- documents are difficult to find;
- scanned files are not searchable;
- supplier, client and worksite documents are mixed together;
- certificates and insurance documents are hard to track;
- accounting teams often ask for missing documents;
- tender application files require many supporting documents;
- manual classification is slow and error-prone;
- important deadlines can be missed.
Brixa was built to reduce this friction by combining OCR, document classification, construction-specific business rules, field extraction, entity-based organization and human validation.
Brixa helps construction companies:
- upload PDFs, scans, images and mobile photos;
- extract text with OCR or native PDF parsing;
- classify documents into construction-specific document categories;
- extract useful business fields;
- detect relevant entities such as worksites, clients, suppliers, subcontractors, employees and vehicles;
- route documents into the right business context;
- send uncertain documents to a human review workflow;
- organize documents into a searchable document library;
- prepare future compliance alerts, tender checks and financial matching workflows.
The product is built around a practical principle:
A document exists once, but it can appear in several business records through extracted metadata.
Examples:
- a supplier invoice can be linked to a supplier and a worksite;
- a timesheet can be linked to an employee and a worksite;
- a vehicle loan agreement can be linked to an employee and a vehicle;
- an insurance certificate or authorization can feed future compliance alerts.
Brixa is currently in an advanced pre-commercial validation stage.
Implemented foundations include:
- SaaS landing page;
- signup / login;
- email verification;
- company workspace;
- secure document upload;
- upload of PDFs, scans, images and mobile photos;
- OCR for native PDFs, scanned PDFs and images;
- hybrid document classification pipeline;
- approximately 50 construction-specific document classes;
- business field extraction;
- entity normalization;
- initial entity-based document routing;
- human validation workflow;
- document review screen;
- document library;
- filtered and grouped document deletion;
- responsive desktop / mobile interface;
- protected routes;
- admin dashboard;
- blog / admin content system;
- Stripe Checkout integration;
- Stripe webhook flow;
- trial and subscription access logic;
- Render deployment;
- Google Search Console setup;
robots.txtandsitemap.xml;- field testing and iteration with a construction-domain expert.
Some modules are implemented as foundations, while others are part of the next product roadmap.
The public repository intentionally does not expose the private implementation details.
Brixa uses a hybrid document intelligence approach:
OCR / text extraction
+
ML-oriented classification
+
weighted business rules
+
anti-confusion logic
+
business field extraction
+
entity normalization
+
entity-based routing
+
human validation
This hybrid approach matters because real construction documents are messy.
A pure ML model is not enough because documents can have:
- inconsistent layouts;
- scanned pages;
- mobile photos;
- OCR noise;
- missing fields;
- ambiguous wording;
- business-specific exceptions.
A pure rule-based system is also too rigid because real document variety is high.
Brixa combines both approaches:
- OCR extracts raw text from PDFs, scans and images;
- the ML-oriented pipeline predicts document families;
- business rules handle construction-specific cases;
- anti-confusion rules help separate similar document types;
- field extraction identifies useful metadata;
- entity normalization links documents to the right business records;
- confidence routing decides what can be processed automatically and what needs review;
- human validation keeps the workflow reliable.
Examples of difficult document distinctions:
- invoice vs credit note;
- invoice vs payment reminder;
- payment reminder client vs payment reminder supplier;
- BPU vs DQE vs DPGF;
- CCTP vs CCAP;
- PPSPS vs prevention plan;
- RIB / IBAN vs bank statement;
- payslip vs sick leave document;
- vehicle registration document vs vehicle inspection document;
- reception report vs testing / compliance report.
Brixa is designed to handle these cases progressively through field tests, expert feedback and business-rule iterations.
Brixa now covers approximately 50 construction-specific document classes.
The classes are grouped into business families.
- supplier invoice;
- client invoice;
- supplier credit note;
- client credit note;
- quote;
- purchase order;
- delivery note;
- progress payment statement;
- work situation;
- payment proposal;
- supplier invoice reminder;
- client invoice reminder;
- bank statement;
- RIB / IBAN;
- expense report;
- contribution / due payment notice.
- DPGF;
- BPU;
- DQE;
- CCTP;
- CCAP;
- act of engagement;
- DC4 subcontracting declaration;
- technical memorandum;
- contract;
- amendment.
- service order;
- worksite report;
- worksite plan / PIC;
- DICT / DT;
- reception report;
- reserve lifting report;
- DGD;
- testing / compliance report;
- control office report.
- PPSPS;
- prevention plan;
- safety data sheet;
- waste tracking document;
- asbestos / lead diagnostic;
- certificate / attestation;
- Kbis;
- insurance document;
- regulatory compliance document.
- payslip;
- DPAE;
- sick leave;
- medical visit notice;
- labor timesheet;
- employee authorization / certification.
- vehicle registration certificate;
- vehicle inspection document;
- vehicle loan / assignment agreement.
This extension was built progressively with construction-domain feedback and tested through real document confusions.
Brixa extracts useful fields depending on the document type.
Examples of extracted fields include:
- amount;
- date;
- document number;
- SIRET / SIREN;
- IBAN / BIC;
- contract reference;
- worksite name;
- client;
- supplier;
- subcontractor;
- employee;
- vehicle;
- vehicle registration number;
- expiration date;
- hiring date;
- sick leave end date;
- vehicle inspection date;
- validity limit;
- subcontracted amount;
- compliant / non-compliant status.
The interface intentionally shows only the fields needed for immediate validation.
The backend can preserve richer metadata to prepare future modules such as:
- tender application checks;
- compliance alerts;
- worksite monitoring;
- financial matching;
- payment reminders;
- retention guarantee alerts.
Brixa is moving from a simple “classify into folders” logic toward business entity-based document organization.
The main business records are:
- worksites;
- clients;
- suppliers;
- subcontractors;
- employees;
- vehicles;
- company-level documents;
- unlinked documents.
The current routing layer introduces entity-based organization.
The next backend iteration will harden this with more dedicated entity tables, alias handling and document-entity linking.
Worksite documents can be grouped into:
- contract documents;
- execution documents;
- financial documents;
- safety and compliance documents;
- reception and closing documents.
Examples:
CCTP, CCAP, DPGF, BPU, DQE, DC4
→ contract documents
Service orders, worksite reports, worksite plans, DICT / DT
→ execution documents
Invoices, quotes, progress statements, purchase orders
→ financial documents
PPSPS, safety data sheets, waste tracking, diagnostics, compliance reports
→ safety and compliance
Reception reports, reserve lifting reports, DGD
→ reception and closing
Client records can group:
- identity documents;
- commercial documents;
- invoices;
- reminders;
- worksite-related documents.
Supplier records can group:
- identity documents;
- commercial documents;
- invoices;
- credit notes;
- reminders;
- RIB / IBAN.
Subcontractor records can group:
- identity documents;
- compliance documents;
- contracts;
- DC4;
- insurance certificates;
- payment documents;
- reminders.
Employee records can group:
- administrative documents;
- field documents;
- health documents;
- timesheets;
- authorizations and certifications.
Vehicle records can group:
- vehicle registration certificate;
- vehicle inspection document;
- vehicle loan or assignment agreement;
- insurance documents.
Company-level documents include:
- own Kbis;
- company RIB;
- bank statements;
- insurance documents;
- certificates;
- contribution notices;
- regulatory documents.
This structure prepares future Gmail / Outlook, Drive, OneDrive and compliance modules.
Brixa does not try to make every decision fully automatic.
The workflow keeps human validation when:
- the OCR quality is low;
- the classification confidence is uncertain;
- several document types are plausible;
- business fields are missing;
- extracted amounts or dates look inconsistent;
- the document is sensitive;
- routing to a client, supplier, worksite, employee or vehicle needs confirmation.
This is important because administrative construction documents can have accounting, legal, HR and compliance consequences.
The goal is not blind automation.
The goal is:
automate the obvious, review the uncertain, and keep the final workflow trustworthy.
This public repository does not include the production code, but the product architecture is organized around the following components.
frontend/
landing page
signup / login
email verification
upload dashboard
review workflow
document library
company settings
admin dashboard
legal pages
contact page
backend/
FastAPI application
authentication
company workspace logic
secure upload routes
file preview routes
OCR pipeline
document classification pipeline
business rules
anti-confusion logic
extraction pipeline
entity normalization
entity-based routing
document validation workflow
Stripe Checkout routes
Stripe webhook handling
admin routes
deployment configuration
- Python;
- FastAPI;
- SQLAlchemy;
- PostgreSQL;
- JWT authentication;
- HTTP-only cookies;
- protected API routes;
- company-level access isolation;
- Stripe Checkout;
- Stripe webhook handling.
- HTML;
- CSS;
- JavaScript;
- responsive SaaS dashboard;
- upload workflow;
- review workflow;
- document library;
- settings page;
- landing page;
- legal pages;
- contact page;
- admin dashboard.
- PyMuPDF for native PDF text extraction;
- Tesseract / pytesseract for scanned PDFs and images;
- Pillow for image preprocessing;
- OCR status handling;
- fallback states when OCR fails;
- document field extraction;
- entity normalization.
- Render deployment;
- environment variables;
- production secrets outside the codebase;
- CORS configuration;
- secure file access;
- upload size limits;
- allowed file extensions;
- email confirmation;
- Stripe Checkout;
- Stripe webhook endpoint;
- trial / subscription access logic;
- Google Search Console;
robots.txt;sitemap.xml.
I designed and developed the technical side of Brixa end to end.
This includes:
- Python / FastAPI backend architecture;
- REST API structure;
- authentication and user sessions;
- email confirmation flow;
- company workspace logic;
- secure multi-file upload;
- company-isolated file storage;
- real PDF preview;
- OCR handling for PDFs, scanned documents, images and mobile photos;
- hybrid document classification pipeline;
- approximately 50 construction-specific document classes;
- weighted business-rule iterations;
- anti-confusion logic;
- business field extraction;
- entity normalization;
- initial entity-based document routing;
- human validation workflow;
- document library;
- filtered and grouped document deletion;
- responsive desktop / mobile interface;
- protected routes;
- admin dashboard;
- blog / admin content system;
- Stripe Checkout integration;
- Stripe webhook flow;
- trial and subscription access logic;
- Render deployment and production configuration;
- Google Search Console setup;
- field testing and iteration with a construction-domain expert.
Brixa required responsibilities that are often spread across several roles:
| Area | What I handled |
|---|---|
| Backend Python Development | FastAPI, REST APIs, PostgreSQL, SQLAlchemy, authentication, Stripe, deployment |
| AI / ML-Oriented Development | OCR, classification, extraction pipeline, anti-confusion logic, business validation |
| Full Stack Development | Frontend interface, responsive mobile UX, frontend/backend integration |
| Product Building | V1/V2 prioritization, roadmap, feature trade-offs, product positioning |
| UX / Workflow Design | Review screen, validation flow, document organization, user journey |
| SaaS Building | Free trial, subscription model, Stripe Checkout, landing page, production setup |
| QA / Testing | Manual tests, bug fixes, expert feedback, real document validation |
| Technical Project Coordination | Technical decisions, priority organization, coordination with a construction-domain expert |
This is what makes the project meaningful: it is not only a coded feature or a standalone ML model.
It is a complete SaaS product combining technical, product and business constraints.
Brixa is now in an advanced pre-commercial validation stage.
- SaaS landing page;
- authentication;
- email confirmation;
- company workspace;
- document upload;
- secure file storage;
- real PDF preview;
- OCR for images and scanned documents;
- hybrid document classification pipeline;
- approximately 50 construction-specific document classes;
- business field extraction;
- review workflow;
- document validation;
- document library;
- entity normalization;
- initial entity-based routing;
- grouped / filtered deletion;
- admin dashboard;
- blog / admin content system;
- legal pages;
- contact page;
- Stripe Checkout test validation;
- Stripe webhook flow;
- live payment readiness;
- Render deployment;
robots.txt;sitemap.xml;- field testing with a construction-domain expert.
- final live Stripe environment check;
- final end-to-end production acceptance test;
- email inbox connection;
- product demo assets;
- commercial outreach;
- field feedback loop with construction companies.
This is the next critical product milestone before broader commercial launch.
Objective:
Users connect Gmail or Outlook / Microsoft 365, and Brixa automatically retrieves incoming attachments.
Planned features:
- OAuth2 Gmail / Microsoft 365;
- PDF / image / scan attachment retrieval;
- Gmail Pub/Sub, Microsoft Graph, or scheduled polling;
- OCR when needed;
- classification into construction-specific classes;
- business field extraction;
- worksite / contract matching when references are detected;
- file hash-based deduplication;
- automatic placement into “To validate” when uncertainty remains.
User promise:
In the morning, the user opens Brixa and sees:
“3 documents received, classified and ready to validate.”
Objective:
Turn extracted expiration dates into proactive compliance alerts.
Planned features:
- expiration date storage;
- J-60, J-30 and J-7 alerts;
- in-app and email notifications;
- compliance dashboard: valid / expiring soon / expired.
Documents concerned:
- ten-year insurance;
- professional liability insurance;
- URSSAF certificates;
- CACES;
- employee certifications;
- vehicle inspection documents;
- regulatory certificates.
Objective:
Help construction companies prepare public tender application folders faster.
Planned features:
- tender response folder creation;
- automatic required-document checklist;
- presence / expiration / missing document checks;
- completeness report;
- future email sending with selected attachments.
Objective:
Match work situations, payment certificates and invoices.
Planned features:
- matching by contract number and period;
- amount comparison;
- discrepancy alerts;
- cumulative invoiced amount tracking versus contract amount.
Planned features:
- automatic J+365 alert after reception report detection to recover retention guarantee;
- alert at 85% of contract amount to anticipate amendment;
- blocking alert at 100% to avoid contract overrun.
Planned features:
- paid / unpaid invoice tracking;
- pre-filled client reminder generation;
- J+30 reminder level 1;
- J+45 reminder level 2;
- potential late-payment interest calculation.
Before this module, Brixa needs a simple UX to mark invoices as paid or unpaid.
Future worksite-level view:
- contract amount;
- cumulative invoiced amount;
- remaining amount to invoice;
- retention guarantee;
- reception date;
- missing or expired documents;
- active alerts;
- 3-month cash-flow forecast.
Near-term product polish:
- forgot password flow;
- fix account-creation message when an email already exists;
- final onboarding UX improvements;
- public demo preparation.
This public repository does not contain:
- production source code;
- API keys;
- Stripe keys;
- database URLs;
- Render secrets;
- internal business rules;
- private classification rules;
- private model pipeline details;
- internal prompts;
- private customer data;
- real uploaded documents;
- sensitive implementation details.
The production code, business logic, classification rules, model pipeline and sensitive implementation details remain private.
Brixa targets a clear operational problem in the construction industry: administrative document management.
Brixa is not just an AI file classifier.
It is a foundation for automating construction administration:
document intake
↓
classification
↓
field extraction
↓
entity routing
↓
compliance tracking
↓
tender preparation
↓
financial matching
↓
cash recovery alerts
The email connection is the key “wow effect” because a large share of external administrative documents arrive by email.
Brixa is positioned around:
- administrative time savings;
- fewer lost documents;
- faster document search;
- better compliance tracking;
- better preparation for accounting;
- faster tender application preparation;
- alerts that may prevent financial losses;
- future premium modules around compliance, tenders, reminders and financial matching.
This public repository is not the product itself.
It is a transparent technical and product overview designed to show the seriousness of the build while keeping the implementation private.
This project is relevant for roles involving:
- Python development;
- backend development;
- applied AI;
- machine learning engineering;
- document automation;
- SaaS backend development;
- product-oriented engineering;
- startup engineering;
- data / ML product development.
What this project demonstrates:
- ability to build beyond notebooks;
- ability to connect backend, frontend and AI logic;
- ability to reason from a real business workflow;
- understanding of production constraints;
- product thinking;
- ability to work with real business problems;
- ability to iterate based on expert feedback;
- ability to build a complete technical foundation for a SaaS product;
- ability to handle ambiguity and ship progressively.
The full source code is private, but the architecture, product logic and screenshots can be reviewed publicly.
This project is part of a broader technical portfolio combining applied AI, SaaS, machine learning and quantitative research.
Market-Neutral Quant ML Alpha Research
Repository: market-neutral-quant-ml-alpha-research
A research-grade Quant ML pipeline for cross-sectional residual alpha research, ETF ranking, portfolio construction, costs, OOS validation, advanced statistics, regime analysis and PCA / covariance diagnostics.
Nasdaq Quant ML Research
Repository: nasdaq-quant-ml-research
A long-only Nasdaq / QQQ directional ML research pipeline with feature engineering, XGBoost, walk-forward validation, realistic backtesting, fees, slippage, risk management, probability calibration, stress testing and trade-level bootstrap.
End-to-End Income Classification ML Pipeline
Repository: income-classification-ml-pipeline
A supervised ML pipeline with preprocessing, model comparison, XGBoost, ROC AUC / PR AUC evaluation, FastAPI prediction endpoint and Streamlit interface.
Breast Cancer Diagnosis ML Pipeline
Repository: ml-breast-cancer-diagnosis
A supervised Machine Learning pipeline using scikit-learn with preprocessing, model comparison, GridSearchCV, evaluation and model persistence.
Building Brixa helped me work on problems that go beyond a tutorial project:
- designing a SaaS product around a real business workflow;
- connecting AI / ML-oriented logic to a usable interface;
- building a document pipeline instead of a standalone model;
- dealing with OCR noise and imperfect real-world data;
- combining business rules with machine learning-oriented classification;
- implementing human validation for reliability;
- structuring backend modules;
- protecting user and company data;
- thinking about deployment, subscriptions, security and product readiness;
- iterating from field feedback with a construction-domain expert.
AI becomes valuable when it is integrated into a workflow that real users can understand, correct and trust.
brixa-public-showcase/
README.md
NOTICE.md
assets/
screenshots/
01-landing-page.png
02-upload-dashboard.png
03-review-screen.png
04-documents-library.png
05-mobile-view.png
06-company-settings.png
architecture/
architecture-diagram.svg
demo/
.gitkeep
Rémy MEYER
Founder and lead developer of the Brixa technical project.
Python developer oriented toward AI / Machine Learning, building end-to-end applied ML, SaaS and quantitative finance research projects.
Proprietary — All rights reserved.
The source code, interface, business logic, classification rules, document processing pipeline and SaaS architecture are not open source.





