Back to Projects

Bizcomp

Financial Intelligence Platform for Belgian Companies

Overview

Bizcomp is a comprehensive financial analysis platform that transforms how users access and analyze Belgian company data. Built on a microservices architecture, the platform automatically extracts, processes, and visualizes financial statements from the National Bank of Belgium, turning complex XBRL data and PDF documents into actionable business intelligence.

System Architecture

The platform employs a distributed microservices architecture designed for scalability and resilience. A Next.js frontend delivers a responsive user experience, while a Fastify API orchestrates data flow between services. Background workers handle asynchronous processing, and a specialized Python service manages PDF extraction using advanced OCR techniques.

User
👤 User
Proxy
Caddy
Reverse Proxy
Application
Next.js
Frontend
Fastify API
Backend
Services
Worker
Background Jobs
PostgreSQL
Cloud SQL
External
Python OCR
PDF Extraction
NBB API
Financial Data
Google Translate
Data flows from top to bottom • Hover over components for details

Core Capabilities

  • Real-time financial data processing with automated XBRL parsing and PDF fallback
  • Interactive dashboards displaying KPIs, ratios, and year-over-year comparisons
  • Advanced PDF extraction using Google Cloud Vision with custom preprocessing
  • Live status updates via Server-Sent Events for transparency during data processing
  • Multi-language support (French, Dutch, English) with SEO optimization

Technology Stack

Next.js 16TypeScriptFastifyPythonPostgreSQLGoogle Cloud SQLDockerTailwind CSS

Technical Challenges & Solutions

Intelligent PDF Data Extraction

Financial documents from the NBB come in varying formats with inconsistent structures. I developed a dual-path extraction system: a fast path that leverages embedded text layers, and a fallback using Google Cloud Vision OCR with OpenCV preprocessing for scanned documents. This approach achieves 95%+ accuracy while maintaining performance.

Real-Time Progress Tracking

Processing financial data can take several seconds. To provide transparency, I implemented a real-time notification system using PostgreSQL NOTIFY/LISTEN paired with Server-Sent Events. Users see live updates as the system progresses through each stage: fetching, parsing, extracting, and calculating ratios.