Skip to content
← Projects

DejFakturu

Invoicing for Czech freelancers and small firms — one domain core behind web, desktop, mobile and a Telegram bot.

Year
2022
Status
In progress
Type
Product
Stack
Next.js · TypeScript · Prisma · Electron · Expo · SwiftUI
Clients
Web, desktop, mobile, Telegram bot
Shared core
Document types, formatting, sample data, legal texts
Stage
Working prototype
DejFakturu landing page in Czech: the headline beside a sample invoice with a QR payment code and a “paid” stamp
Landing page — a sample invoice with a QR payment

What it does

DejFakturu (“give me an invoice” in Czech) is invoicing for sole traders and small companies in the Czech Republic. The public page generates a simple PDF invoice without an account; the signed-in part covers a dashboard, invoices with a live preview, customers, expenses, exports and your own billing details. The same product exists as a desktop app, a mobile app and a Telegram bot that answers with an overview, a list of invoices and what's overdue.

How it's built

It started in 2022 as a plain React app; the idea kept coming back because the problem didn't go away. In 2025 I built a native macOS version in SwiftUI with Core Data, localized in Czech, English and Russian, to see how the model feels outside the browser. In 2026 the web version was redone on Next.js with Prisma over PostgreSQL and server-side PDF generation, and then everything moved into a monorepo: a shared core package with the document types, amount and date formatting written by hand instead of Intl so Node, the browser and React Native produce identical output, sample data and the legal texts — consumed by the Next.js web app, an Electron desktop shell with Czech menus, an Expo mobile app and a grammY Telegram bot that runs either as a polling process or as a serverless webhook.

  • Honest status: a working prototype with a finished design system, every screen and the auth mechanics; the real data layer and the invoicing engine (number series, PDF archiving, QR payments, ARES lookup) are the next phase, and the roadmap for it lives in the repo
  • Terms, privacy and cookie policy are one source in the core package, exposed by the web, the mobile app and the bot alike
The DejFakturu landing page on a phone
The landing page on a phone

More screens

The feature overview on the DejFakturu landing page: six blocks with icons
The feature overview on the landing page
DejFakturu landing section about web, desktop, mobile and Telegram, with a sample bot conversation listing invoices that need attention
One product on the web, the desktop, the phone and in a Telegram bot