Self-hosted finance intelligence
2026 · Open-source release
Powerhour
Turning private financial data into decisions you can act on
I designed and built a self-hosted finance workspace that turns Plaid-synced accounts, transactions, and recurring expenses into forecasts, savings choices, and constrained AI-assisted plans.
Open source · ISC License
Self-hosted finance intelligence, built for clarity.
Connect your banks, understand your spending, and plan what comes next—on infrastructure you control.Projections
30-Day Projected
$2,088.9360-Day Projected
$4,177.8690-Day Projected
$6,266.79Detected Recurring Items
Quick scan
TL;DR
The shortest version: what changed, what shipped, what was verified, and where the proof stops.
Overview
Problem
Financial decisions span balances, transactions, recurring costs, and future obligations, but those signals are usually split across tools.
Move
Built one owned workflow that syncs the data, explains the present, forecasts pressure, and turns the result into a plan.
Outcome
Released an open-source system with a working dashboard, a 24-tool Ticker agent, a goal-oriented planner, reports, and hardened finance-data boundaries.
Scope
Independent product, design, and full-stack engineering across the application, deployment path, and marketing narrative.
Proof
- Release
- Open sourceInitial public release recorded February 17, 2026.
- Agent surface
- 24 Ticker toolsCurrent source exposes queries, forecasts, audits, reports, goals, and record-level actions.
- Security checkpoint
- 5 findings remediatedThe June 2026 journal records clean dependency audit, type, lint, security, test, and Compose checks after remediation.
- Product proof
- 10-screen light suiteReal application captures cover dashboard, accounts, ledger, planning, subscriptions, budgets, and settings with simulated data.
01 · Context
The problem was not access to data. It was turning data into a decision.
Banking tools are good at showing one account at a time. The decisions people actually make—whether a future bill is covered, which recurring charge to revisit, or how quickly a savings goal is realistic—cut across accounts, transactions, and time.
Powerhour started from a different constraint: keep the financial stack self-hosted, connect the records through Plaid, and make the next useful decision visible without handing the whole experience to a hosted finance SaaS.
Dashboard
▤ Generate ReportTotal net worth
$10,071.22MTD: $781.02 +8.41% YTD: $0.00 +0.00%- Assets
- $11,787.82
- Liabilities
- $1,716.60
- Liquidity
- $11,787.82
Net worth$
$10,071.22Total assets↗
$11,787.82Total liabilities↘
$1,716.60MTD spending▭
$2,783.75Account overview
Ask Ticker about your spending, balances, or transactions.
02 · The decision
Organize the product around a decision loop, not a feature inventory.
Understand today. See what is ahead. Choose what to change. Build the next move.
The product and marketing work converged on the same sequence. The transaction ledger and dashboard establish the present; projections expose upcoming pressure; recurring-cost review turns passive data into a choice; and the planner converts that context into a savings, travel, or spending plan.
This framing replaced a gallery of disconnected screens. Each surface now has a job in the story, which keeps the interface and the portfolio evidence focused on decisions rather than raw feature count.
Engineering notePrivacy boundaries are part of the interaction model.
The agents can act on financial context, but their access is constrained below the prompt layer and public web research is separated from private finance access.
- Agent queries use PostgreSQL views that exclude Plaid tokens and sync credentials.
- PII is masked before model calls and selectively restored for database tool inputs and streamed responses.
- Budget Planner web search is blocked after private-finance tools are used in the session.
Try the decision loop
Give the planner a goal and inspect the move it makes.
This is the same interaction pattern used on the Powerhour marketing site: start with a human goal, then make the assumptions and next move visible instead of dropping the visitor into an empty chat box.
Interactive demo uses simulated financial data. It does not call the Powerhour application or save anything.
03 · What shipped
A complete path from synced activity to a concrete plan.
Plaid synchronization ingests accounts, cursor-paginated transactions, and daily balance snapshots. The application turns those records into a dashboard, searchable ledger, account history, expense groups, 30/60/90-day forecasts, recurring-cost review, savings targets, and smart budget goals.
Two task-specific agents sit on top of that system. Ticker exposes 24 tools for questions, forecasts, anomaly checks, reports, and record-level actions. Budget Planner uses a smaller mode-aware toolset for travel research, savings goals, and spend-reduction plans.
See what is ahead
Projections
30-Day Projected
$2,088.9360-Day Projected
$4,177.8690-Day Projected
$6,266.79Projected Expenses (90 days)
Build the next move
AI Budget Planner
BetaPlan a trip, set a savings goal, or create a spending budget
— just describe what you need in plain English.
Cut spending
Savings goals
Plan a vacation
Engineering noteThe data path stays inspectable.
The system uses explicit synchronization, schema, projection, and tool layers instead of asking a model to infer financial state from an opaque document dump.
- Plaid Transactions Sync uses cursor pagination with transaction upserts and removals.
- Balance snapshots and recurring-item records support historical charts and forecasts.
- Reports are rendered in memory and the release path is packaged with Docker Compose and nginx.
04 · Evidence
The proof is the working system—and the constraints it survived.
Powerhour reached an initial open-source release in February 2026. The repository includes the application, schema, agents, tools, sync pipeline, demo mode, deployment configuration, and regression tests rather than a front-end-only concept.
A later repository security audit found five concrete issues across finance-data boundaries, Plaid integration, AI-tool egress, deployment controls, and dependencies. The fixes were implemented at the narrow boundary where each risk originated, and the recorded verification passed type checks, lint, focused security tests, the full test suite, dependency audit, and Compose validation.
There is not yet visitor or user-outcome analytics to cite. The current case-study evidence is therefore limited to shipped behavior, source-level controls, release history, test results, and real product captures using simulated data.
05 · Reflection
Clarity came from sequencing decisions, not adding more explanation.
The marketing work exposed the same lesson as the application architecture: a list of capabilities is not yet a product story. The strongest version begins with the current financial picture, branches into forecast and recurring-cost choices, and ends with a plan.
The engineering work added a second lesson. In a finance product, trust cannot live only in copy or a system prompt. It has to appear in database views, encryption, webhook verification, rate limits, PII transforms, tool policy, deployment defaults, and honest demo labeling.
The next evidence gap is behavioral. The system is shipped and technically verifiable, but future iterations should measure which workflows people return to and where the decision loop actually changes behavior.