DVSA Driving Test Booking App
Budget: £1,500 – £3,000 GBP
I'm looking for an experienced mobile app developer to create an app that helps users search for and book earlier practical driving tests available on the UK DVSA website, that come available due to cancellation/more availability. The app should be available on both iOS and Android platforms.
Key features include:
- Ability to search for driving tests at all DVSA test centers across the UK
- Booking functionality for up to 3 driving test centers.
- User authentication via email and password.
- may bee
Ideal Skills and Experience:
- Experience in developing cross-platform mobile apps.
- Familiarity with integrating booking systems and handling real-time data.
- Strong background in implementing secure email/password authentication.
- Knowledge of the UK's DVSA system and processes would be a plus.
Please provide examples of similar apps you've developed.
Here is a further breakdown of the project:
1. Understand How the DVSA Booking System Works
The official DVSA website allows users to:
Book driving tests.
Change driving test dates (i.e., look for cancellations).
Cancel tests.
However, DVSA does not provide a public API for test slot searching or notifications. So most cancellation apps work by automating the test-checking process (e.g., scraping or browser automation).
2. Choose a Tech Stack
Frontend (App Interface)
React Native / Flutter for cross-platform mobile apps
Or Web (React.js / Vue.js)
Backend (Crawler + Notification System)
Node.js, Python (with Selenium or Playwright), or Puppeteer for browser automation
Firebase or PostgreSQL for data
AWS Lambda or cron job scheduler for periodic checks
Twilio, SendGrid, or Push APIs for alerts
3. Build the Automation Engine
Option A: Browser Automation (most reliable)
Use Selenium (Python/Node.js) or Playwright to log in as a user, go to the "Change Test" section, and scan for available dates.
Key steps:
User logs in with:
License number
Booking reference number
Script navigates to DVSA site.
Periodically checks for earlier dates.
If a slot is found, sends notification to the user (email, SMS, or push).
You’ll need rotating proxies or delays to avoid IP bans/rate limits.
4. Store and Manage User Data
Collect user details securely.
Allow preferences like:
Test center(s)
Date range
Times of day
Use a secure DB (e.g., Firebase, PostgreSQL with encryption at rest) to store this data.
5. Notifications
Notify users when a slot matching their criteria becomes available.
Options:
Push notifications (e.g., with Firebase Cloud Messaging)
SMS (e.g., Twilio)
Email (e.g., SendGrid)
6. Security & Legal Considerations
DVSA Policy:
Automating the site may violate DVSA’s terms of service.
Commercial use or excessive polling can get your IP/account blocked.
Ethically, inform users if you are using bots or their login details.
Suggestions:
Use reasonable frequency (every 5–15 mins max).
Allow users to control how aggressively their account is used.
7. Build the User App
User Features:
Register / login
Enter driving license + booking ref
Set preferred test center(s), dates
Start/stop scanning
View history of found slots
Notification settings
8. Testing and Deployment
Use test accounts (not real bookings) when debugging.
Deploy backend scripts on a scheduler (e.g., AWS Lambda, CRON on EC2, or Google Cloud Functions).
Host frontend on app stores or web.
9. Monetization (Optional)
Many apps offer:
Free tier (check every 15–30 min)
Premium tier (check every 2–5 min or guarantee first slot)
Use Stripe or Paddle for payments.
Key features include:
- Ability to search for driving tests at all DVSA test centers across the UK
- Booking functionality for up to 3 driving test centers.
- User authentication via email and password.
- may bee
Ideal Skills and Experience:
- Experience in developing cross-platform mobile apps.
- Familiarity with integrating booking systems and handling real-time data.
- Strong background in implementing secure email/password authentication.
- Knowledge of the UK's DVSA system and processes would be a plus.
Please provide examples of similar apps you've developed.
Here is a further breakdown of the project:
1. Understand How the DVSA Booking System Works
The official DVSA website allows users to:
Book driving tests.
Change driving test dates (i.e., look for cancellations).
Cancel tests.
However, DVSA does not provide a public API for test slot searching or notifications. So most cancellation apps work by automating the test-checking process (e.g., scraping or browser automation).
2. Choose a Tech Stack
Frontend (App Interface)
React Native / Flutter for cross-platform mobile apps
Or Web (React.js / Vue.js)
Backend (Crawler + Notification System)
Node.js, Python (with Selenium or Playwright), or Puppeteer for browser automation
Firebase or PostgreSQL for data
AWS Lambda or cron job scheduler for periodic checks
Twilio, SendGrid, or Push APIs for alerts
3. Build the Automation Engine
Option A: Browser Automation (most reliable)
Use Selenium (Python/Node.js) or Playwright to log in as a user, go to the "Change Test" section, and scan for available dates.
Key steps:
User logs in with:
License number
Booking reference number
Script navigates to DVSA site.
Periodically checks for earlier dates.
If a slot is found, sends notification to the user (email, SMS, or push).
You’ll need rotating proxies or delays to avoid IP bans/rate limits.
4. Store and Manage User Data
Collect user details securely.
Allow preferences like:
Test center(s)
Date range
Times of day
Use a secure DB (e.g., Firebase, PostgreSQL with encryption at rest) to store this data.
5. Notifications
Notify users when a slot matching their criteria becomes available.
Options:
Push notifications (e.g., with Firebase Cloud Messaging)
SMS (e.g., Twilio)
Email (e.g., SendGrid)
6. Security & Legal Considerations
DVSA Policy:
Automating the site may violate DVSA’s terms of service.
Commercial use or excessive polling can get your IP/account blocked.
Ethically, inform users if you are using bots or their login details.
Suggestions:
Use reasonable frequency (every 5–15 mins max).
Allow users to control how aggressively their account is used.
7. Build the User App
User Features:
Register / login
Enter driving license + booking ref
Set preferred test center(s), dates
Start/stop scanning
View history of found slots
Notification settings
8. Testing and Deployment
Use test accounts (not real bookings) when debugging.
Deploy backend scripts on a scheduler (e.g., AWS Lambda, CRON on EC2, or Google Cloud Functions).
Host frontend on app stores or web.
9. Monetization (Optional)
Many apps offer:
Free tier (check every 15–30 min)
Premium tier (check every 2–5 min or guarantee first slot)
Use Stripe or Paddle for payments.
Related categories:
PHP
Python
Mobile App Development
iPhone
Android
Web Scraping
Node.js
iOS Development
React Native
Flutter