unsubbed.co

Piglet

Piglet is a Python-based application that provides simple web app for managing household budgets.

Open-source household budgeting, honestly reviewed. No marketing fluff, just what you get when you self-host it.

TL;DR

  • What it is: A lightweight, self-hosted web app for tracking household expenses and budgets — built by a single developer early in their programming career [README].
  • Who it’s for: Technically comfortable individuals or couples who want a private, no-subscription way to log expenses, share a household budget, and see monthly spending reports [README].
  • Cost savings: YNAB runs $14.99/month ($99/year). Piglet is $0 software license (GPL-3.0) and runs on a $5–6/mo VPS. The math is obvious if you’re already self-hosting other things.
  • Key strength: Dead simple. No accounts, no syncing with bank APIs, no upsells. Your data stays on your server [README].
  • Key weakness: This is a solo developer’s early-career learning project with 110 GitHub stars and 1 fork. It is not production-hardened software. No mobile support, insecure-by-default cookie settings, English only, and the last release was June 2024. For serious household finance tracking, Firefly III or Actual Budget are meaningfully better choices [repo].

What is Piglet

Piglet is a self-hosted web application for household budget management. You deploy it via Docker, and it gives you a web interface to add expenses, categorize them, compare spending over time, and share a budget with a partner or family member. There’s also a REST API running on a separate port if you want to integrate it with other tools.

The GitHub description is refreshingly honest: “Simple Webapp to manage and administrate budgets in a household.” No inflated pitch, no SaaS comparisons. The developer, k3nd0x, also includes a disclaimer that sticks out in the README: “I started to build this project at the beginning of my programming career so please be gentle if something is not working as expected.” [README] That kind of transparency is rare and worth taking seriously — it tells you exactly what you’re getting before you commit to running this on your server.

The project is written primarily in Python (59.9%) with HTML/CSS/JavaScript for the frontend. It uses MariaDB as its database, runs the web UI on port 80, and exposes the API on port 8080. As of this review: 110 GitHub stars, 1 fork, 4 total releases, and the latest release (Piglet 1.3) shipped in June 2024 [repo].

The honest framing here is that Piglet is a personal project that grew into something deployable. It’s not built by a funded team chasing the personal finance SaaS market — it’s a functional side project that does one thing simply.


Why people choose it

There are no third-party software reviews of Piglet available. With 110 stars and 1 fork, it hasn’t reached the visibility threshold that generates Trustpilot reviews, YouTube walkthroughs, or blog posts. What you can work with is the stated intent and what the repository actually delivers.

The appeal is straightforward: most household budgeting apps either require you to connect your bank accounts (which means trusting a third party with credentials or read access to your financial data) or charge a monthly subscription that compounds indefinitely. YNAB is $14.99/month. Monarch Money is ~$9.99/month. Copilot is similar. For someone who just wants to manually log purchases and see where money is going, paying $180/year for software that’s more feature-rich than necessary gets old fast.

Piglet’s pitch is the opposite of sophisticated: it’s a simple form-driven app where you enter what you spent, what category it falls in, and it shows you reports. No bank API integration, no syncing, no subscriptions. For a couple tracking shared household expenses on a VPS they’re already paying for, the marginal cost is essentially zero [README].

The budget-sharing feature — letting multiple users collaborate on one instance — is the differentiator from a simple spreadsheet. It removes the “who updates the shared Google Sheet” coordination overhead without requiring any third-party service.


Features

Based on the README and repository:

Core expense tracking:

  • Add, categorize, and compare expenses [README]
  • Customizable categories and user profiles [README]
  • Monthly reports for tracking spending over time [README]

Collaboration:

  • Budget sharing — multiple users can collaborate on the same household budget [README]
  • Secure user authentication per instance [README]

API:

  • REST API exposed on port 8080, separate from the web interface [README]
  • Allows external integrations if you want to push data from scripts or other tools [README]

Deployment:

  • Docker image available at k3nd0x/piglet on Docker Hub [README]
  • Docker Compose setup bundles both the app and MariaDB [README]
  • Environment variable configuration for database credentials, mail server, domain, and cookie security [README]

What’s missing (from the roadmap, meaning not yet shipped):

  • Multi-language support — English only right now [README]
  • Mobile-friendly CSS — the UI is not optimized for phones [README]
  • Password change via the web UI — currently requires direct DB intervention [README]
  • SQLite as a database option — currently requires MariaDB/MySQL [README]
  • Admin settings in the web UI for things like mail server configuration [README]

That roadmap section is important context: several things that would be table stakes for a production tool are explicitly marked as not-yet-built. The developer knows these gaps exist and has documented them honestly.


Pricing: SaaS vs self-hosted math

Piglet:

  • Software license: $0 (GPL-3.0) [repo]
  • A VPS to run it: $5–6/month (Hetzner, Contabo, or DigitalOcean)
  • MariaDB is bundled in the Docker Compose setup

YNAB (You Need A Budget):

  • $14.99/month or $99/year
  • Bank sync included; extensive reporting; mobile apps; active development

Monarch Money:

  • $9.99/month (~$120/year)
  • Bank sync, investment tracking, net worth tracking

Firefly III (self-hosted alternative):

  • $0 software license (AGPL-3.0)
  • Same VPS cost as Piglet — $5–6/month

The self-hosted math is clear enough: if you’re already running a VPS for other tools, Piglet adds no marginal cost. Against YNAB, that’s $100–$180/year saved. Against Monarch Money, ~$120/year.

What the pricing comparison doesn’t capture is the time cost. Piglet has no bank sync — you enter expenses manually. If you’re currently paying for YNAB partly because it automatically pulls transactions from your bank, that automation has real value that Piglet doesn’t replace. The trade-off is: pay for automation vs. manually log expenses in exchange for zero subscription cost and full data privacy.

For someone already comfortable with manual expense tracking (or currently using a spreadsheet), the switch to Piglet has no workflow downside. For someone relying on automatic transaction import, Piglet won’t feel like an upgrade.


Deployment reality check

The Docker Compose path is straightforward for anyone who has deployed a two-container stack before. You clone the repo, configure a .env file with database credentials, domain, and mail settings, run docker-compose up -d, and the app initializes with a default database on first start [README].

Default credentials are admin@$DOMAIN / admin. Change these immediately [README]. This is the kind of default that creates incidents when people forget.

The insecure cookie setting is on by default. The README explicitly flags this: “Currently ‘unsecure cookie setting’ is activated to allow a login over http per default.” [README] If you’re exposing this to the internet — and you probably are if you want to access it outside your home — you need to set SECURE_COOKIE=True and run it behind a reverse proxy with HTTPS. The README recommends this but doesn’t walk you through it. If you’ve never set up Caddy or nginx as a reverse proxy, budget an extra 30–60 minutes.

What you actually need:

  • A Linux VPS with 1GB RAM minimum (MariaDB and a Python web app aren’t heavy)
  • Docker and docker-compose installed
  • A domain name and reverse proxy for HTTPS (Caddy is easiest)
  • SMTP credentials if you want email features

What can go sideways:

  • The insecure default cookie setting will silently work over HTTP but leave sessions exposed — easy to miss if you don’t read the disclaimer
  • No password reset via the UI means if a user forgets their password, you’re going into the database directly [README roadmap]
  • No mobile-optimized UI — using it on your phone will be awkward [README roadmap]
  • Last release was June 2024; there’s no guarantee active development continues

Realistic time estimate: 30–45 minutes for someone who has deployed Docker stacks before. 2–3 hours for someone learning reverse proxy setup alongside it. This is not one of the more painful self-hosted deploys.


Pros and cons

Pros

  • Zero subscription cost. GPL-3.0 licensed, self-hosted, no per-user fees, no tiers [repo].
  • Simple to deploy. Docker Compose with two containers, minimal configuration [README].
  • Budget sharing built in. Multiple users on one instance for household collaboration [README].
  • REST API included. Port 8080 exposes an API if you want to build on top of it or push data from scripts [README].
  • Honest about its limitations. The README disclaimer and roadmap section tell you exactly what’s missing — unusual transparency for a self-hosted project [README].
  • Completely private. No bank API connections, no external data syncing, no third-party servers involved [README].

Cons

  • Early-career project, not production-hardened. The developer says so explicitly. 110 stars and 1 fork means minimal real-world testing outside the author’s own use [repo][README].
  • Insecure by default. Cookie security is disabled out of the box; requires manual configuration to be safe over the internet [README].
  • No mobile UI. The web interface is not responsive; mobile use is explicitly on the roadmap as unfinished [README].
  • English only. No i18n support yet [README].
  • No password change via web UI. Must modify the database directly [README].
  • MariaDB only. SQLite support is roadmapped but not shipped — adds operational complexity compared to simpler single-file database tools [README].
  • Slow release cadence. 4 total releases, last one June 2024. Active development is unclear.
  • No third-party reviews, community, or ecosystem. With 1 fork, there’s no community to ask for help if you hit issues.

Who should use this / who shouldn’t

Use Piglet if:

  • You’re already self-hosting other tools on a VPS and want to add household budgeting with zero additional subscription cost.
  • You’re comfortable with Docker Compose deployment and setting up a reverse proxy.
  • You and a partner want a shared expense log that lives on your own infrastructure, not a third-party server.
  • You prefer manual expense entry and don’t need bank sync.
  • You want something simple — not Firefly III’s full accounting model, not YNAB’s envelope system — just a log of expenses with categories and monthly reports.

Skip it (use Actual Budget instead) if:

  • You want an actively maintained, well-documented self-hosted finance tool with a real community and polished UI.
  • You need mobile access — Actual Budget has mobile apps.
  • You want bank sync or CSV import from your bank.

Skip it (use Firefly III instead) if:

  • You need serious personal finance management: double-entry bookkeeping, investment tracking, multi-currency support, recurring transaction rules, and an extensive API.
  • You want a tool with years of production use, a large community, and extensive documentation.

Skip it (use YNAB) if:

  • You want automatic bank sync and don’t want to touch a server.
  • You’re willing to pay $99/year for a polished, actively developed product with mobile apps and customer support.
  • The command line makes you uncomfortable.

Alternatives worth considering

  • Actual Budget — the strongest direct competitor for self-hosted personal/household budgeting. Actively maintained, has a web UI and mobile apps, supports bank sync via plugins, has a real community. This is where most people looking for a self-hosted YNAB replacement should start.
  • Firefly III — the most mature self-hosted personal finance tool. More complex than Piglet (it’s a full double-entry accounting system), but far more capable. If you’re serious about tracking finances long-term, Firefly III is worth the steeper learning curve.
  • YNAB — the paid SaaS standard in this space. $99/year, automatic bank sync, mobile apps, active development, proven methodology. If you don’t want server maintenance overhead and the subscription cost is acceptable, YNAB is hard to beat on pure usability.
  • Monarch Money — newer SaaS alternative with investment tracking and net worth views, ~$120/year.
  • HomeBank — free, open-source desktop application (not self-hosted web). Good for single-user tracking without running a server.

For a non-technical founder or someone new to self-hosting, the realistic shortlist is Actual Budget vs YNAB. Pick Actual Budget if you want zero subscription cost and are willing to deploy Docker. Pick YNAB if you want something that just works.

Piglet sits below both of these in maturity and features. Its use case is narrower: technically comfortable users who want the simplest possible self-hosted expense log without Firefly III’s accounting complexity or Actual Budget’s broader feature set.


Bottom line

Piglet does exactly what it says: it’s a simple web app for logging household expenses, shared between household members, running on your own server. The developer is honest that this started as a learning project, and the codebase reflects that — it works, it’s deployable, but it’s not hardened for production and the release cadence has slowed. The insecure-by-default cookie setting requires manual correction, mobile support is absent, and with 1 fork and no community, you’re on your own when things break.

If you’re looking for a self-hosted household budgeting tool, start with Actual Budget. It’s more capable, more actively maintained, and has a real community. Come back to Piglet if Actual Budget is more than you need and you genuinely want the simplest possible self-hosted expense tracker — at which point Piglet’s straightforward Docker deploy and zero-friction setup are actually appealing. For the right user (already self-hosting, wants minimal complexity, comfortable fixing things manually), it’s a reasonable choice. For everyone else, better options exist.


Sources

  1. k3nd0x/piglet — GitHub Repository (README, features, roadmap, Docker setup, disclaimer). https://github.com/k3nd0x/piglet
  2. k3nd0x/piglet — Docker Hub Image (k3nd0x/piglet). https://hub.docker.com/r/k3nd0x/piglet

Note: No third-party software reviews of Piglet were available at time of writing. The project’s low public profile (110 stars, 1 fork) means all factual claims above are drawn from the primary GitHub source.

Features

Integrations & APIs

  • REST API