# Architecture FishIQ begins as a modular monolith around Django and PostgreSQL, with Redis for caching and background work. The web and mobile clients consume a versioned REST API. Professor Finn, recommendations, conditions, and notifications have explicit service boundaries but remain deployable together until scale or team ownership justifies extraction. ## Core flow User + trip + target species + water body → normalized conditions → recommendation evidence → ranked plan → Professor Finn explanation. ## Principles - Keep precise catch locations private by default. - Store source, timestamp, and freshness for condition data. - Make recommendations explainable and measure outcomes. - Keep provider integrations behind adapters. - Never send secrets or unnecessary personal data to AI providers.