slimatic/zakapp

the zakat app you've been looking for ...

TypeScript

8

2,774 commits

updated Oct 2, 2026

See the code

See what people are saying

SourceMessageScoreDate

ZakApp v1.0.0: a self-hosted Zakat tracker (r/selfhosted)

For years I tracked Zakat in a spreadsheet. It worked, but it could not do wealth analytics or historical tracking without becoming a mess, and the alternatives wanted my net worth on someone else's server. So I built ZakApp After being in beta since the beginning of 2026, it's entered its first…

0

Oct 2, 2026

README

ZakApp Logo

ZakApp

Your Secure, Private Wealth & Zakat Vault.

Version License Status Compliance

ZakApp re-imagines the wealth purification experience by prioritizing user privacy, Fiqh precision, and modern design. Unlike other tools that send your Net Worth to a cloud server, ZakApp performs all calculations locally.

v1.0.0 — Nur and Qamar. The first stable release: the ḥawl is drawn as a moon-arc whose phase tracks the lunar year, the niṣāb basis is derived from your chosen school instead of held as a separate setting, asset values carry the date they were true, and the interface is properly right-to-left for Arabic. Release notes · Changelog

Sustain ZakApp

🔒 Privacy First

  • Zero-Knowledge Encryption: Your payment data is encrypted with YOUR password before sync. Server literally cannot read it.
  • Local-First Storage: Uses RxDB (IndexedDB/SQLite) for offline-first with optional encrypted sync.
  • Client-Side Encryption: AES-256-GCM encryption powered by Web Crypto API (PBKDF2, 600k iterations).
  • Migration Available: Existing users can upgrade historical data via in-app wizard.

Note: As of v0.10.0, payment recipients and notes are encrypted client-side. Even with full database access, the server cannot decrypt your data. Learn more

✨ Features

  • Precision Hawl Tracking: Tracks Nisab thresholds based on Lunar Hijri calendar.
  • Multi-Madhab Compliance: Toggle between Hanafi, Shafi'i, Maliki, and Hanbali rulings.
  • Asset Portfolio Management: Detailed tracking for Gold, Crypto, 401k, and Real Estate.
  • Offline-First & PWA: Installable as a native app with full offline capabilities.
  • Responsive Design: Optimized for all device sizes with mobile-first UX.

🚀 Quick Start (2 Minutes)

The fastest way to get started with zero configuration:

# Clone and run the deployment script
git clone https://github.com/slimatic/zakapp.git && cd zakapp
./deploy-easy.sh

That's it! The script will:

  • ✅ Detect your environment (localhost/IP/domain)
  • ✅ Auto-configure ports and avoid conflicts
  • ✅ Generate secure secrets automatically
  • ✅ Set up automatic HTTPS
  • ✅ Start all services

Access your app:

👉 See EASY-DEPLOY.md for detailed instructions and troubleshooting.

Option 2: Manual Docker Deployment

If you prefer manual control:

# Clone and deploy
git clone https://github.com/slimatic/zakapp.git && cd zakapp

# Copy and configure environment
cp .env.easy.example .env
# Edit .env with your settings

# Start services
docker compose up -d

Option 3: Development Mode

For development with hot reload:

# Clone and install
git clone https://github.com/slimatic/zakapp.git && cd zakapp
npm run install-all

# Start development servers
npm start

📚 Documentation

Documentation Hub — a guided index if you are not sure where to start.

GuideFor
EASY-DEPLOY.mdStart here to install — one script, auto-HTTPS
QUICKSTART.mdThe 3-command version
SELF-HOSTING.mdYour own server, custom domain
DEPLOY.mdProduction architecture
TroubleshootingWhen something breaks
FAQs.mdZakat and Islamic finance questions
API ReferenceREST API
CONTRIBUTING.mdContributing code
SECURITY.md / PRIVACY.mdSecurity model and data handling

🛠 Tech Stack

  • Frontend: React 19, Vite, Tailwind CSS, shadcn/ui
  • Backend: Node.js, Express, Prisma (SQLite)
  • Sync: CouchDB for multi-device sync
  • Security: Client-side AES-GCM (256-bit) powered by Web Crypto API

Detailed technical details can be found in our Architecture Guide.

🤝 Contributing

We welcome contributions! Please read CONTRIBUTING.md for details.

Known limitations, stated plainly

  • Tablet widths (768–1024px) are not covered by the automated layout checks, which measure phone and desktop only.
  • One fiqh question is open: whether the default niṣāb convention should be the gold or the silver basis. Both are available and the default preserves existing behaviour, so nothing changes for existing users. It is with qualified teachers rather than being settled here.
  • The hosted instance is a convenience, not a trust requirement. Self-hosting is the only way to be certain of your own data, and that is the point of the licence.

📄 License

This project is licensed under the GNU Affero General Public License v3.0 - see LICENSE.

🙏 Acknowledgements

  • Open Source Islamic Finance Initiative
  • RxDB for the incredible Local-First database engine
charity
finance
islam
wealth
wealth-management
zakat
zakat-calculator

Significant stargazers

Daniel Meyer

961 followers · starred Jan 2026

slimatic/zakapp

the zakat app you've been looking for ...

TypeScript

8

2,774 commits

updated Oct 2, 2026

See the code

See what people are saying

SourceMessageScoreDate

ZakApp v1.0.0: a self-hosted Zakat tracker (r/selfhosted)

For years I tracked Zakat in a spreadsheet. It worked, but it could not do wealth analytics or historical tracking without becoming a mess, and the alternatives wanted my net worth on someone else's server. So I built ZakApp After being in beta since the beginning of 2026, it's entered its first…

0

Oct 2, 2026

README

ZakApp Logo

ZakApp

Your Secure, Private Wealth & Zakat Vault.

Version License Status Compliance

ZakApp re-imagines the wealth purification experience by prioritizing user privacy, Fiqh precision, and modern design. Unlike other tools that send your Net Worth to a cloud server, ZakApp performs all calculations locally.

v1.0.0 — Nur and Qamar. The first stable release: the ḥawl is drawn as a moon-arc whose phase tracks the lunar year, the niṣāb basis is derived from your chosen school instead of held as a separate setting, asset values carry the date they were true, and the interface is properly right-to-left for Arabic. Release notes · Changelog

Sustain ZakApp

🔒 Privacy First

  • Zero-Knowledge Encryption: Your payment data is encrypted with YOUR password before sync. Server literally cannot read it.
  • Local-First Storage: Uses RxDB (IndexedDB/SQLite) for offline-first with optional encrypted sync.
  • Client-Side Encryption: AES-256-GCM encryption powered by Web Crypto API (PBKDF2, 600k iterations).
  • Migration Available: Existing users can upgrade historical data via in-app wizard.

Note: As of v0.10.0, payment recipients and notes are encrypted client-side. Even with full database access, the server cannot decrypt your data. Learn more

✨ Features

  • Precision Hawl Tracking: Tracks Nisab thresholds based on Lunar Hijri calendar.
  • Multi-Madhab Compliance: Toggle between Hanafi, Shafi'i, Maliki, and Hanbali rulings.
  • Asset Portfolio Management: Detailed tracking for Gold, Crypto, 401k, and Real Estate.
  • Offline-First & PWA: Installable as a native app with full offline capabilities.
  • Responsive Design: Optimized for all device sizes with mobile-first UX.

🚀 Quick Start (2 Minutes)

The fastest way to get started with zero configuration:

# Clone and run the deployment script
git clone https://github.com/slimatic/zakapp.git && cd zakapp
./deploy-easy.sh

That's it! The script will:

  • ✅ Detect your environment (localhost/IP/domain)
  • ✅ Auto-configure ports and avoid conflicts
  • ✅ Generate secure secrets automatically
  • ✅ Set up automatic HTTPS
  • ✅ Start all services

Access your app:

👉 See EASY-DEPLOY.md for detailed instructions and troubleshooting.

Option 2: Manual Docker Deployment

If you prefer manual control:

# Clone and deploy
git clone https://github.com/slimatic/zakapp.git && cd zakapp

# Copy and configure environment
cp .env.easy.example .env
# Edit .env with your settings

# Start services
docker compose up -d

Option 3: Development Mode

For development with hot reload:

# Clone and install
git clone https://github.com/slimatic/zakapp.git && cd zakapp
npm run install-all

# Start development servers
npm start

📚 Documentation

Documentation Hub — a guided index if you are not sure where to start.

GuideFor
EASY-DEPLOY.mdStart here to install — one script, auto-HTTPS
QUICKSTART.mdThe 3-command version
SELF-HOSTING.mdYour own server, custom domain
DEPLOY.mdProduction architecture
TroubleshootingWhen something breaks
FAQs.mdZakat and Islamic finance questions
API ReferenceREST API
CONTRIBUTING.mdContributing code
SECURITY.md / PRIVACY.mdSecurity model and data handling

🛠 Tech Stack

  • Frontend: React 19, Vite, Tailwind CSS, shadcn/ui
  • Backend: Node.js, Express, Prisma (SQLite)
  • Sync: CouchDB for multi-device sync
  • Security: Client-side AES-GCM (256-bit) powered by Web Crypto API

Detailed technical details can be found in our Architecture Guide.

🤝 Contributing

We welcome contributions! Please read CONTRIBUTING.md for details.

Known limitations, stated plainly

  • Tablet widths (768–1024px) are not covered by the automated layout checks, which measure phone and desktop only.
  • One fiqh question is open: whether the default niṣāb convention should be the gold or the silver basis. Both are available and the default preserves existing behaviour, so nothing changes for existing users. It is with qualified teachers rather than being settled here.
  • The hosted instance is a convenience, not a trust requirement. Self-hosting is the only way to be certain of your own data, and that is the point of the licence.

📄 License

This project is licensed under the GNU Affero General Public License v3.0 - see LICENSE.

🙏 Acknowledgements

  • Open Source Islamic Finance Initiative
  • RxDB for the incredible Local-First database engine
charity
finance
islam
wealth
wealth-management
zakat
zakat-calculator

Significant stargazers

Daniel Meyer

961 followers · starred Jan 2026

Languages

TypeScript

90.0%

Shell

5.0%

Python

3.4%