https://hopdrop-gbxk.onrender.com
HopDrop is a crowd-powered smart parcel delivery prototype for the Mangaluru-Karkala corridor. It models how trusted travelers can carry packages along routes while senders and receivers verify handoffs with OTPs and proof photos.
- Uses existing travel to reduce delivery friction and cost.
- Adds lightweight trust controls (deposit lock, OTPs, proof photos).
- Demonstrates a realistic, end-to-end logistics workflow.
- Role-based flows for Sender, Traveller, and Receiver.
- Wallet model with deposit lock and reward payout.
- Per-package pickup and delivery OTP verification.
- Proof photos for pickup and delivery.
- Region-limited address autocomplete.
- WhatsApp share flows for real-world notifications.
- Render-ready deployment configuration.
graph LR
U[Users] --> FE[Frontend]
FE --> API[Flask API]
API --> DATA[In-memory storage]
API --> WALLET[Wallet and OTP logic]
API --> STATIC[Static assets]
- Register or sign in.
- Create a package with pickup and delivery details.
- Receive pickup and delivery OTPs.
- Share the delivery OTP with the receiver.
- Pay the reward after delivery.
- Browse available packages on a route.
- Accept a package (deposit is locked in the wallet).
- Confirm pickup with the pickup OTP.
- Complete delivery with the delivery OTP.
- Track by package ID or phone number.
- View status updates and proof photos.
pip install -r requirements.txt
python backend/app.py- render.yaml configures the service and health check at /health.
- runtime.txt pins the Python version for consistent builds.
- The frontend uses same-origin API calls, so no host changes are needed.
- POST /register
- POST /login
- POST /create-package
- GET /sender-packages?phone=...
- POST /pay-package
- GET /match-packages?route=...
- POST /accept-package
- POST /confirm-pickup
- POST /complete-delivery
- POST /cancel-delivery
- GET /wallet/
- POST /top-up
- POST /verify-identity
- GET /package/
- GET /receiver-packages?phone=...
- GET /packages
Place screenshots in docs/screenshots/ and update this section:
- landing.png
- sender-flow.png
- traveller-flow.png
- receiver-tracking.png
- payment-confirmation.png
hopdrop/
backend/
app.py
frontend/
index.html
dashboard.html
sender.html
traveller.html
receiver.html
styles.css
session.js
autocomplete.js
three-bg.js
legacy/
backend/
frontend/
docs/
screenshots/
- All data is stored in memory and resets when the server restarts.
- Payments are simulated for demo purposes.
- Legacy FastAPI/Firebase prototypes are preserved in legacy/ for reference.
Licensed under the Apache License 2.0.
© 2026 Kanishk Hegde. Please do not redistribute or present this project as your own work without attribution.