Inspiration

At Sri Lanka's passport offices, long queues and manual appointment processes often lead to overcrowding, frustration, and wasted time for both citizens and staff. We wanted to build a solution that modernizes queue management using cloud-native, serverless technology with the goal of improving efficiency, reducing wait times, and delivering a better citizen experience.

What it does

This system allows Sri Lankan passport offices to manage customer queues in real-time. It includes: - Appointment booking via API - Live queue status lookup by date and location - Queue advancement for admin/staff to call next customer - Email notifications when a customer’s token is near

How we built it

Built entirely on AWS Lambda with Python - Data stored in Amazon DynamoDB - Triggered via API Gateway for public endpoints - Used Amazon EventBridge to decouple queue advancement from notifications - Used Amazon SES for sending email alerts to customers - Code versioned and published to GitHub

Challenges we ran into

 - SES sandbox limitations: Unable to email real users without verifying addresses
 - Decimal values from DynamoDB: Had to write a custom converter for JSON serialization
 - IAM permissions: Needed careful setup to allow Lambdas to invoke to the services
 - Designing for multi-location queues while keeping the system stateless and scalable

Accomplishments that we're proud of

 - Fully serverless solution — no EC2, no manual scaling
 - API-first design, easily pluggable into a frontend or mobile app    
 - Email notification working through SES for verified recipients

What we learned

 - Deepened knowledge of AWS services mainly AWS Lambda
 - Learned how to structure modular, reusable Lambda functions
 - Practical lessons on SES, DynamoDB indexing, and AWS IAM roles
 - Importance of separating logic (like notifying users) from action triggers

What's next for sri-lanka-passport-queue-system

- Build a frontend (Vue.js or mobile app) for citizens to check and manage appointments
- Add SMS alerts using Amazon SNS
- Integrate analytics/dashboard for office admins
- Move SES to production mode to email real citizens
- Offer to other government departments that face similar queue challenges

Built With

Share this project:

Updates

Submission history