Flying Club Invoice Automation
Replaced manual paper slip entry with AI-powered extraction — from 10 minutes per slip to 10 seconds.
Key Results
The Problem
A small flying club treasurer was spending hours each month manually transcribing paper flight slips into Quicken for invoicing. Each slip contained handwritten pilot names, Hobbs meter readings, destinations, and charges — and every slip meant:
- Squinting at handwriting
- Calculating flight time (Hobbs out → Hobbs in)
- Multiplying by hourly rate
- Manually typing into accounting software
With 30-50 flights per month, this meant 5-10 hours of tedious data entry — time the volunteer treasurer didn't have.
Pain points
- Handwritten data — Varied penmanship, sometimes illegible
- Manual calculations — Easy to make arithmetic errors
- No digital trail — Paper slips get lost, damaged, or misfiled
- Context switching — Jumping between paper, calculator, and software
The Intervention
We built a mobile-first app that lets the treasurer snap a photo of a flight slip and get structured data back instantly.
How it works
- Snap or upload — Take a photo or drag-and-drop on desktop
- AI extraction — Vision model reads all fields (pilot, aircraft, times, route)
- Review & edit — Verify extracted data, fix any errors
- Export to Quicken — One-click CSV export in the exact format Quicken expects
Key insight: Train the model where to look
During testing, we discovered the AI was grabbing the wrong "name" — it found a signature field instead of the pilot name field. This highlighted the importance of:
- Field-specific prompts — Tell the model exactly what to look for and where
- Negative examples — "Don't extract from the signature line"
- Validation rules — Pilot name should match known member list
Architecture
Photo → Vision AI → Structured JSON → Review UI → Quicken CSV
↓ ↓
GPT-4o/Gemini Field validation
Stack
- App: React Native + Expo (web, iOS, Android)
- AI: GPT-4o Vision, Gemini 2.0 as fallback
- Backend: Supabase Edge Functions
- Export: Quicken-compatible CSV format
The Outcome
Before → After:
- Time per slip: 10 minutes → 10 seconds
- Monthly time: 5-10 hours → 15-30 minutes
- Error rate: ~5% (calculation mistakes) → under 1%
- Data retention: Paper in a box → Searchable digital history
Unexpected benefits
- Historical analysis — "Who flew the most this year?"
- Faster reconciliation — Match slips to payments instantly
- Member self-service — Pilots could eventually log their own flights
Key Learnings
- Start with the export format — We built backward from Quicken's CSV spec, ensuring perfect compatibility
- Handwriting varies wildly — Multi-model approach (try GPT-4o, fall back to Gemini) handles edge cases
- Human review is a feature — 95% accuracy + quick human verification beats 99% accuracy that takes 10x longer
- Small clubs have big problems — Volunteer-run organizations desperately need automation
Screenshots


*Ongoing cost is approximately $0.02-0.05 per slip for AI API calls.
Engagement type: Agent Prototype → Production app
Timeline: 1 week from concept to working app
Demo: flight-log-psi.vercel.app
