Paradise Desk
Money, projects and your day — in your own language.
A Persian money-and-work assistant: log spending in one sentence on the web or Telegram, and track budgets, installments, cheques and debts on the Jalali calendar. The Business edition runs a team's GPS attendance, tasks, leave and payroll in one place.

- in development since
- 2023
- commits across 4 repos
- 614
- backend modules
- 67
- surfaces: web, PWA, Android, 2 bots
- 5
Our role
Product, design, frontend, backend, Android app and bots
Challenge
Foreign finance tools don't understand the Jalali calendar, cheques, installments or local banks, and nobody wants long forms. Logging a transaction had to be as easy as sending a message, one account had to work across web, Android and bots — and the personal and business products had to connect without sharing a database.
Solution
We built a Persian natural-language parser for logging transactions from a ⌘K command palette and Telegram, added bank-statement import with duplicate detection, and connected two independent NestJS backends with SSO based on single-use Ed25519 tickets. A native Kotlin app talks to the same API.
Features
- Log spending with one Persian sentence on web, Telegram or by voice
- Category budgets, installments, cheques, debts and receivables on the Jalali calendar
- Bank-statement import from Excel with duplicate detection
- Financial analysis, a financial-health score and an AI assistant
- Business: geofenced GPS attendance, shifts, leave and payroll
- One account across web, PWA, Android, Telegram and Bale bots
Architecture
- 01
Clients
- Next.js 16 · HeroUI
- PWA · Web Push
- Android · Kotlin Compose
- Telegram & Bale bots
- 02
Services
- NestJS · personal API
- NestJS · business API
- Ed25519 SSO
- 03
Data
- MongoDB 7
- Redis 7
- ExcelJS exports
- 04
Infra
- PM2
- Caddy
- Scripted deploys + rollbacks
Engineering notes
- 01SSO between two products with signed Ed25519 tickets — no shared cookies or database
- 0267 backend modules (43 personal + 24 business) on NestJS, MongoDB and Redis
- 03A CMS-driven landing page with draft and publish states
- 04Self-hosted on a dedicated server with a rollback copy of every release
Stack
- Next.js 16
- React 19
- HeroUI
- Tailwind CSS v4
- NestJS
- MongoDB
- Redis
- Socket.IO
- Kotlin + Compose
- PWA
Impact
- Almost four years of continuous development since 2023
- Two products, one account
- The Jalali calendar and official holidays everywhere
Gallery


