← Back to Blog Main

Build Log

Problems, failures, root causes, and fixes from building a live market dashboard.

Data Source Migration API & Caching Deployment & Stability OCR & Portfolio Import Legal / Commercial Data

#1 Why I Had to Stop Using FMP v2/v3 and Move to Stable Endpoints

May 02, 2026 · Data Source Migration

A production reliability story from endpoint mismatch to stable-only architecture.

#2 Rebuilding Market Data After Learning Yahoo/Finnhub/Finviz Could Not Be Used Commercially

May 02, 2026 · Legal / Commercial Data

How licensing constraints forced a full redesign of the market-data stack.

#3 My First Cloudflare KV Setup: Turning API Chaos into Cached Data

May 02, 2026 · API & Caching

A cache-first rollout that reduced latency spikes and stopped blank widget states.

#4 From Direct Domain Mapping to Vercel: Why Deployment Architecture Matters

May 02, 2026 · Deployment & Stability

Why deployment boundaries and rollback flow mattered more than convenience.

#5 OCR Import Broke My Journal: Fixing Merge Logic Without Deleting History

May 02, 2026 · OCR & Portfolio Import

Append/merge design replaced destructive overwrite behavior during OCR imports.

#6 I Could Not Even Pull and Merge at First: The GitHub Learning Curve Behind Inveflo

May 02, 2026 · Product Strategy

How workflow mistakes turned into stricter release discipline and rollback clarity.

#7 Fixing the News Page When AI Analysis Was Stuck at 0 AI Analyzed

May 02, 2026 · News & Sentiment

Serve-time sanitation and cache-contract fixes restored reliable analysis counts.

#8 Why Raw JSON Appeared in News Cards and How I Sanitized Gemini Responses

May 02, 2026 · News & Sentiment

Strict parsing, JSON mode, and double sanitation removed malformed card outputs.

#9 Gemini Model Fallback Hell: 404, 429, Deprecated Models, and the Final Chain

May 02, 2026 · AI Analysis

A production fallback chain that survived model drift and quota turbulence.

#10 How a 6-Hour Cache Turned One Rate-Limit Error into a Persistent News Bug

May 02, 2026 · API & Caching

Why TTL policy must encode validity, not freshness only.