Goal: Validate the pain point is real and measurable
Activities:
- Interviewed 3 NYC general contractors
- Discovered "insurance renewal fire drills" pattern
- Measured: 40-80 hours per project searching OpenSpace captures
- Validated willingness to pay: $500-1000/month for solution
Key Insight: The problem wasn't classification accuracy, but evidence organization for auditors.
Goal: Build smallest possible solution that delivers value
Technical Choices:
- Frontend: Streamlit (over React/Django) - fastest to ship
- AI/ML: DeepSeek (over OpenAI) - 90% cost savings
- Deployment: Streamlit Cloud - zero DevOps overhead
- Data: NYC Open Data API - free, authoritative source
MVP Scope: Upload → Classify → Generate Report (no bells/whistles)
Technical Challenges & Solutions:
Problem: Dust, poor lighting, motion blur reduced classification accuracy to 60%
Solution:
- Implemented image preprocessing (brightness/contrast normalization)
- Added confidence scoring with fallback logic
- Created domain-specific prompt engineering
Result: 85%+ accuracy on real construction photos
Problem: Generic construction classification missed NYC DOB requirements
Solution:
- Built NYC DOB code reference database
- Added compliance gap detection algorithm
- Integrated live violation data from NYC Open Data
Problem: OpenAI GPT-4 would cost $5-10 per project (prohibitive)
Solution:
- Switched to DeepSeek (90% cheaper)
- Implemented caching for repeat analyses
- Added batch processing to reduce API calls
Focus: Making it portfolio-ready
- Professional UI: Custom CSS, Plotly charts, responsive design
- Demo Data: Sample project folder for instant testing
- Documentation: README, PROCESS.md, TECHNICAL_ARCHITECTURE.md
- Deployment: Live at https://sentinelscope.streamlit.app/
- LLMs are feature extractors, not problem solvers - you need business logic on top
- Prompt engineering is iterative - version control your prompts
- Mock data enables demos - crucial for portfolio projects
- Streamlit is amazing for MVPs - but has scaling limits
- Solve the user's problem, not the technical challenge
- Measure everything - hours saved, dollars saved, accuracy rates
- Ship fast, gather feedback, iterate
- A mediocre solution today beats a perfect solution never
- Start with user testing earlier - built some features that weren't critical
- Implement error tracking from day 1 - lost some debugging time
- Write more tests earlier - technical debt accumulated
- Document as I code - spent time reconstructing decisions
- User testing with 2-3 contractors for feedback
- Batch processing for large projects (1000+ images)
- OpenSpace API integration (vs CSV upload)
- Multi-project dashboard for GCs with multiple sites