
Parvandeyar — Immigration Case Manager
Parvandeyar is built for offices that send students and workers abroad. Opening a case for a destination and visa type generates the official document checklist for that country, each applicant gets a private link to upload files from their phone without an account, and consultants approve or reject each document with a written reason. Each case moves through seven stages, from consultation to visa, and every stage change is kept in the case history.
// Architecture
A FastAPI backend sits on the shared Orv SaaS core (JWT auth, tenancy, billing, multi-token Telegram client) with a Next.js 14 panel in front, and every office's data is isolated by tenant in PostgreSQL 16. An in-process APScheduler runs the daily reminder and subscription-expiry jobs, and each office can connect its own Telegram bot so applicants upload documents from inside Telegram. Uploads are checked by their real file signature, not the browser-supplied type, and stored per office outside the web root.
// Key capabilities
Checklists for 19 countries
Study, work and tourist checklists for 19 destinations, including the translation and legalization chain Iranian documents need because Iran is not part of the Apostille Convention.
Applicant portal, no account
Each applicant gets one private link to see what is missing, upload PDFs or photos, and read why a document was rejected so they can send the right version.
Reminders that don't spam
A daily job nudges applicants about idle required documents and approaching deadlines, capped at one message per applicant within a set window.
Passport expiry warnings
When a passport is uploaded the system asks for its expiry date and flags any passport with less than six months of validity left.
// Technology stack
- Python / FastAPI
- Next.js
- PostgreSQL
- APScheduler
- Telegram Bot API
- Docker
// Next step
Need something like Parvandeyar — Immigration Case Manager?
Tell us what you're building. We'll reply with how we'd approach it, a rough timeline and the first step.
Start a similar project


