Self-hosted finance mirror (Firefly III) fed by Copilot exports + LLM layer #15
Labels
No labels
lab-honing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
adam/foundry#15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parked research from 2026-07-25. Keep Copilot Money (trusted paid bank sync stays source of truth); add a self-hosted analytical mirror for durability + a private LLM-over-my-finances layer.
Decision
Tier 2 — Firefly III as a self-hosted archive/query backend (chosen over lightweight DuckDB Tier 1 for extensibility out of the box).
Why Firefly III
Stack (3 containers + Postgres)
firefly-iii/firefly-iii(app, Laravel/PHP, AGPL-3.0)firefly-iii/data-importer(CSV ingest: Copilot export -> column mapping + rules)Data flow
Copilot has no API — export is manual CSV (Settings -> Account -> Export your transactions; web app has filtered exports). Rich schema: Date, Name, Amount, Pending/Posted, Category, Parent Category, Excluded, Type, Account, Account Mask, Notes, Associated Recurrings.
Pipeline: manual CSV export (periodic) -> watched folder -> data-importer -> Firefly. Everything after the CSV lands can be automated; the export click stays manual.
LLM layer
Point existing LiteLLM proxy (litellm:4000) at Firefly's REST API for NL queries + auto-categorization (see community
firefly-iii-ai-categorizepattern).Gotcha
hyperledger-firefly/*is Linux Foundation Web3/blockchain, NOT the finance app. Correct repos:firefly-iii/firefly-iii+firefly-iii/data-importer. API docs: api-docs.firefly-iii.org.Alternatives considered
Next steps when picked up