When my co-founder Felix Staeritz and I started Allocator One in 2023, our fund operations ran on spreadsheets. Capital call calculations in Excel. Investor reporting via copy-paste into Word. NAV computations that took a full day and three people cross-checking each other's work.
This is not unusual. Most emerging fund managers operate this way. The fund admin industry has been slow to modernise. The tools available to small funds are either enterprise software priced for billion-dollar AUM or just Excel.
We decided to build something better. This is how Infra One's platform came together: the technical decisions, the trade-offs, what we learned.
Why Elixir?
The first major decision was the language. We chose Elixir running on the BEAM virtual machine. It has been one of the best technical decisions we made.
Fund administration is a concurrent problem. You have multiple funds, each with multiple investors, each with their own capital accounts, tax lots, and reporting requirements. Operations happen in parallel: a capital call for Fund A needs to be processed while Fund B's quarterly reports are being generated and Fund C's new LP is going through KYC.
The BEAM's process model maps naturally to this. Each fund vehicle can be its own isolated process tree. Failures in one fund's computation do not cascade to others. The supervision tree gives us self-healing behaviour, which is critical when handling real money.
The data model
Fund accounting is complex. A single capital call involves computing each LP's pro-rata share based on their commitment, accounting for existing over-calls or under-calls, calculating management fees, applying fee offsets, generating the notice documents, and updating the waterfall calculations.
We model this as an event-sourced system. Every financial transaction is an immutable event. The current state of any fund, investor, or capital account is derived by replaying events. This gives us a complete audit trail (essential for regulated financial services) and lets us recompute historical states when corrections are needed.
Real-time over batch
Traditional fund admin runs on batch processing. You collect inputs during the day, run the batch overnight, review results in the morning. This made sense when computation was expensive and data entry was manual.
We took a different approach. Every transaction updates the system state in real time. When an LP commits additional capital, the impact on their account, the fund's total commitments, and the management fee calculations is visible immediately. LiveView makes this trivial: no polling, no refresh buttons.
This changes the workflow. Instead of waiting for overnight batch results, our operations team catches errors in real time. A data entry mistake is visible within seconds, not discovered during next-morning reconciliation.
What we got wrong
Not everything was smooth. Our initial approach to multi-currency support was too simplistic. We treated currency conversion as a presentation-layer concern when it is a fundamental accounting concept. Rebuilding that cost us several months.
We also underestimated the complexity of regulatory reporting across jurisdictions. Austrian reporting requirements differ substantially from Luxembourg, which differ from Cayman. Our first attempt at a unified reporting engine tried to abstract these differences. We moved to jurisdiction-specific modules that share common interfaces but handle their own regulatory logic.
Where we are now
The platform handles fund formation, investor onboarding (including KYC/AML via Dotfile), capital calls and distributions, NAV calculations, regulatory filings, and investor reporting. It runs the operations for every fund Allocator One has invested in. We are opening it to GPs in our broader network through Backbone.
In future posts, we will dig deeper into specific technical topics: our approach to document generation, how we handle multi-entity fund structures, and the AI features we are building.
