Problem
This repo is Gemini-first in product direction but still uses the OpenAI-compatible Gemini endpoint for all calls.
That is convenient, but it leaves cost and ergonomics on the table.
Proposal
Move the expensive Gemini paths to the native Gemini SDK and add caching where it matters.
Priority targets:
- final report generation
- screenshot annotation
- repeated prompt blocks / large schemas
Potential wins:
- context caching
- cleaner multimodal handling
- more direct Gemini-native optimization paths
Suggested file targets
backend/llm_client.py
backend/report.py
backend/annotator.py
Acceptance criteria
- expensive Gemini paths use the native Gemini SDK
- repeated large prompt blocks are cached where possible
- report and annotation calls are easier to reason about cost-wise
Problem
This repo is Gemini-first in product direction but still uses the OpenAI-compatible Gemini endpoint for all calls.
That is convenient, but it leaves cost and ergonomics on the table.
Proposal
Move the expensive Gemini paths to the native Gemini SDK and add caching where it matters.
Priority targets:
Potential wins:
Suggested file targets
backend/llm_client.pybackend/report.pybackend/annotator.pyAcceptance criteria