How milo-dotcom/claude-impact-lab-cph works
ParkRefund helps drivers challenge Danish parking fines: the customer enters or photographs a ticket, reviews an assessment and evidence guidance, gets an appeal draft, and submits the case for human review. The Streamlit app and iOS client share a Python API and claim-intelligence layer; the assessor is grounded by a rules module, while photo evidence receives a separate vision check. The README also describes an operations queue and dashboard. Source excerpts show most customer-flow calls; links to the unsampled dashboard internals are omitted where their wiring is not evidenced.
Main entry points: ContentView.swift Screen navigation · claims.py Ticket and claim services · API.swift iOS API client · api.py HTTP API and admin queue
Components 15
Customer experiences
- Web intake and results
app.py - Ticket intake
ios/ParkRefund/IntakeView.swift - Verdict screen
ios/ParkRefund/VerdictView.swift - Appeal letter
ios/ParkRefund/LetterView.swift - Payout estimate
ios/ParkRefund/PayoutView.swift - Screen navigation
ios/ParkRefund/ContentView.swift
Claim intelligence
- Ticket and claim services
claims.py - Photo evidence check
evidence.py - Parking rulebook
rules.py
API and operations
- iOS API client
ios/ParkRefund/API.swift - HTTP API and admin queue
api.py - Operations dashboard
pages/1_Ops_dashboard.py
Other components
- Driver
- Anthropic Claude
- Case handler
Connections 20
- Driver → Web intake and results: enters claim
README.md - Driver → Ticket intake: enters claim
ios/ParkRefund/IntakeView.swift - Web intake and results → Ticket and claim services: extracts and assesses
app.py - Web intake and results → Photo evidence check: checks photos
app.py - Ticket and claim services → Parking rulebook: uses rulebook
claims.py - Photo evidence check → Ticket and claim services: formats images
evidence.py - Ticket and claim services → Anthropic Claude: requests model work
claims.py - Photo evidence check → Anthropic Claude: requests photo review
evidence.py - Ticket intake → iOS API client: extracts and assesses
ios/ParkRefund/IntakeView.swift - iOS API client → HTTP API and admin queue: sends requests
README.md - HTTP API and admin queue → Ticket and claim services: calls claim services
api.py - Screen navigation → Ticket intake: starts at
ios/ParkRefund/ContentView.swift - Screen navigation → Verdict screen: shows assessment
ios/ParkRefund/ContentView.swift - Screen navigation → Appeal letter: opens draft
ios/ParkRefund/ContentView.swift - Screen navigation → Payout estimate: shows estimate
ios/ParkRefund/ContentView.swift - Verdict screen → Screen navigation: continues
ios/ParkRefund/ContentView.swift - Appeal letter → iOS API client: drafts and submits
ios/ParkRefund/LetterView.swift - Payout estimate → iOS API client: requests estimate
ios/ParkRefund/PayoutView.swift - iOS API client → HTTP API and admin queue: submits case
- Case handler → HTTP API and admin queue: reviews queued cases
README.md