Skip to content

Assenagon — Investment Fund Information Platform

Four and a half years of full-stack development on a TYPO3 platform for institutional investors — fund discovery and filtering, automated data imports, performance charts, and a frontend redesign delivered on a live system.

2020 – 2024
TYPO3 11.5 PHP 8.1 Extbase / Fluid MySQL JavaScript Highcharts LESS Grunt Docker GitLab CI DDEV

Challenge

An institutional asset manager needed a platform where professional investors could discover, filter and research fund products. Fund data had to stay current without manual entry, performance needed to be visualised in a way investors could interrogate, and the whole thing had to survive years of evolving requirements.

The platform had been built by another agency and carried several years of history before I arrived. I took the codebase over in 2020 — initially with a co-developer, then as sole developer — and carried it for four and a half years.

Approach

The platform runs on TYPO3 with Extbase and Fluid, on PHP 8.1 and MySQL. Rather than bending the CMS around fund data, the domain lives in two purpose-built extensions: a core framework extension carrying controllers, scheduled tasks, ViewHelpers, frontend authentication middleware and backend layout hooks, and a dedicated fund extension holding the fund MVC — domain models, controller, ViewHelpers, page title provider and slug generation.

That separation is what made years of change survivable. The redesign touched templates and stylesheets; the fund domain underneath stayed stable.

Implementation

Fund discovery. The FundFinder filters by fund type, country, risk class and form of accounting over AJAX, so investors narrow a large catalogue without page reloads. The fund controller drives Highcharts performance visualisation and the document download endpoints.

Automated data pipeline. A fund import utility parses CSV data sources on a schedule, creating and updating fund records along with their relationships to countries, types and risk classes. Fifteen scheduled tasks cover the imports, form-submission exports, news processing and cleanup — the platform keeps itself current rather than waiting on manual entry.

Presentation layer. Around 25 Fluid ViewHelpers handle the recurring domain formatting — fund countries, types, risk classes, number formats, downloads — so template authors express intent rather than repeating logic. On the frontend, roughly 1,800 lines of JavaScript cover the fund listing, Highcharts integration, AJAX filtering, a dual-slider news archive, cookie consent, clipboard handling and custom forms.

Deployment. A multi-stage Docker build compiles assets with Node and serves through PHP-Apache. GitLab CI moves releases through staging and a release candidate stage before production, with tag-based deploys and database sync scripts, and DDEV providing the local environment.

Technical Highlights

Taking over someone else's architecture. The project began as an inherited codebase from another agency, with years of decisions already baked in. Rather than rewriting, I worked to understand the existing structure and extend it — development continued without a disruptive rebuild, which is usually what an inherited system actually needs.

Redesigning a live platform. The LESS architecture I inherited carried the legacy of earlier redesign cycles. I delivered the 2022 redesign on top of it, modernising the frontend while holding backward compatibility — without taking the platform down or freezing feature work.

Result

Four and a half years of continuous development — through TYPO3 version upgrades, a frontend redesign and a shift from co-developed to solo ownership — with the platform serving institutional investors throughout. Coordinating directly with the client's marketing and fund management teams on content and data requirements, the work settled into the kind of long-running client relationship where the system stays current instead of accumulating the debt that forces a rewrite.

Highlights

  • Four and a half years of continuous development on one platform
  • Two custom TYPO3 Extbase extensions
  • Automated CSV fund import via scheduled tasks
  • AJAX fund finder with multi-criteria filtering
  • Highcharts performance visualisation
  • 2022 frontend redesign without service interruption