PL Pocket Ledger
local-first · private · envelope budgeting

Pocket Ledger — your money, your device.

A personal finance app that keeps your financial data on your machine. No cloud sync, no telemetry, no external connections. Envelope budgeting that assigns every dollar a job.

Privacy

Zero telemetry · Zero cloud · Your data stays local

Stack

.NET 8 · WinUI 3 · SQLite · Clean Architecture

Build

dotnet build && dotnet test

Philosophy

What Pocket Ledger believes in.

Local-First

Your financial data stays on your device. SQLite database in AppData. No cloud sync required — ever.

Privacy by Design

Zero telemetry, zero external connections unless you opt-in. No analytics, no tracking, no data harvesting.

Envelope Budgeting

Proven methodology that assigns every dollar a job. Allocate, spend, and track what remains — per category.

Planned Features

What's coming to Pocket Ledger.

Transaction Tracking

Categorized transactions with recurring management. Multi-account support for checking, savings, and credit.

Savings Goals

Visual progress toward what you're saving for. Goal-oriented budgeting that keeps you motivated.

Insights & Export

Spending reports and visual breakdowns. CSV import/export for portability. Dark and light theme support.

Architecture

Clean Architecture — separation of concerns at every layer.

Domain Layer

Core entities (Account, Transaction, Envelope, Goal), value objects, domain events, and business rules. No external dependencies.

Application Layer

Use cases like CreateTransaction, TransferFunds, AllocateBudget. Service interfaces and DTOs for clean boundaries.

Infrastructure + UI

SQLite persistence with repository pattern. WinUI 3 presentation with MVVM and CommunityToolkit.Mvvm.

Tech Stack

Modern, native, and maintainable.

Component
Technology
Purpose
Runtime
.NET 8
Modern, performant cross-platform runtime
UI Framework
WinUI 3 / Windows App SDK
Native Windows 11 experience
Database
SQLite
Local, portable, zero-config persistence
MVVM
CommunityToolkit.Mvvm
Observable properties, commands, messaging
DI
Microsoft.Extensions.DependencyInjection
Standard .NET service registration

Development

Prerequisites

# Requirements
Windows 10/11
Visual Studio 2022 (17.8+) or VS Code + C# Dev Kit
.NET 8 SDK
Windows App SDK

Build & Test

# Build the solution
dotnet build

# Run tests
dotnet test

# Domain tests — pure unit tests, no mocking
# Application tests — mock repositories
# Infrastructure tests — in-memory SQLite