Visati
Modern UAE & Dubai Visa Application and Processing SaaS Platform
Free & Open Architecture Alternative To:
💰 Value & Cost Savings Comparison
Traditional Industry Solution
Custom Enterprise Travel Agency Software
$8,000 - $20,000 upfront development
This Project (By Owais Abdullah)
Free for Personal & Portfolio Learning
Complete modern production-tested architecture
🎯 Pain Points Solved
Why this project was built and the operational friction it eliminates:
The Problem
Travel agencies process visa applications manually via WhatsApp and email, losing track of passports, payment slips, and deadlines.
The Solution
Visati provides a structured multi-step intake flow with real-time validation for passport scans, photos, and flight reservations.
The Problem
Applicants are frequently confused about which UAE visa type they qualify for (30-day, 60-day, transit, or multiple entry).
The Solution
An interactive eligibility calculator recommends the exact visa category and displays transparent pricing before checkout.
The Problem
International travelers face payment failures on local bank portals with high currency conversion friction.
The Solution
Integrated global Stripe checkout supporting multi-currency payments, Apple Pay, and Google Pay with instant receipts.
⚡ Core Capabilities & Architecture
Engineered using Next.js App Router and TypeScript. Relational data (users, applications, documents, payments) is modeled in Neon Postgres via Drizzle ORM. BetterAuth handles authentication. Files are uploaded to secure S3 storage. Stripe webhooks listen for confirmed payments, automatically transitioning applications to the processing queue.
- ✔Guided Multi-Step Application Flow: Intuitive applicant form with document validation and image previews
- ✔Admin Operations Dashboard: Staff management portal to review, approve, reject, or request document re-uploads
- ✔Stripe Checkout: Secure multi-currency transaction processing with automated invoicing
- ✔Automated Status Notifications: Email and SMS milestone alerts keeping applicants informed of visa approval stages
- ✔Dynamic PDF Generation: Generates printable summary dossiers and official visa document packages
- ✔Headless CMS: Sanity CMS powering dynamic FAQ updates, travel guidelines, and regulatory changes
🛠️ How to Setup & Run Locally
Quick-start guide to clone, configure, and execute this project in your own environment:
Prerequisites
- Node.js 18+ and npm
- Neon PostgreSQL database
- Stripe account
- Sanity project
Key Environment Variables
| Variable | Description | Example |
|---|---|---|
| DATABASE_URL | Postgres database URL | postgresql://... |
| STRIPE_SECRET_KEY | Stripe secret key | sk_test_... |
| NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | Stripe publishable key | pk_test_... |
| BETTER_AUTH_SECRET | Session security secret | random_string... |
Execution Steps
1.Clone repository
git clone https://github.com/MrOwaisAbdullah/visati.git
cd visati2.Install dependencies
npm install3.Run database migrations
npx drizzle-kit push4.Start local development server
npm run dev🗺️ Project Roadmap & Planned Improvements
Current release progress and planned future enhancements:
Automated OCR Passport Extraction
Extract passport number, expiry date, and nationality automatically using OCR to eliminate manual entry errors.
Multi-Country Visa Expansion
Expand system modules to support Saudi Arabia Umrah visas and Qatar travel authorizations.
License, Fair Use & Attribution Terms
Creative Commons Attribution-NonCommercial 4.0 (CC BY-NC 4.0)
Free for personal, learning, and portfolio review with mandatory credit to Owais Abdullah. Commercial deployment for travel agencies requires authorization.