Client project · Finance · Document generation
Publifund Platform
Maintenance and evolution of an internal platform for financial data aggregation, regulatory KIID document generation and information distribution to financial media.
Associated experience
Financial Communication Consult
Backend PHP Developer · 2015
View related experienceProject context
Publifund was an internal platform developed by Financial Communication Consult, a company specialized in financial information distribution for investment funds.
The platform aggregated data related to investment funds from multiple external sources and generated standardized regulatory documents known as KIID, for Key Investor Information Documents.
These documents are required by European financial regulations and must follow strict formatting and content rules.
The generated information and documents were distributed to financial information providers and media platforms such as Bloomberg and other financial data distributors.
The system therefore served as a data aggregation, document generation and distribution platform for the investment fund industry.
Project objectives
- Collect data related to investment funds from external sources
- Process and normalize the collected data
- Generate regulatory KIID documents in PDF format
- Archive generated documents
- Provide structured data and documents to financial media platforms
- Offer internal tools to search and manage investment fund data
System overview
The platform operated roughly as a data processing pipeline.
My role
I worked as a backend developer within a small development team.
- Development and maintenance of KIID document generators
- Implementation and updates of PDF generation logic
- Maintenance of complex listing pages displaying financial data
- Participation in parsing logic for data collected by automated bots
- Maintenance and evolution of internal tools, including a custom ticketing system
- Working within an existing monolithic PHP codebase
Team structure
The in-house technical team was composed of approximately seven people.
I joined the team as one of the junior developers.
Development priorities and planning were mainly coordinated by the lead developer together with company management.
- Lead developer
- Senior developer
- Backend developer
- Full-stack developer
- Two frontend developers
- System administrator
Technologies used
Main languages
- PHP
- SQL
Data storage
- MySQL for storing financial data
- MongoDB for archival storage of generated documents
Document generation
- PDFLib for generating KIID PDF documents
Frontend
- HTML
- CSS
- JavaScript
Infrastructure
- Linux servers
- Cron jobs for automated processes
Data processing
The system relied on automated bots responsible for collecting information about investment funds from external sources.
These bots periodically executed tasks corresponding to a workflow of collection, parsing, normalization and storage in MySQL.
Generated KIID documents were then created from this structured data.
Document generation system
KIID documents followed strict regulatory structures defined by financial authorities.
The system implemented a flexible generation approach, with a default KIID generator for most funds and custom generators for specific funds when needed.
Generation logic was implemented in PHP using PDFLib.
Once generated, documents were archived in MongoDB in order to keep historical versions, allow fast retrieval and serve documents to external clients and internal users.
Data volume
The document archive stored in MongoDB reached several hundreds of gigabytes of data, reflecting the large number of generated documents and historical versions maintained by the system.
Technical challenges
Working with a large existing codebase
The platform had been developed internally over several years without relying on mainstream frameworks.
Understanding and navigating this monolithic architecture required significant time and effort.
Performance constraints
Generating regulatory documents efficiently was an important concern due to the potentially large number of documents requested by external clients and media platforms.
Some implementation choices prioritized raw performance in document generation.
Financial domain complexity
The project required understanding how investment fund information is structured and how regulatory KIID documents must be generated.
This involved working with structured financial data, strict document formats and regulatory constraints on document content.
Integration with external data sources
The system depended on external sources for financial data, requiring reliable parsing and normalization of incoming information.
Outcomes / impact
The Publifund platform served as a central system for aggregating investment fund data, generating regulatory KIID documents and distributing structured financial information to external media platforms.
The system handled large volumes of generated documents and maintained a significant document archive.
Personal learnings
- Development within an established production system
- Maintenance of a large monolithic codebase
- Performance considerations in document generation
- Financial data processing pipelines
- Collaboration within a structured development team
- First experience working on a platform responsible for producing regulatory financial documents at scale