Legal services · SaaS
SaaS for immigration law firms
A platform for firms that handle residence and work permits for foreigners in Poland: cases, documents, official letters and their deadlines, appointments, payments, and portals where clients and employers see what is needed from them.
- 2026
- Product design, development, hosting
The demo opens on the product landing page; the firm, client and employer cabinets are available on request.

The task
Keep every case, document and deadline of a legalisation office in one system instead of spreadsheets and calls.
A legalisation office runs dozens of cases at once — temporary residence, permanent residence, family reunification — each with its own documents, letters from the voivodeship office, fingerprint appointments and payments. Most of it lived in spreadsheets, notebooks and messengers, and a summons answered a day late can cost a client the case.
Clients and employers called the office for every status update. The government MOS portal has no API and since 2026 the foreigner must file and sign personally, so staff were re-typing data into it by hand. The product had to be sold to many firms, with each firm's data fully isolated and GDPR-compliant.
Solution
What we built
01Cases and deadlines
- New-case wizard: client, legal basis, voivodeship, employer by NIP
- Document checklist per basis and voivodeship, with who provides each item
- Registering a letter computes its legal deadline from the delivery date
- Daily digest of reminders with escalation; calendar of office appointments
02Portals for clients and employers
- Phone-first client portal without a password: case status, missing documents, payments, messages
- Step-by-step guide to filing in MOS
- Employer portal: workers, required documents, notifications with their deadlines
- Every cabinet in Polish, Ukrainian, English and Russian
03Automation
- Browser extension that fills the MOS form during the client's own session — it never submits or signs
- Polish documents generated from templates: replies to summons, appeals, powers of attorney
- Company data from GUS REGON, CEIDG and the VAT white list
- Card and BLIK payments paid straight to the firm, invoices for KSeF
04SaaS platform
- Self-service sign-up by NIP, onboarding and client import from CSV/XLSX
- Subscription by active cases; an unpaid firm goes read-only instead of losing data
- Row-level isolation of every firm's data in PostgreSQL
- Mandatory 2FA, encrypted personal identifiers, access log, platform admin panel
Screens
Inside the product




Technology
Stack and result
- Frontend
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS
- next-intl
- TanStack Query
- Backend
- NestJS
- Prisma
- PostgreSQL (RLS)
- Redis + BullMQ
- Gotenberg
- OpenAPI
- Integrations
- GUS REGON
- CEIDG
- VAT white list
- Stripe Connect
- KSeF
- Extension
- Chrome / Edge, Manifest V3
- TypeScript
- Infrastructure
- Docker
- Hetzner (EU)
- Cloudflare
- Terraform
- ClamAV
- MinIO (S3)
- Result
- 25 product epics delivered in five releases; about 900 automated tests; security audit with every critical finding fixed.
Have a similar task?
Tell us about it. We will share relevant experience and suggest how to approach it.