Inspiration
Most Muslims calculate zakat wrong. It's a core obligation, 2.5% of your wealth every lunar year, and the best tool most people have is a spreadsheet or a random website that doesn't know their actual bank balance. Meanwhile their spending lives in Mint, their investments live in Robinhood, and their giving lives somewhere else entirely.
We built Barakah because there's no real finance app for Muslims and we wanted one for ourselves.
What it does
Barakah is a finance app for Muslims. You connect your bank accounts or add them manually, and it tracks your wealth across checking, savings, investments, gold, and silver. It calculates your zakat automatically using live silver prices for nisab, tracks your hawl progress, and shows you exactly what's owed. When your hawl completes you give your zakat to Islamic Relief in one click.
How we built it
Next.js 14 with the App Router, TypeScript, Tailwind, and shadcn/ui on the frontend. Prisma with Postgres on Neon for the database. Deployed on Vercel.
The zakat engine is a set of pure functions that take your wealth and return what you owe. We pulled live gold and silver spot prices from gold-api.com for nisab, Finnhub for stock prices, and Plaid sandbox for bank connections with manual entry as a fallback.
We kept the UI minimal and borrowed heavily from Notion. Off-white backgrounds, no bold text, no shadows, plenty of whitespace. The goal was for the app to feel calm, not like a spreadsheet.
The math
Zakat owed:
$$Z = 0.025 \times \max(0, W - D)$$
where W is your total zakatable wealth:
$$W = C + (g \cdot p_g) + (s \cdot p_s) + I + B$$
and D is your short-term debts. C is cash, g and s are grams of gold and silver, \( p_g \) and \( p_s \) are live spot prices per gram, I is investments at market value, B is business assets.
Nisab threshold, using silver:
$$N = 612.36 \text{ g} \times p_s$$
You only owe zakat if your wealth has stayed above nisab for a full hawl, which is 354 days, not 365. Most calculators get that wrong.
Challenges we ran into
Fiqh is not trivial. Different madhabs disagree on what counts as zakatable, how debts get deducted, and whether to use silver or gold for nisab. We picked Hanafi defaults with silver nisab since more people end up owing zakat that way, which felt closer to the point of the obligation. We documented our assumptions in the app so users can see exactly what we did.
We couldn't demo a full lunar year, so we seeded our demo account with a hawl start date 340 days ago. The app shows hawl completing in 14 days, which lets us walk through the full lifecycle without faking anything on stage.
Keeping the design disciplined was harder than expected. Every time someone wanted to add a gradient or a drop shadow, we had to pull them back. We wrote strict rules early: no pure black, no bolds, fixed spacing scale, rounded 6px on cards and 4px on buttons. Nothing else.
Scope was the real fight. We cut transaction categorization, halal investment screening, family accounts, and a mobile app. The rule was: if a feature doesn't serve the demo, it ships as "coming soon."
Accomplishments
A working zakat engine with live nisab pricing. Clean Notion-style UI we actually like looking at. A real TypeScript codebase with a proper schema, not a prototype held together with tape. Islamic Relief partnership on the giving flow.
What we learned
Islamic finance tooling is wide open. Every "zakat calculator" we looked at was a spreadsheet in a trench coat.
Seeded demo data is half the product. Judges never see your live Plaid integration, they see your dashboard. Getting the demo numbers right was the single highest-leverage thing we did.
Pure functions scale with teams. Putting the zakat math in framework-free TypeScript meant four of us could work in parallel without breaking each other's code.
What's next for Barakah
Multi-madhab support for Shafi'i, Maliki, and Hanbali. Halal investment screening so zakat only counts Shariah-compliant holdings. Sadaqah tracking and recurring giving. Family accounts for household-level zakat. Ramadan mode. Mobile app. Waqf support.
Barakah is v0.1 of a real product. We're not done.
Built With
- finnhub
- gold-api
- lucide
- neon
- next.js
- node.js
- plaid
- postgresql
- prisma
- react
- recharts
- shadcn-ui
- tailwindcss
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.