Sure: the personal-finance app that revived the abandoned Maybe project
we-promise/sure · 10,037★ · 527 forks
Sure is a self-hostable, community-maintained personal-finance app that was born as a fork of the Maybe Finance project after its original team archived it in July 2025. It’s worth covering because it picked up a codebase worth over a million dollars of development (Ruby on Rails, cross-platform, with AI) that would otherwise have gone frozen, and gave it an active development pace: today it’s Maybe’s de facto successor and the most active open-source personal-finance project in the ecosystem Maybe left behind.

Origin
The original project, maybe-finance/maybe, was built by the startup Maybe Finance throughout 2021-2022: a full personal finance and wealth management app, with an “Ask an Advisor” feature connecting users to real CFP/CFA advisors, all included with the subscription. The business didn’t work: the company stopped developing the app in mid-2023 and, having invested “close to a million dollars” in development (employees, contractors, data vendors, infrastructure), decided to open the code so people could self-host it for free.
The team briefly launched a hosted version, which also didn’t pan out as a sustainable B2C business. In July 2025, Maybe made the final call: pivot toward B2B financial forecasting (forecasting and scenario planning) and stop maintaining the repository. The farewell release, v0.6.0 (“Farewell… Maybe”), published July 24, 2025, contains an extensive post-mortem with lessons learned: the chronic difficulty of bank data providers (open banking), the tension between data accuracy and performance, and the dilemma of managing privacy bugs in an open-source project. Josh Shpigford (Maybe’s founder) posted the announcement on X (@Shpigford).

Two days later, on July 23, 2025, the we-promise organization was created, and the following day the first Sure release appeared, v0.6.0, described literally as “a clone of the latest release from the Maybe Finance folks.” The organization changed its name for trademark reasons (“Maybe” is a registered trademark of Maybe Finance Inc. and its use is prohibited in forks), and on August 5, 2025 (v0.6.2) it completed a “mini-rebrand.” Since then Sure has iterated nearly monthly up through the v0.7.5 series.
Philosophy and principles
The philosophy inherited from Maybe is documented in the official post-mortem:
- Intentional simplicity. The goal was to “eliminate complexity” from personal finance. Most people only need to answer four questions: how much money do I have?, do I spend less than I earn?, how much did I spend last month?, what did I spend it on? The team kept asking “what can we delete?”
- A place for every scenario. Transfers between accounts are “first-class citizens”: they’re auto-detected and can’t be categorized, because they shouldn’t count toward budgets. “One-time” expenses (moving expenses, etc.) are automatically excluded from averages.
- Simple self-hosting stack. The original deployed in a single Docker container, with optional market-data dependencies.
- Community over scattered forks. Sure’s README explicitly asks that, instead of creating forks, people contribute to the central project: “You’re free to fork it under the AGPLv3 license — but we’d love it if you stuck around and contributed here instead.”
- Performance transparency. A public Skylight dashboard shows the demo site’s problematic requests, with stacktraces, inviting performance contributions.

How it works
Sure is a Rails-server-centered application (the repo is 12M lines of Ruby, plus HTML, Dart, JavaScript, and Rust). All clients connect to that server and share accounts, authentication, and financial data (verified in docs/clients.md):
- Web app (primary client): the full product, administration, and self-hosting from any modern browser.
- macOS desktop app: a Tauri 2 shell that renders the web app in a native window; on first launch it asks for the server URL, checks its health status, and loads the login flow (experimental since v0.7.3).
- Mobile app: a Flutter companion for iOS and Android, focused on authentication and balances (alpha since v0.6.7, “mobile polish” in v0.7.2).
- MCP endpoint: the Model Context Protocol (JSON-RPC 2.0) so external assistants (Claude Desktop, GPT agents, local agents) can query and act on financial data without copying it into chat.
- HTTP API with an OpenAPI spec (
docs/api/openapi.yaml) for scripts, importers, and custom dashboards.

Documented functional features: net-worth dashboard, bulk transaction search and update, budgets with category averages, auto-categorization rules and merchant detection, multi-currency, CSV and OFX import, bank sync (v0.6.5, with SimpleFIN, Lunch Money Flow, and Enable Banking), investments (Coinbase, etc.), passkeys/WebAuthn MFA, “Statement Vault,” and family sharing (v0.7.0/v0.7.1), and a /plan area with budgets and goals (v0.7.4).

The public roadmap (docs/roadmap.md) organizes work into three phases: short-term stabilization, capability expansion (first-class AI, scenario simulation, localization), and platform openness (permissioned external agents, business finance) long-term.

The ecosystem
Repositories in the we-promise organization (18 public, 86 followers; star counts consulted September 10, 2026):
| Repository | Stars | Description |
|---|---|---|
we-promise/sure | 9,810 | The main application. |
we-promise/website | 25 | Sure’s website (sure.am). |
we-promise/sure-mcp-server | 16 | Standalone MCP server for connecting Claude Desktop to Sure (build with Docker or manual install; envs SURE_API_URL, SURE_API_KEY). |
we-promise/sure-cli | 6 | An “agent-first” CLI in Go: JSON output by default ({data, meta, error} envelope), --dry-run by default with --apply to execute, versioned schemas. Installable via Homebrew (brew install we-promise/tap/sure-cli), a bash one-liner, or go install. |
we-promise/docs | 2 | External documentation. |
we-promise/ofx | 0 | OFX (Open Financial Exchange) parser built on Nokogiri. |
we-promise/sure-hass | 1 | Home Assistant addon for running Sure inside a smart home. |
we-promise/homebrew-tap | 0 | Homebrew tap for sure-cli. |
we-promise/dexter | 1 | “Autonomous agent for deep financial research.” |
we-promise/maybe-sure | 4 | Bridge/redirect repository: “FOLLOW we-promise/sure FOR ALL THE ACTION.” |
we-promise/ui-skills | 1 | Opinionated constraints for building interfaces with agents. |
we-promise/sure-moltworker, we-promise/moltbot-sandbox, we-promise/openclaw | 0 | Agent experiments (Moltbot/Clawdbot on Cloudflare Workers; an OpenClaw-style assistant). |
we-promise/n8n, we-promise/macro, we-promise/shannon | 0-1 | Adjacent forks/projects (automation, workspace, security agent). |

Forks and ecosystem around Maybe/Sure:
- maybe-finance/maybe: 54,285 stars, 5,680 forks, archived (last activity July 24, 2025). It’s the direct ancestor.
- maybe-finance/maybe-archive: 371 stars, archived (backup of the original).
- M123-dev/maybe_finance_hass: 10 stars; a Maybe integration with Home Assistant, predating the official
sure-hassaddon. - maybe-finance/emojis: 16 stars; Maybe-style emojis (not archived).
we-promise/surehas 454 forks (mostly local-development, no notable forks with relevant star counts).- Sure is included in the awesome-selfhosted list under personal finance: “Personal finance application for everyone (fork of Maybe),”
AGPL-3.0Docker. - README translated to 8 languages (German, Spanish, French, Japanese, Korean, Portuguese, Russian, Chinese) served via readme-i18n.com, and the app supports its own locales (Turkish in v0.6.1; Catalan, German, Spanish, and Romanian added in v0.6.5).
Official and semi-official status
- De facto successor to Maybe. There’s no official “marketplace” Sure has joined; its status is that of an unofficial community continuation of the archived project. The README states it plainly: “This repository is a community fork of the now-abandoned Maybe Finance project.”
- No affiliation with Maybe Finance Inc. The README itself requires forks to declare they’re not affiliated with or endorsed by Maybe Finance Inc., and prohibits using the “Maybe” name (trademark) or its logo. “Sure” was reserved for the community fork.
- Practical recognition: inclusion in
awesome-selfhosted, PikaPods, Railway, and Hostim deploy buttons in the README, official multi-architecture images on GHCR (ghcr.io/we-promise/sure:stable), and Josh Shpigford (Maybe’s creator) participating as one of the fork’s top current contributors (220 commits, third-largest contributor). That gives it a computing semi-official status, though not a corporate one. - Maybe’s commercial pivot: the decision to pivot to B2B and the “asset sale” (referenced on HN, 2026) confirm that Sure operates in the vacuum the company left, without competition from a maintained Maybe product.
Quick-start guide
Installation and first run
Prerequisites: Docker Engine (verify with docker run hello-world).
mkdir -p ~/docker-apps/sure
cd ~/docker-apps/sure
# 1) Download the example compose file
curl --fail --location --silent --show-error --output compose.yml \
https://raw.githubusercontent.com/we-promise/sure/main/compose.example.yml
# 2) (Optional, for automatic DB backups)
mkdir -p bin
curl --fail --location --silent --show-error --output bin/db-backup.sh \
https://raw.githubusercontent.com/we-promise/sure/main/bin/db-backup.sh
chmod +x bin/db-backup.sh
# 3) (Recommended outside a local network) create .env with secrets
curl --fail --location --silent --show-error --output .env \
https://raw.githubusercontent.com/we-promise/sure/main/.env.example
openssl rand -hex 64 # -> SECRET_KEY_BASE

The compose.example.yml runs with no configuration (spins up web + worker + postgres:16 + redis + alpine for backups). With SECRET_KEY_BASE and POSTGRES_PASSWORD set, docker compose up -d exposes the app on port 3000 (PORT variable). One-click alternatives: PikaPods, Railway, and Hostim buttons in the README. There’s a demo site with sample data at https://demo.sure.am.
For local development (not self-hosting): Ruby per .ruby-version, PostgreSQL > 9.3, and Redis > 5.4; then cp .env.local.example .env.local, bin/setup, bin/dev, and optionally rake demo_data:default for demo data (login user@example.com / Password1!).
Common workflows
-
Connect accounts and import: to self-host and start seeing data, connect a bank-sync provider (SimpleFIN, Lunch Money Flow, Enable Banking, since v0.6.5) or import OFX/CSV statements (accounts, transactions, and trades). The result shows up on the net-worth dashboard and account views.

-
Categorize and budget: to classify repetitive transactions, create rules (auto-categorization, merchant detection, “one-time” marks); the result is budgets showing category averages without transfer noise.
-
Talk to the AI: the app includes an assistant that answers questions about the user’s finances; to use your own model, configure
OPENAI_ACCESS_TOKEN,OPENAI_MODEL, andOPENAI_URI_BASE(since v0.6.4 the endpoint/model are configurable). -
Grant access to an external agent: so Claude Desktop (or a custom agent) can query data, enable the MCP endpoint (
POST /mcp) with OAuth 2.0 (dynamic client registration, recommended for Claude) or a static token (MCP_API_TOKEN+MCP_USER_EMAILincompose.yml). The assistant gains access to that household’s data and write tools (statement import, transaction updates, goals, and budgets). -
Automate with the CLI: for scripts or agents,
sure-clireturns JSON by default and write commands run--dry-rununless--applyis passed.
Essential configuration
SECRET_KEY_BASE: the app’s secret key, required; generate withopenssl rand -hex 64.POSTGRES_PASSWORD/POSTGRES_USER/POSTGRES_DB: database credentials (defaults in the example compose:sure_user/sure_password/sure_production).OPENAI_ACCESS_TOKEN,OPENAI_MODEL,OPENAI_URI_BASE: credentials and model for the assistant’s LLM (configurable endpoint).EXCHANGE_RATE_PROVIDERandSECURITIES_PROVIDER: multi-currency and securities data provider (defaultyahoo_finance; alternativeTWELVE_DATA_API_KEY).RAILS_ASSUME_SSL: switch fromfalsetotruewhen there’s a TLS proxy in front (the container serves plain HTTP).MCP_API_TOKEN/MCP_USER_EMAIL: only if using the MCP’s static-token mode (both required in that flow).
Common pitfalls and fixes
- Performance and heavy data: the README admits to performance issues inherent to a financial app and publishes a Skylight dashboard with the demo’s slow requests to debug them; contributing there is welcome.
- Unsupported banks: Maybe’s post-mortem explains this is the sector’s biggest pain point (unsupported banks, login windows, wrong data). The ecosystem’s practical solution is SimpleFIN support (v0.6.3/v0.6.5) and the Lunch Money Flow / Enable Banking providers, or manually importing OFX/CSV.
- MCP security with a static token: the documentation explicitly warns the assistant will be able to read financial data and run write tools (statement import, changes to goals/categories/tags, transaction and budget updates) for the indicated user; it should only be assigned to users with a trusted AI provider. For Claude, the OAuth flow is preferred.
- Forks and branding: don’t use the “Maybe” name or its logo in forks (trademark); keep the AGPLv3 license and declare provenance without affiliation.
- Data and releases: each release’s notes insist on “proceed with caution/backup your data”; the compose includes an optional
bin/db-backup.shfor automatic backups. - Passkeys/WebAuthn: if enabling passkeys, Touch ID, or security keys as MFA, you need to set the WebAuthn relying party in
.env(WEBAUTHN_RP_ID,WEBAUTHN_ALLOWED_ORIGINS).
Integrations and migration
- MCP / agents: native endpoint (
POST /mcp) with OAuth 2.0 and dynamic registration; plus the standalonewe-promise/sure-mcp-serverMCP server for Claude Desktop and thesure-cliCLI for automations (installable via Homebrew/go install). - Home Assistant: the
we-promise/sure-hassaddon (the earlierM123-dev/maybe_finance_hassalso exists for the Maybe version). - n8n: the organization maintains a
we-promise/n8nrepo (a fork of the automation platform) for workflow patterns with financial data. - Deployment: Docker Compose (recommended), Kubernetes with Helm (documented in the MCP guide), and PikaPods/Railway/Hostim buttons.
- Migrating from Maybe: since Sure is a clone of the last release (v0.6.0, “bug compatible”), self-hosted Maybe users can migrate by switching the image to
ghcr.io/we-promise/surewhile keeping the database and configuration flow; generic import is also available via CSV/OFX. To migrate to Sure from other apps (Actual, Firefly III, Ghostfolio), the documented path is CSV import of accounts, transactions, and trades.
Current metrics
Consulted September 10, 2026 via the GitHub API:
- Stars: 9,810 · Forks: 454 · Watchers: 38.
- Open issues + PRs: 510 (caveat: the API’s
open_issues_countfield sums issues and pull requests). - Total merged PRs (issue search): 2,323.
- Latest release:
v0.7.5-alpha.7(September 9, 2026); the most recent stable isv0.7.4(August 31, 2026: passkeys,/planarea with budgets and goals). - Verified release cadence: v0.6.0 (07/25/2025, Maybe clone) → v0.6.2 “First mini-rebrand” (08/05/2025) → v0.6.5 Bank Sync (11/29/2025) → v0.6.6 Rules (12/31/2025) → v0.6.8 native mobile alpha + MCP/RAG (02/28/2026) → v0.7.0 bulk categorization and family sharing (04/30/2026) → v0.7.3 Insights + valuations + experimental macOS (07/31/2026) → v0.7.4 (08/31/2026).
- Top contributors (API, consultation date): jjmata (388), dependabot[bot] (369), zachgoll (230), Shpigford (220), gariasf (149), sokie (131), JSONbored (95), luckyPipewrench (83), alessiocappa (82), sure-admin (65).
- Languages: Ruby (12.0M lines), HTML, Dart, JavaScript, Rust, CSS, TypeScript, Shell, among others.
- Active commit line: last commit consulted 2026-09-10 21:06 UTC (colinedwardwood, “Allow API transaction update to opt into sync”).
- Ancestor: maybe-finance/maybe with 54,285 stars and 5,680 forks, archived.
Community reception
- Hacker News (from the original project, direct context): the thread “$1M personal finance and wealth management software now free and open-source” (January 12, 2024, 47 points, 14 comments), posted by Shpigford, collects reactions from named users: davecraige (“This is awesome. Thanks for releasing all of this Josh”), flyosity (“Tons of great little UI details… Really, really good stuff”), pedroslopez (lives in the Dominican Republic and notes commercial products don’t reach his region), skwee357 (8 years building a personal-finance tool without shipping; believes the market lacks something well-made), zknicker (applauds it being one of the few large OSS projects on Next/React), heygarrison (“Glad to see Maybe getting another chance at life”), and ezekg (surprised to see TypeScript instead of Rails).
- Hacker News (from the fork): Sure’s HN presence is minimal: a single thread, “Sure: The personal finance app, community fork of Maybe Finance” (May 1, 2026, 1 point, 0 comments, posted by sebakubisz). No launch threads with traction for the fork were found in the search performed.
- Reddit: the relevant thread retrieved is r/selfhosted “Maybe open-source personal finance app” (January 2025, about Maybe going open-source). It wasn’t possible to read the body or comments in this run: Reddit blocked the API, browser access, and redlib/proxy mirrors (verified directly, not an omission from lack of searching). So no scores or quotes from that thread are reported (unverified).
- Twitter/X: the pivot announcement and Maybe’s farewell were shared by Shpigford himself (status, cited in the v0.6.0 release and Sure’s wiki). No specific launch threads for the fork with verifiable metrics were retrieved (unverified).
- Product Hunt / YouTube: no Product Hunt page or tutorial video with verifiable views was located in the searches performed (omission due to a genuine absence of retrievable results).
- Internal adoption signals: release notes show an active community from week one (“Feels amazing to have 7 active contributors already… Actually 8” — v0.6.1, August 1, 2025; “5 new people that sent PRs that were merged” — v0.6.2) and named contributions from data providers (
@Himmelschmidtfor SimpleFIN,@sokie,@luckyPipewrench,@alessiocappain v0.6.5). - Criticism/limitations acknowledged by the team: the README openly states performance problems (with a public Skylight dashboard); Maybe’s post-mortem documents bank-data failures, hybrid-cache inconsistency, and the difficulty of debugging financial bugs without exposing private data.
Comparison with similar projects
Only real, verified competitors in this run (star counts from the GitHub API, September 10, 2026):
| Project | Stars | Key difference vs. Sure |
|---|---|---|
| actualbudget/actual | 28,680 | “Local-first personal finance app.” Local-first approach (local SQLite) vs. Sure’s centralized Rails server; no native AI assistant or MCP of the same class. |
| firefly-iii/firefly-iii | 24,568 | A PHP (Laravel) personal-finance manager, long-lived and focused on manual expense accounting; Sure inherits a Rails + AI + cross-platform-clients stack. |
| ghostfolio/ghostfolio | 9,270 | “Open Source Wealth Management” (Angular + NestJS + Prisma + Nx), geared toward investment portfolios; Sure covers budget + transactions + investing + AI in one place. |
| maybe-finance/maybe | 54,285 | Not an active competitor but the archived ancestor: same codebase, unmaintained since July 2025. |
In practice, Sure competes for the specific “maintained Maybe” niche: anyone who already had Maybe self-hosted has a direct migration path, while Actual dominates the local-first niche and Firefly the manual expense-accounting one.
How to contribute
The repo documents a full process in CONTRIBUTING.md:
- House rules: read
AGENTS.mdanddocs/llm-guides/architecture.mdfirst (testing, UI, API, and provider guides indocs/llm-guides/). Review prior issues/PRs. Issues aren’t assigned (“we don’t assign or ‘give away’ issues”); with multiple PRs for the same issue, the one that solves it best and with the least scope wins; priority goes to prior committers. - Dev setup: VSCode Dev Container (recommended; includes
selenium/standalone-chromefor system tests:DISABLE_PARALLELIZATION=true bin/rails test:system, observable browser athttp://localhost:7900or:4444with passwordsecret) or local setup with per-Mac/Linux/Windows guides on the wiki. - PR flow: fork →
my-new-featurebranch → commit → push → PR with “Allow edits from maintainers” enabled → link the issue withfixes #XXX→ pass all GitHub Checks and be up to date withmain→ request review. All PRs go tomain. - Automatic security: every PR to
mainruns a Pipelock scan (~30s) looking for leaked secrets and agent security risks; the check fails if it finds anything. Zero configuration. - What to contribute: “full features” that move the project closer to its Vision; the wiki is the triage source.
Use cases and who this repository can help
- Self-hosted Maybe users left orphaned: this is the main case. Sure starts from the same “bug compatible” v0.6.0 release, so migration is just switching the container image and keeping data; along the way they regain maintenance, fixes, and new sync providers.
- People who want total control of their financial data (the r/selfhosted crowd): personal finance without a third-party cloud, with MFA (2FA, passkeys/WebAuthn), OIDC, and export; the README translated to 8 languages and the app’s own locales broaden the non-English-speaking audience.
- Teams experimenting with AI over personal data: the native MCP endpoint (OAuth or token), the standalone MCP server, and
sure-cli(JSON-first,--dry-run/--apply) let you connect Claude Desktop or a custom agent for queries, statement import, and transaction reorganization with explicit control. - Home automation enthusiasts: the
sure-hassaddon integrates the finance panel into Home Assistant; useful for anyone already running a self-hosted smart home who wants balances/spending in the same ecosystem. - Developers who want to study a complete financial app: 12M lines of Ruby, Maybe’s public technical post-mortem (bank data, cache consistency, multi-currency),
llm-guidesfor code agents, and a contribution process with security scanning — a case study of a mature open-source product with a monthly release cadence. - Integration authors: the OpenAPI spec, the custom OFX parser (
we-promise/ofx), and provider APIs (Twelve Data, Yahoo Finance, SimpleFIN) offer documented extension points for importers, dashboards, and automations (e.g. thewe-promise/n8nrepo).
Resources
- Repository: https://github.com/we-promise/sure
- Documentation: https://sure.am (Docs section) · Docker guide · Clients · MCP · Roadmap
- Official integrations: sure-mcp-server · sure-cli · sure-hass (Home Assistant) · ofx parser · website
- Ancestor and context: maybe-finance/maybe (archived) · Farewell release v0.6.0 with post-mortem
- Demo: https://demo.sure.am
- Community / Discord: https://discord.gg/36ZGBsxYEK
- HN threads: Sure, community fork of Maybe (1 pt, 0 cmts) · Maybe open-sourced, $1M software (47 pts, 14 cmts) · Maybe v0.6.0 farewell (4 pts)
- Reddit: r/selfhosted — Maybe open-source personal finance app (unverified content in this run, see Community reception)
- Image registries: ghcr.io/we-promise/sure (
stabletag) - Curated list: awesome-selfhosted (personal finance category)
- X/Twitter: @Shpigford (pivot announcement, cited in the official release)
Methodology note: this article is based on the README, docs/ (clients, docker, mcp, roadmap), CONTRIBUTING.md, GitHub release notes, the GitHub API, and Hacker News (Algolia) and DuckDuckGo searches consulted on September 10, 2026. Reddit and Product Hunt didn’t yield verifiable content in this run (anti-bot blocking and absence of results, respectively); that data is flagged as unverified. Figures change over time.
Comments