Inspiration
Move-out deposit disputes are asymmetric: the landlord has a checklist, the tenant has a camera roll. Real tenants on US and UK renter forums describe losing deposits not because they lacked photos, but because they could not present them — hundreds of unnamed files, no pairing, no way to show "this wall, before and after."
What it does
DepositProof turns two piles of photos into a reviewable evidence report:
- Upload move-in and move-out photos. Nothing is stored server-side; images are processed in memory only.
- GPT-5.6 matches photos of the same room and camera angle, flags visible physical changes with severity and a bounding box, and leaves uncertain photos unmatched instead of guessing.
- A before/after slider with red evidence boxes lets you verify every finding; unmatched photos can be paired manually by drag-and-drop.
- One click exports a timestamped PDF with paired originals, annotated findings, and source filenames.
It deliberately does not assign blame, repair costs, or legal conclusions — it organizes what is visible and keeps the human in control of the record.
The no-key design
The default workflow requires no Platform API key: DepositProof generates a Codex task file with immutable image IDs and a strict JSON shape; you run it with GPT-5.6 in Codex and import the returned JSON. The app validates everything server-side before rendering — bounding boxes must stay inside the image, no duplicate or invented IDs, and every uploaded image must be assigned exactly once. An optional Responses API path shares the same strict contract when a key is present.
How we built it with Codex
Codex was the build system, not an autocomplete. It selected the architecture (FastAPI + Pydantic strict models + vanilla JS + ReportLab), checked current official API shapes, implemented the backend and interface, wrote the boundary/PDF/HTTP tests (18 passing), generated the synthetic benchmark images with its built-in image tools, ran the four-image session benchmark, and performed browser and PDF verification passes. Build and review logs are checked in under codex_log/. An independent review pass caught a slider-direction bug before submission; the fix was verified in-browser.
Honest benchmarking
The checked-in synthetic benchmark (2 inserted changes across 2 room pairs, with ground-truth boxes) scored 2/2 detections with 0 false positives in a Codex session run — recomputed from the checked-in artifact by a test. We explicitly do not claim a live Responses API benchmark; the README labels it pending until it can run with a Platform API key. All demo photos are synthetic and contain no real tenant data.
What's next
EXIF-based timeline verification in the default path, multi-room report grouping, and a landlord-side counterpart so both parties can exchange the same structured evidence.
Built With
- codex
- fastapi
- gpt-5.6
- javascript
- openai
- pillow
- pydantic
- python
- reportlab
Log in or sign up for Devpost to join the conversation.