# Builder Plan: Vergunningzoeker ## Solution Strategy Flask backend met React frontend. OCR en classificatie via Druppie SDK. ## Module Integration - **SDK**: `druppie_sdk` is pre-installed (pip package) - **Usage**: `from druppie_sdk import DruppieClient; druppie = DruppieClient()` - **Modules Used**: - `vision/ocr` — tekst extraheren uit gescande vergunningdocumenten - `llm/chat` — classificatie van vergunningtype op basis van geëxtraheerde tekst - **Example Calls**: ```python ocr_result = druppie.call("vision", "ocr", {"image_source": url}) classify_result = druppie.call("llm", "chat", {"prompt": text, "system": "Classificeer dit document"}) ``` - **No API Keys**: app gebruikt GEEN hardcoded API keys - **No openai package**: gebruik druppie.call() via SDK ## Code Standards - Python 3.11, Flask - ESM imports, React functional components - SQLAlchemy voor database ## Test Framework pytest voor backend ## Files to Create/Modify - app/models.py — SQLAlchemy Permit model - app/routes.py — API endpoints met druppie SDK calls - frontend/src/App.tsx — upload + zoek UI