Inspiration
We wanted to solve a common rental problem: disputes over security deposits when it's unclear whether product damage existed before or occurred during a rental.
What it does
Handback uses Google Gemini to compare before-and-after product photos, identify potential new damage, and highlight it with bounding boxes. PayPal manages deposit authorisation, partial captures, refunds, and releases. Every deduction requires human approval.
How we built it
Built using React, TypeScript, Node.js, Express, Google Gemini Vision API, and PayPal REST APIs. We implemented image comparison, structured AI responses, payment lifecycle management, and duplicate transaction protection.
Challenges we ran into
Distinguishing pre-existing damage from new damage, handling inconsistent AI predictions, ensuring reliable image comparisons, and managing complex PayPal transaction states.
Accomplishments that we're proud of
Successfully integrated and tested both Gemini models and the complete PayPal Sandbox lifecycle, including authorisation, partial capture, refunds, voids, and idempotency.
What we learned
We learned how to combine multimodal AI with real-world financial systems while ensuring transparency, reliability, and human control over financial decisions.
What's next for Handback
Improve AI inspection accuracy, complete end-to-end testing, refine the user experience, and expand Handback to support more rental businesses and product categories.
Built With
- ai
- api
- computer-vision
- express.js
- fintech
- genai
- image-recognition
- llm
- node.js
- payments-gateway
- paypal
- postgresql
- react
- saas
- typescript
- vite
- vitest
