explaingit

kzekiue/kosh

Analysis updated 2026-05-18

32TypeScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

A self-hosted personal finance app for accounts, budgets, bills, and CSV imports, built to keep your money data on your own server.

Mindmap

mindmap
  root((Kosh))
    What it does
      Accounts and transactions
      Budgets and bills
      Savings goals
      CSV imports
    Tech stack
      Next.js
      PostgreSQL
      Drizzle ORM
      pnpm Turborepo
    Use cases
      Self hosted budgeting
      Private ledger tracking
      Optional AI questions
    Audience
      Privacy focused users
      Self hosters
    Limits
      Requires own server
      Encryption key not recoverable if lost
      AI is optional external call

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Track accounts, transactions, and transfers on your own server.

USE CASE 2

Set budgets, recurring bills, and savings goals for personal finance.

USE CASE 3

Import bank statements from CSV files without a third party service.

USE CASE 4

Ask AI powered questions about your finances using an optional Gemini integration.

What is it built with?

TypeScriptNext.jsPostgreSQLDrizzle ORMDocker

How does it compare?

kzekiue/koshalexmt/mobile-for-argocdalvinunreal/juice
Stars323232
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderateeasy
Complexity3/53/53/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs Node.js 22.13+, PostgreSQL 16+, and proper secrets configured before production use, Docker Compose simplifies local setup.

In plain English

Kosh is a personal finance app you run yourself, rather than a hosted service that stores your financial data on someone else's servers. It is built for people who want full control of their own accounts, transactions, budgets, bills, recurring payments, savings goals, and CSV imports without handing that ledger over to a third party. The project is upfront that it is practical finance software, not financial advice, and it encourages users to verify important decisions independently. The feature set covers the everyday parts of managing money: accounts, transfers, categories, tags, budgets, bills, recurring transaction drafts, goals, and reports. Money is calculated using exact integer based math rather than rounded decimals, and the app does not invent foreign exchange rates on its own. There is an optional AI assistant powered by Google Gemini for asking questions about your finances, but it is turned off by default, along with an optional read only integration for external tools. Technically, Kosh is a Next.js web application backed by a PostgreSQL database, using a tool called Drizzle to manage the database schema and migrations, all organized as a pnpm and Turborepo workspace. Running it requires Node.js 22.13 or newer, PostgreSQL 16 or compatible, and optionally Docker for an easier setup through Docker Compose. Security gets real attention here. Production deployments are required to set proper secrets and encryption keys, and the app rejects weak or default configurations at startup. Sensitive fields like account numbers and transaction notes can be encrypted before being stored, though the README is clear that losing the encryption key means that data cannot be recovered, and that this protects data at rest rather than end to end. Overall, this is a tool for people comfortable running their own server and database who want a private alternative to cloud based budgeting apps, with enough operational detail in the README, covering backups, migrations, and troubleshooting, to support a real self hosted deployment rather than just a quick demo.

Copy-paste prompts

Prompt 1
Walk me through setting up Kosh locally with Docker Compose and PostgreSQL.
Prompt 2
Explain the required environment variables for a production Kosh deployment.
Prompt 3
Help me understand how Kosh's application-level encryption protects sensitive fields.
Prompt 4
Show me how to safely run database migrations and backups with pnpm db:migrate:safe.
Prompt 5
Summarize what happens if I lose my KOSH_ENCRYPTION_KEY.

Frequently asked questions

What is kosh?

A self-hosted personal finance app for accounts, budgets, bills, and CSV imports, built to keep your money data on your own server.

What language is kosh written in?

Mainly TypeScript. The stack also includes TypeScript, Next.js, PostgreSQL.

How hard is kosh to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is kosh for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.