learn speak creole Cabo Verde
(cd "$(git rev-parse --show-toplevel)" && git apply --3way Zci7-kcwN$fBwreFf%hTyx*Ux
Q4-{tbboFyt=akR{0E1Ev2LJ#7
literal 0
HcmV?d00001
diff --git a/assets/images/splash_logo.png b/assets/images/splash_logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..8204aaaea4fcab81feb3690e2c494d13f5232dc7
GIT binary patch
literal 68
zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcwN$fBwreFf%hTyx*Ux
Q4-{tbboFyt=akR{0E1Ev2LJ#7
literal 0
HcmV?d00001
diff --git a/docs/architecture.md b/docs/architecture.md
new file mode 100644
index 0000000000000000000000000000000000000000..c9c782debc48726ac3808648d025291d68c7a8b7
--- /dev/null
+++ b/docs/architecture.md
@@ -0,0 +1,34 @@
+# Kriolu AI Dictionary Architecture
+
+## Goals
+
+- Offline-first dictionary experience
+- Clean architecture for maintainability and scale
+- Modular components for future 10,000+ entry expansion
+
+## Folder Responsibilities
+
+- `models/`: immutable data entities (`DictionaryEntry`, `QuizQuestion`, `ChatMessage`)
+- `services/`: app services (dictionary loading/filtering, TTS, chat logic, favorites abstraction)
+- `database/`: SQLite data access helper
+- `providers/`: state orchestration and UI-facing app state
+- `screens/`: page-level widgets and navigation
+- `widgets/`: reusable presentation components
+- `ai/`: learning engines and prompt presets
+
+## Data Flow
+
+1. `DictionaryService` loads JSON entries from assets.
+2. `DictionaryProvider` owns all entries and filtered state.
+3. UI search input triggers provider filtering in real time.
+4. Favorites are persisted through `FavoritesService` -> `DbHelper` (SQLite).
+5. TTS actions are routed by `TtsProvider` -> `TtsService`.
+6. AI learning screen composes flashcards + quizzes from `AiLearningProvider`.
+7. AI chat uses `ChatProvider` with an offline response service.
+
+## Scalability Strategy
+
+- Migrate dictionary entries from JSON to SQLite table with indexes.
+- Add full-text search for faster filtering at large scal …