Frugal computation
Deterministic code handles predictable interactions. Smaller models handle ambiguity, while higher-precision inference is reserved for work where an error costs more than tokens.
Engineering transparency
A public, versioned view of how Maison Apéro balances wine expertise, speed, cost and privacy. Production components are clearly separated from architecture still under validation.
This page is generated from one catalog. A component is marked live only after production validation.
The client never selects a provider. The server owns task classification, model policy, billing and fallback.
| Layer | Technology or model | Purpose | Status |
|---|---|---|---|
| Client | Flutter 3.47 / Dart 3.13 | One UI foundation for Android, iOS, Web and PWA. | Live |
| Authentication and API protection | Firebase Auth / App Check | Accept authenticated users and requests from verified app instances. | Live |
| Evaluation orchestrator | Cloud Functions / Node.js 22 | Classify tasks, select models, control tickets, retry safely and validate output. | Partially live |
| Verified cache delivery | Server-owned 8-language templates | Return a verified Wine Library result without running a new model request. | Partially live |
| Input normalization | ministral-8b-2512256k context · structured outputs | Normalize wine identity and determine whether an image, list excerpt or typed description is sufficient. | In validation |
| Review drafting validation | mistral-small-2603256k context · structured outputs · tunable reasoning | Validate review-drafting and study-question metadata paths before any production activation. | In validation |
| Lightweight Gemini | gemini-3.5-flash-lite1M input context · structured outputs · thinking | Planned translation, label extraction and lightweight structured processing. | Planned |
| High-precision Gemini | gemini-3.7-flash1M input context · structured outputs · low / medium / high thinking | Structured tasting evaluation, question generation, written scoring, Grand analysis and critical adjudication. | Live |
| Data | Firestore / Wine Library | Verified wine facts, reviews and locale-specific cached projections. | Live |
| Confidential knowledge | Server-only reference layer | Keep advanced references and assessment instructions on the server. | Partially live |
| Secrets | Google Secret Manager | Keep provider credentials outside source code and client builds. | Live |
| Observability | Cloud Logging / aggregate metrics | Measure model, task, latency, token use and success rate without logging review drafting bodies. | Live |
A cost-aware cascade uses the least complex path that can satisfy the task, then validates the result before release.
The design follows four engineering principles rather than treating every evaluation and study task as the same model request.
Deterministic code handles predictable interactions. Smaller models handle ambiguity, while higher-precision inference is reserved for work where an error costs more than tokens.
Verified Wine Library data is retrieved before generation where available. Facts and recommendations are separated so missing evidence is not disguised as certainty.
A failed high-precision assessment is not silently downgraded to a weaker model. The user receives a retry and the ticket is restored.
One task has one server-issued request key. Retry and provider fallback cannot create a second charge.
Reasoning intensity is assigned by task risk. The public labels describe policy; private prompts, exact thresholds and reasoning traces remain server-only.
| Task | Model | Intensity |
|---|---|---|
| Wine identity normalization | Ministral 3 8B | Minimal |
| Review-drafting validation | Mistral Small 4 | Low |
| Study-question generation | Mistral Small 4 | Medium |
| Translation and extraction | Gemini 3.5 Flash-Lite | Minimal |
| Structured tasting and written scoring | Gemini 3.7 Flash | Medium |
| Material-difference adjudication | Gemini 3.7 Flash | High |
Tickets follow the purpose of the task, not the provider selected behind the scenes.
The model catalog, eight localized pages, structured data, sitemap and AI-readable summary are generated together. A release test rejects missing locales, false live-status claims and drift from pinned runtime versions.
No. The authenticated server classifies the task and applies a versioned model policy.
No. Retry and provider fallback share the same idempotent request and cannot create a second charge.
No. They remain under multilingual wine-domain validation and are shown as in validation until production release checks pass.
No. Public documentation explains the architecture, while prompts, private references, thresholds and reasoning traces remain confidential on the server.