--- title: "Tech Patterns Index" description: "Recurring technology stacks across Oliver Agency projects" tags: [index, tech-patterns] created: 2026-04-15 updated: 2026-05-01 --- # Tech Patterns Recurring technology stacks used across Oliver Agency projects. Each article covers a specific pattern with projects, gotchas, and code examples. ## Patterns | Pattern | Description | Projects | |---------|-------------|---------| | [[wiki/tech-patterns/fastapi-python-docker\|fastapi-python-docker]] | FastAPI + Python + Docker — dominant backend stack | GMAL, Mod Comms, Video Accessibility, OliVAS, PIMCO, Solventum, Enterprise Nexus | | [[wiki/tech-patterns/react-vite-typescript\|react-vite-typescript]] | React + Vite + TypeScript — standard Oliver SPA frontend | GMAL, Mod Comms, Semblance, Video Accessibility, LUSA, Build-A-Squad, BAIC | | [[wiki/tech-patterns/nextjs-fastapi-fullstack\|nextjs-fastapi-fullstack]] | Next.js + FastAPI — for complex multi-service AI platforms | Enterprise Nexus, Sandbox NotebookLM, Oliver AI Bot 2.0, DeckForge | | [[wiki/tech-patterns/azure-ad-msal-auth\|azure-ad-msal-auth]] | Azure AD / MSAL SSO — Oliver internal auth standard | GMAL, Enterprise Nexus, Cinema Studio Pro, Mod Comms, BAIC, Sandbox | | [[wiki/tech-patterns/python-ai-agents\|python-ai-agents]] | Claude / Gemini / OpenAI / LlamaIndex integration patterns | GMAL, Mod Comms, Semblance, OliVAS, PIMCO, Video Accessibility, Enterprise Nexus | | [[wiki/tech-patterns/redis-celery-worker-queue\|redis-celery-worker-queue]] | Redis + Celery for async long-running tasks | Enterprise Nexus, Video Accessibility, PDF Accessibility | | [[wiki/tech-patterns/box-api-integration\|box-api-integration]] | Box API for client asset workflows | Ford QC, Ford SFTP, L'Oréal, Ferrero | | [[wiki/tech-patterns/one2edit-api\|one2edit-api]] | One2Edit translation platform API | 3M Portal, H&M O2E Tool | | [[wiki/tech-patterns/nodejs-vanilla-proxy\|nodejs-vanilla-proxy]] | Node.js + Vanilla JS lightweight proxy tools | 3M Portal, Ferrero, Homepage | | [[wiki/tech-patterns/kling-veo-video-api\|kling-veo-video-api]] | Kling AI + Google Veo 3.1 video generation — camera control, I2V, polling | Cinema Studio Pro | | [[wiki/tech-patterns/cost-tracker-integration\|cost-tracker-integration]] | **Connect any project to ai-cost-tracker**: API key → httpx client → preflight/record pattern → budgets. Live at `optical-dev.oliver.solutions/cost-tracker/` | All Oliver projects | | [[wiki/tech-patterns/cost-tracker-pricing-sources\|cost-tracker-pricing-sources]] | Three-layer pricing: LiteLLM auto-sync > YAML (non-LLM) > admin override; historical `effective_from/to` | ai-cost-tracker | | [[wiki/tech-patterns/cost-tracker-providers\|cost-tracker-providers]] | Billing units per provider: Gemini `usage_metadata` tokens, ElevenLabs/GCP TTS `len(text)` chars | All AI projects | | [[wiki/tech-patterns/runtime-credential-rotation-admin-panel\|Runtime Credential Rotation with Admin Panel]] | When you need to allow administrators to update time-sensitive API credentials (like monthly token r | — | | [[wiki/tech-patterns/xss-validation-false-positive-word-boundary\|Fixing XSS Validation False Positives in JSON Field Names]] | When a content security middleware rejects legitimate JSON payloads with "400 Bad Request" errors, a | — | | [[wiki/tech-patterns/apache-spa-proxy-configuration-with-includes\|Apache SPA + API Proxy Configuration via Includes]] | When deploying a Single Page Application (SPA) alongside a backend API on the same Apache server, bu | — | | [[wiki/tech-patterns/azure-sso-pkce-browser-token-exchange\|Azure SSO with MSAL: Browser-Based Token Exchange Pattern]] | When implementing Single Page Application (SPA) authentication with Azure AD where the frontend hand | — | | [[wiki/tech-patterns/docker-volume-mounts-for-development-changes\|Docker Volume Mounts for Development: Avoiding Baked Code Issues]] | When deploying applications in Docker containers where code or configuration changes need to be refl | — | | [[wiki/tech-patterns/websocket-keepalive-terminal-close\|WebSocket Keepalive + Terminal Close Codes]] | Bidirectional 20s keepalive + terminal close codes (4001/4003/4004/4403) to prevent reconnect storms through Apache mod_proxy_wstunnel | video-accessibility, mod-comms | | [[wiki/tech-patterns/pydantic-empty-string-coercion\|Pydantic Empty String → None Coercion]] | field_validator with mode='before' to treat "" as absent optional field — prevents 400 on CC-only or AD-only payloads | video-accessibility | | [[wiki/tech-patterns/vtt-descriptive-transcript-regeneration\|VTT Edit → Descriptive Transcript Regeneration]] | Pattern for keeping descriptive_transcript.txt in sync when captions or AD VTTs are edited via PATCH /vtt | video-accessibility | | [[wiki/tech-patterns/git-worktrees-parallel-claude-sessions\|Using Git Worktrees for Parallel Claude Development Sessions]] | Use git worktrees when you need to run multiple independent Claude sessions simultaneously on differ | — | | [[wiki/tech-patterns/public-share-link-review\|Public Share-Link Review Pattern]] | Signed-token public endpoint for client approve/reject without login — HMAC token, 409 double-submit guard, conditional UI buttons | — | | [[wiki/tech-patterns/azure-ad-sso-migration-user-isolation\|Azure AD SSO Integration with User Isolation]] | When migrating an existing application from local authentication to Azure AD Single Sign-On (SSO), r | — | | [[wiki/tech-patterns/recovering-corrupted-caption-metadata-after-failed-translations\|Recovering Corrupted Caption Metadata After Failed Translations]] | When VTT caption files exist in cloud storage (GCS) but their URI references have been deleted from | — | | [[wiki/tech-patterns/gemini-models\|Gemini API Models Reference]] | Все API-идентификаторы Gemini 3.x и 2.5: text, TTS, image, live. Таблица точных `model=` строк для API вызовов + предупреждение про несуществующий `gemini-3.1-flash-preview` | video-accessibility, all AI projects | | [[wiki/tech-patterns/adaptive-rate-limit-backoff-strategy\|Adaptive Rate Limit Backoff with API Retry-After Headers]] | When integrating with third-party APIs that enforce rate limits (429 responses) and return dynamic r | — | | [[wiki/tech-patterns/omg-api\|OMG Platform REST API]] | Oliver internal marketing ops REST API (v2) — briefs, deliverables, tasks, users; TYK gateway + X-Api-Key auth; RFC 7807 errors | Ferrero, 3M OMG Portal | | [[wiki/tech-patterns/omg-api 2\|OMG Platform REST API]] | REST API for the **OMG marketing operations platform** (Oliver internal). Manages briefs, deliverabl | raw/Scalar API Reference.md | | [[wiki/tech-patterns/docker-compose-systemd-auto-restart\|Docker Compose Auto-Restart with Systemd Service]] | When a Docker Compose application (like a multi-container stack) needs to automatically restart afte | — | ## Quick Decision Guide ``` New project → what stack? ├── Complex AI platform, multi-user → nextjs-fastapi-fullstack ├── Standard tool with UI → fastapi-python-docker + react-vite-typescript ├── Simple client portal / proxy → nodejs-vanilla-proxy ├── Static page, no backend → plain HTML/JS └── Needs auth? → azure-ad-msal-auth └── Has AI calls? → always add cost-tracker-integration ``` ## Cost Tracker Quick Reference Every new Oliver project that makes AI API calls should integrate the cost tracker. **Admin UI:** `https://optical-dev.oliver.solutions/cost-tracker/` **Minimum integration (3 env vars + 2 HTTP calls):** ```env COST_TRACKER_BASE_URL=https://optical-dev.oliver.solutions/cost-tracker/v1 COST_TRACKER_API_KEY=ct_live_xxx COST_TRACKER_SOURCE_APP=my-project ``` ```python # Before AI call r = await ct.post("/preflight", json={...}) if not r.json()["allow"]: raise BudgetExceeded() # After AI call await ct.post("/usage/record", json={...}) ``` See [[wiki/tech-patterns/cost-tracker-integration|cost-tracker-integration]] for the full 9-step guide.