Rusith's ink-brush logo
← all projects

04 · 2025 · live

Project PassGopassport services, digitized.

A full-stack passport application submission and validation system for Sri Lankan citizens. It brings applicant forms, document uploads, appointment booking, admin review, renewals, notifications, OCR, and cloud file handling into one guided service flow.

Problem

Passport services depend on long forms, identity documents, scheduled verification, and back-office decisions. The rough edge is not one screen; it is the handoff between citizen submission, document quality, appointment logistics, and administrative review.

Approach

PassGo splits the product into a polished Next.js applicant/admin portal and a NestJS API. The frontend handles guided application and renewal journeys with TanStack Query, Zustand, document upload flows, and email-triggering API routes; the backend owns JWT role access, Mongo-backed workflows, AWS S3 uploads, throttling, and Google Document AI OCR.

Role

Full-stack engineer. Designed and implemented the applicant experience, admin workflows, backend modules, document processing path, and cloud integrations across the paired frontend and backend repositories.

Highlights

  • Applicant portal supports new passport applications, renewals, status tracking, document uploads, and appointment booking.
  • Admin workspace covers application queues, appointment handling, status updates, notes, rejection reasons, and reporting surfaces.
  • Document pipeline combines AWS S3 storage with Google Document AI OCR for uploaded NIC, birth certificate, passport photo, and supporting files.
  • Backend modules cover authentication, users, applications, appointments, renewals, upload services, S3, and role-protected administration.

Stack

  • TypeScript
  • Next.js
  • NestJS
  • MongoDB
  • AWS S3
  • Google Document AI
  • TanStack Query
  • Zustand
  • Tailwind CSS

At a glance

Surface
Applicant portal + admin API
Frontend
Next.js 15, React 19
Backend
NestJS 11, MongoDB
Integrations
AWS S3, Google Document AI
Status
Live portal / public source
nextRespawnRealm