Skip to content

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.
Star on GitHubSelf-hosting guide
24AI tools across two agents
9PDF report sections
13Visualizations
Built withNext.jsPostgreSQLPlaidGemini

Projections

Potential ShortfallsChecking: projected outflows exceed available balance by $2,642.56

30-Day Projected

$2,088.93

60-Day Projected

$4,177.86

90-Day Projected

$6,266.79
Expense CalendarRecurring ItemsSavings Goals

Detected Recurring Items

Pine Street ApartmentsmonthlyConfirmedNext: 6/30/2026$1,800.00
Comcast InternetmonthlyConfirmedNext: 7/2/2026$79.99
Eversource EnergymonthlyUnconfirmedNext: 7/4/2026$83.47
Netflix.commonthlyConfirmedNext: 7/13/2026$15.49
The shipped marketing surface and the real projections workflow. Product screens use simulated demo data.

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 Report

Total 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.22

Total assets

$11,787.82

Total liabilities

$1,716.60

MTD spending

$2,783.75
Smart budget goals
Savings targets  (2)

Account overview

CheckingFirst National Bank$3,247.82
SavingsFirst National Bank$8,540.00
◯ Ticker

Ask Ticker about your spending, balances, or transactions.

A single dashboard joins balances, goals, account context, and the Ticker assistant. Values shown are simulated demo data.

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.

⌖  Budget PlannerBeta

AI Budget Planner

Beta

Plan 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

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

Potential ShortfallsChecking: projected outflows exceed available balance by $2,642.56

30-Day Projected

$2,088.93

60-Day Projected

$4,177.86

90-Day Projected

$6,266.79
Expense CalendarRecurring ItemsSavings Goals

Projected Expenses (90 days)

Tue, Jun 30Pine Street Apartments$1,845.00
Thu, Jul 2Comcast Internet$79.99
Sat, Jul 4Eversource Energy$83.47
Mon, Jul 13Netflix.com$25.48
Forecasting turns recurring activity into 30-, 60-, and 90-day pressure checks.

Build the next move

⌖  Budget PlannerBeta

AI Budget Planner

Beta

Plan a trip, set a savings goal, or create a spending budget
— just describe what you need in plain English.

e.g. “1-week trip to Japan, May 2027” or “have $5k in savings by June”
⌁  Go →

Cut spending

Tell me how I can cut spending

Savings goals

Have $5,000 in savings by May

Plan a vacation

Plan a 1-week trip to Japan
The planner starts with an explicit goal instead of a generic chat blank state.
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.

Continue with the project

Explore Powerhour in context.