Prologue
Sixteen years ago I founded my first company.
Many more followed. Along the way I kept writing the software myself, and kept it in the open.
Today that work shines as three star systems on the arms of one galaxy.
fireflyframeworkproductsopenplatform
Let’s fly in.

Orange, California · Madrid
Technologist and entrepreneur.
I build companies, and the software they run on, where AI meets financial services.
- CTOSignature Management Consultants
- FounderFirefly Software
- FounderFirefly Software Foundation
What I build in the open
01The map
three star systems
Everything I build in the open orbits one of three stars. We will visit them in order, one world at a time.
- fireflyframework: one architecture, a planet for each language
- products: complete applications built on the framework
- openplatform: open business modules for banking and insurance
Organizations
Open source on GitHub / Firefly Software Foundation
02Open-source framework
fireflyframework
One architecture for your services, in the languages your teams already use. The framework handles the plumbing: composition, persistence, messaging, sagas, resilience, identity and operations. Your native libraries and your domain stay yours.
- Born inside a core-banking platform
- Every framework runs multi-step work as compensating sagas
- Maintained by the Firefly Software Foundation
Tooling, books and docs
Spring Boot / FastAPI / Laravel / Axum / ASP.NET Core
03Python
pyfly
The architecture in Python, on FastAPI or Starlette: typed dependency injection, CQRS handlers, sagas, SQLAlchemy repositories and server-rendered HTML.
- Typed dependency injection and CQRS
- Compensating sagas
- The base of weave, forge, flycanon and flyquery
Python 3.12+ / FastAPI / Starlette / SQLAlchemy
04Java
jafly
The architecture in Java, modular and reactive on Spring Boot and WebFlux: commands and queries, sagas and try-confirm-cancel, reactive transactions and observability.
- Sagas and try-confirm-cancel
- Reactive transactions
- The engine under firefly openplatform
In orbit
Java 25 / Spring Boot 4.1 / WebFlux
05PHP · Laravel
larafly
The architecture in PHP, native to Laravel 13: PHP attributes for components, transactions and security rules, with CQRS, a transactional outbox, sagas and event sourcing.
- Attribute-driven components and security
- Transactional outbox and sagas
- Event sourcing
PHP 8.3+ / Laravel 13
06Rust
rsfly
The architecture in Rust, on Tokio and Axum: dependency injection, typed CQRS dispatch, compensating sagas and SQLx repositories with explicit not-found and optimistic-lock results.
- Typed CQRS dispatch
- Compensating sagas
- Explicit, typed failure results
Rust 1.88+ / Tokio / Axum / SQLx
07.NET
netfly
The architecture in .NET, on ASP.NET Core: commands validated and dispatched, attribute-based sagas, structured HTTP errors, all registered through the host’s dependency injection.
- Validated command dispatch
- Attribute-based sagas
- Structured HTTP errors
C# / .NET 10 / ASP.NET Core
08Applied AI
agentic
A Python library for agents with tools, memory and retrieval, built on Pydantic AI. Applications stay in control: they approve or deny the tools an agent wants to use.
- Agents with tools, memory and retrieval
- Human approval for sensitive tools
- Reasoning patterns, pipelines and tracing
In orbit
Python / Pydantic AI / OpenTelemetry
09Products on the framework
products
Complete products built on the framework, each one solving a real problem end to end: process automation, a software factory, versioned knowledge and analytics.
- Built on pyfly and agentic
- Open source on GitHub
- Each one helps build the others
Python / TypeScript
10Process automation
weave
Business processes that run across systems and people, built on pyfly. Runs wait for approvals and events, and record every step they take.
- Design in Studio, YAML, JSON or Python
- Workers, human tasks and threaded email
- APIs, CLI and SDKs to embed it
Python / pyfly / Studio
11Software factory
forge
A software factory that turns a product brief into verified pyfly or larafly software, with coding agents working on bounded tasks and every check on record.
- From product brief to verified software
- Coding agents on bounded tasks
- Executable policies and quality gates
In orbit
Python / TypeScript / Agents
12Knowledge
flycanon
Versioned knowledge with source provenance, hybrid retrieval and answers that cite where every fact comes from. Built on pyfly and agentic.
- Versioned, provenance-tracked sources
- Hybrid retrieval
- Cited answers
Python / pyfly / agentic
13Analytics
flyquery
Ask questions of structured files in plain language, then inspect the SQL behind every answer and keep the history. Built on pyfly and agentic.
- Natural-language questions
- Inspectable SQL
- Query history
Python / pyfly / agentic
14Open business modules
firefly openplatform
Open-source business modules for banking and insurance, published as fireflysoftwaresolutions and built on jafly. Layered, so a bank or fintech adopts only what it needs, reads every line, and keeps it. 105 public services across six layers.
- core41Systems of record: ledger, accounts, payments, cards, every lending product, customers and KYC/KYB.
- domain41Business orchestration over the core, with CQRS command and query buses.
- experience13Customer journeys: onboarding, account opening, cards and lending.
- app2Gateways for authentication and configuration.
- libraries3Payment rails, PSP abstractions and batch infrastructure.
- platform5BOM, parent POM, shared configuration and documentation.
Java / jafly / Spring WebFlux / Kubernetes / Apache 2.0
15Core layer
core
The systems of record: ledger and accounts, payments and cards, every lending product, customers, KYC/KYB, documents and contracts. 41 services in this layer alone.
- Ledger, accounts, payments, cards
- Origination to collections
- Customers, KYC/KYB, GL accounting
Java / R2DBC / Kafka
16Domain layer
domain
Domain services orchestrate the core into business capabilities: lending workflows, product catalog and pricing, KYC/KYB, SCA, notifications and contracts, through CQRS command and query buses. 41 services.
- Loan origination and servicing workflows
- Product catalog, pricing and eligibility
- KYC/KYB, SCA and notifications
Java / jafly CQRS / Sagas
17Experience layer
experience
Experience services shape customer journeys on top of the domain: onboarding individuals and businesses, opening accounts, issuing and replacing cards, and applying for loans. 13 services.
- Individual and business onboarding
- Account opening and cards
- Lending journeys
Java / BFF / OpenAPI

That is the galaxy so far. It keeps growing, one world at a time.
Let’s talk.
The quickest way to reach me is a message on LinkedIn.