DVSA Driving Test Booking App

Job ID: 39574612

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.