mitumba

Repository Profile Report • Scanned at 2026-07-12 14:35:44

Code Silhouette Report
Total Code Lines
50,919
Blank: 6,415 • Comments: 1,358
Total Files
529
Languages detected: 14
Code Base Size
6.7 MB
Avg file size: 14.7 KB
Commits
1192
First: 2026-05-17
Contributors
4
Last commit: 2026-07-08
Language Distribution (Lines of Code)
Files Count by Language
Monthly Commit Activity Timeline
Third-Party Dependencies
Top Contributors
Stanley-blik 609 commits
Mitumba Agent 422 commits
Stanl3y 121 commits
Stanley Masinde 22 commits
Stanley Isaac 18 commits
File Size Distribution
Size Range File Count
Under 1 KB163
1 KB - 10 KB267
10 KB - 100 KB25
100 KB - 1 MB15
Over 1 MB0
Top 15 Largest Files
File Path File Size
docs/inspiration/home-2.png 903.8 KB
docs/inspiration/home-1.png 784.7 KB
docs/inspiration/pin-detail-2.png 671.7 KB
docs/inspiration/search-click.png 414.4 KB
docs/inspiration/pin-detail-1.png 397.9 KB
apps/marketplace/public/vazi/model-002.webm 381.1 KB
apps/marketplace/public/vazi/model-004.webm 329.3 KB
apps/marketplace/public/vazi/model-003.webm 309.2 KB
apps/tauri-app/src-tauri/icons/icon.png 297.3 KB
apps/marketplace/public/vazi/model-001.webm 210.2 KB
apps/marketplace/public/mitumba-textmark.png 167.9 KB
apps/web/assets/images/textmark.png 167.9 KB
apps/marketplace/public/favicon.png 116.6 KB
apps/marketplace/src/app/icon.png 116.6 KB
apps/web/assets/images/logo.png 116.6 KB
Language Composition Summary
Language Files Code Lines
JSON2819,416
TypeScript17217,132
Markdown22710,143
Dart211,606
SQL36850
Python4477
YAML9323
TOML13303
Rust7246
CSS2162
HTML278
Text274
JavaScript265
XML444
Repository Topology (Directory Map)
├── .antigravitycli/
│   └── 8e8ca431-af34-4410-97a6-a0e4170933dc.json
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   └── feature_request.md
│   ├── workflows/
│   │   ├── deploy-workers.yml
│   │   ├── sync-marketplace.yml
│   │   ├── sync-tauri.yml
│   │   └── sync-vazi-ranker.yml
│   └── PULL_REQUEST_TEMPLATE.md
├── apps/
│   ├── marketplace/
│   │   ├── public/
│   │   │   ├── vazi/
│   │   │   │   ├── model-001.webm
│   │   │   │   ├── model-002.webm
│   │   │   │   ├── model-003.webm
│   │   │   │   └── model-004.webm
│   │   │   ├── favicon.png
│   │   │   ├── manifest.json
│   │   │   ├── mitumba-textmark.png
│   │   │   └── robots.txt
│   │   ├── src/
│   │   │   ├── app/
│   │   │   │   ├── (app)/
│   │   │   │   │   ├── [...catchAll]/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── bale-seller/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── cart/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── checkout/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── following/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── inbox/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── notifications/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── orders/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── p/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── profile/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── review/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── search/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── seller/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── settings/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── start-selling/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── store/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── vazi/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── wholesale/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── wishlist/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   ├── loading.tsx
│   │   │   │   │   ├── not-found.tsx
│   │   │   │   │   ├── page.module.css
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── authenticate/
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── onboarding/
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── seller-onboarding/
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── verify-email/
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── error.tsx
│   │   │   │   ├── globals.css
│   │   │   │   ├── icon.png
│   │   │   │   ├── layout.tsx
│   │   │   │   └── not-found.tsx
│   │   │   ├── components/
│   │   │   │   ├── auth/
│   │   │   │   │   └── AuthGuard.tsx
│   │   │   │   ├── cart/
│   │   │   │   │   └── CartView.tsx
│   │   │   │   ├── chat/
│   │   │   │   │   └── ChatDockHost.tsx
│   │   │   │   ├── checkout/
│   │   │   │   │   └── CheckoutView.tsx
│   │   │   │   ├── home/
│   │   │   │   │   ├── CategoryPills.tsx
│   │   │   │   │   ├── ForYou.tsx
│   │   │   │   │   ├── ListingPlaceholder.tsx
│   │   │   │   │   ├── RecentlyAdded.tsx
│   │   │   │   │   ├── TopStores.tsx
│   │   │   │   │   ├── TrendingGrid.tsx
│   │   │   │   │   ├── TrendingSearches.tsx
│   │   │   │   │   ├── VaziHero.tsx
│   │   │   │   │   └── WelcomeEmptyState.tsx
│   │   │   │   ├── layout/
│   │   │   │   │   ├── AppShell.tsx
│   │   │   │   │   ├── AwareSidebar.tsx
│   │   │   │   │   ├── GlobalSearch.tsx
│   │   │   │   │   ├── MobileBottomNav.tsx
│   │   │   │   │   ├── MobileTopBar.tsx
│   │   │   │   │   └── UserMenu.tsx
│   │   │   │   ├── notifications/
│   │   │   │   │   └── NotificationFeed.tsx
│   │   │   │   ├── orders/
│   │   │   │   │   ├── OrderHistory.tsx
│   │   │   │   │   └── OrderTimeline.tsx
│   │   │   │   ├── profile/
│   │   │   │   │   └── ProfileDashboard.tsx
│   │   │   │   ├── providers/
│   │   │   │   │   └── ClientProviders.tsx
│   │   │   │   ├── seller/
│   │   │   │   │   ├── CreateListingStudio.tsx
│   │   │   │   │   ├── InventoryManager.tsx
│   │   │   │   │   ├── ListingDetailsForm.tsx
│   │   │   │   │   ├── SellerOrderDetails.tsx
│   │   │   │   │   └── SellerOrderList.tsx
│   │   │   │   ├── settings/
│   │   │   │   │   └── SettingsSection.tsx
│   │   │   │   ├── store/
│   │   │   │   │   ├── ProductDetail.tsx
│   │   │   │   │   ├── StoreHeader.tsx
│   │   │   │   │   └── StoreProductGrid.tsx
│   │   │   │   ├── vazi/
│   │   │   │   │   └── VaziVerticalFeed.tsx
│   │   │   │   └── wholesale/
│   │   │   │       ├── BaleCard.tsx
│   │   │   │       └── BaleConsoleNav.tsx
│   │   │   ├── hooks/
│   │   │   │   └── useTypingIndicator.ts
│   │   │   ├── lib/
│   │   │   │   ├── actions/
│   │   │   │   │   └── addToCart.ts
│   │   │   │   ├── contexts/
│   │   │   │   │   ├── AuthContext.tsx
│   │   │   │   │   ├── ChatDockContext.tsx
│   │   │   │   │   ├── PreferencesContext.tsx
│   │   │   │   │   ├── SellerContext.tsx
│   │   │   │   │   └── StoreContext.tsx
│   │   │   │   ├── hooks/
│   │   │   │   │   ├── useBadgeCounts.ts
│   │   │   │   │   └── useWishlist.ts
│   │   │   │   ├── mock/
│   │   │   │   │   └── bales.ts
│   │   │   │   ├── sdk/
│   │   │   │   │   └── index.ts
│   │   │   │   └── firebase.ts
│   │   │   └── middleware.ts
│   │   ├── .gitignore
│   │   ├── .npmrc
│   │   ├── AGENTS.md
│   │   ├── CLAUDE.md
│   │   ├── LAUNCH.md
│   │   ├── README.md
│   │   ├── UI_OVERHAUL_SPEC.md
│   │   ├── eslint.config.mjs
│   │   ├── fix-grid-v2.js
│   │   ├── middleware.ts
│   │   ├── next.config.ts
│   │   ├── open-next.config.ts
│   │   ├── package.json
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── tauri-app/
│   │   ├── .github/
│   │   │   └── workflows/
│   │   │       └── build-android.yml
│   │   ├── src-tauri/
│   │   │   ├── android-overlay/
│   │   │   │   └── app/
│   │   │   │       └── src/
│   │   │   │           └── ... (max depth reached)
│   │   │   ├── icons/
│   │   │   │   ├── android-res/
│   │   │   │   │   ├── mipmap-anydpi-v26/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── mipmap-hdpi/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── mipmap-mdpi/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── mipmap-xhdpi/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   ├── mipmap-xxhdpi/
│   │   │   │   │   │   └── ... (max depth reached)
│   │   │   │   │   └── mipmap-xxxhdpi/
│   │   │   │   │       └── ... (max depth reached)
│   │   │   │   ├── 512x512.png
│   │   │   │   └── icon.png
│   │   │   ├── src/
│   │   │   │   ├── lib.rs
│   │   │   │   └── main.rs
│   │   │   ├── Cargo.toml
│   │   │   ├── build.rs
│   │   │   ├── offline.html
│   │   │   └── tauri.conf.json
│   │   ├── README.md
│   │   └── package.json
│   └── web/
│       ├── assets/
│       │   └── images/
│       │       ├── logo.png
│       │       └── textmark.png
│       ├── lib/
│       │   ├── providers/
│       │   │   └── auth_provider.dart
│       │   ├── screens/
│       │   │   ├── auth/
│       │   │   │   ├── login_screen.dart
│       │   │   │   └── register_screen.dart
│       │   │   ├── cart/
│       │   │   │   └── cart_screen.dart
│       │   │   ├── checkout/
│       │   │   │   └── checkout_screen.dart
│       │   │   ├── feed/
│       │   │   │   └── feed_screen.dart
│       │   │   ├── listing/
│       │   │   │   └── listing_detail_screen.dart
│       │   │   ├── orders/
│       │   │   │   ├── order_detail_screen.dart
│       │   │   │   └── order_history_screen.dart
│       │   │   ├── profile/
│       │   │   │   └── profile_screen.dart
│       │   │   ├── seller/
│       │   │   │   ├── new_listing_screen.dart
│       │   │   │   ├── seller_dashboard_screen.dart
│       │   │   │   └── seller_storefront_screen.dart
│       │   │   └── vazi/
│       │   │       └── vazi_feed_screen.dart
│       │   ├── services/
│       │   │   └── api_client.dart
│       │   ├── theme/
│       │   │   └── app_theme.dart
│       │   ├── widgets/
│       │   │   ├── mitumba_ui.dart
│       │   │   └── responsive.dart
│       │   ├── main.dart
│       │   └── router.dart
│       ├── test/
│       │   └── widget_test.dart
│       ├── web/
│       │   ├── icons/
│       │   │   ├── Icon-192.png
│       │   │   ├── Icon-512.png
│       │   │   ├── Icon-maskable-192.png
│       │   │   └── Icon-maskable-512.png
│       │   ├── favicon.png
│       │   ├── index.html
│       │   └── manifest.json
│       ├── .gitignore
│       ├── .metadata
│       ├── README.md
│       ├── analysis_options.yaml
│       ├── pubspec.lock
│       └── pubspec.yaml
├── docs/
│   ├── agents/
│   │   ├── MESSAGING_COMPONENTS_GUIDE.md
│   │   └── SDK_AGENT.md
│   ├── api/
│   │   ├── rate-limits.md
│   │   └── versioning.md
│   ├── decisions/
│   │   ├── ADR-001-cloudflare-native.md
│   │   ├── ADR-002-flutter-web.md
│   │   ├── ADR-003-vazi-global.md
│   │   ├── ADR-004-per-seller-cart.md
│   │   ├── ADR-005-gateway-service-bindings.md
│   │   └── ADR-006-auth-modes-and-role-model.md
│   ├── email-templates/
│   │   ├── 2fa-email-code.md
│   │   ├── 2fa-method-added.md
│   │   ├── 2fa-method-removed.md
│   │   ├── account-deleted.md
│   │   ├── account-deletion-request.md
│   │   ├── dispute-opened.md
│   │   ├── dispute-resolved.md
│   │   ├── dispute-seller-responded.md
│   │   ├── review-request.md
│   │   └── vazi-outfit-ready.md
│   ├── emails/
│   │   └── EMAIL_TEMPLATES.md
│   ├── inspiration/
│   │   ├── home-1.png
│   │   ├── home-2.png
│   │   ├── pin-detail-1.png
│   │   ├── pin-detail-2.png
│   │   └── search-click.png
│   ├── plans/
│   │   ├── account-deletion.md
│   │   ├── admin-features-audit.md
│   │   ├── bales-marketplace-audit.md
│   │   ├── company-registration-and-domain.md
│   │   ├── daraja-go-live.md
│   │   ├── floating-chat-dock.md
│   │   ├── multi-method-2fa.md
│   │   ├── production-payment-swap.md
│   │   ├── purchase-gated-reviews.md
│   │   └── verification-and-pro.md
│   ├── r2/
│   │   ├── CORS.md
│   │   └── R2_SETUP.md
│   ├── runbooks/
│   │   ├── data-backup.md
│   │   ├── deploy-workers.md
│   │   ├── deployment.md
│   │   ├── health-checks.md
│   │   ├── incident-response.md
│   │   └── vps-runner-setup.md
│   ├── sdk-requests/
│   │   ├── 2fa-totp.md
│   │   ├── admin-module.md
│   │   ├── auth-become-seller.md
│   │   ├── auth-complete-onboarding.md
│   │   ├── auth-delete-account.md
│   │   ├── bale-orders.md
│   │   ├── become-bale-seller.md
│   │   ├── businesses-module.md
│   │   ├── cart-module.md
│   │   ├── cart-update-quantity.md
│   │   ├── cart-wishlist-image-url.md
│   │   ├── create-store-business-id.md
│   │   ├── create-store-images.md
│   │   ├── disputes-module.md
│   │   ├── email-verification.md
│   │   ├── expand-store-type.md
│   │   ├── fix-store-listings-path.md
│   │   ├── home-feed-methods.md
│   │   ├── listing-media-array.md
│   │   ├── listings-module.md
│   │   ├── listings-size-field.md
│   │   ├── listings-upload-image.md
│   │   ├── login-remember-field.md
│   │   ├── mailer-module.md
│   │   ├── messages-from-store.md
│   │   ├── messages-inbox-realtime.md
│   │   ├── messages-module.md
│   │   ├── messages-order-id-grouped.md
│   │   ├── messages-read-typing.md
│   │   ├── messages-store-inbox.md
│   │   ├── notifications-module.md
│   │   ├── orders-store-id-filter.md
│   │   ├── pay-module.md
│   │   ├── pre-launch-unified.md
│   │   ├── reliable-token-lifecycle.md
│   │   ├── reports-submit.md
│   │   ├── reviews-eligible.md
│   │   ├── reviews-module.md
│   │   ├── search-history.md
│   │   ├── settings-module.md
│   │   ├── similar-listings.md
│   │   ├── store-analytics.md
│   │   ├── store-management.md
│   │   ├── store-settings.md
│   │   ├── stores-delete.md
│   │   ├── stores-get-following.md
│   │   ├── stores-module.md
│   │   ├── token-lifecycle-self-contained.md
│   │   ├── two-factor-methods.md
│   │   ├── uploads-generic.md
│   │   └── ... and 9 other files/folders
│   ├── systems/
│   │   ├── DISPUTES.md
│   │   ├── ESCROW_PAYMENTS.md
│   │   ├── MESSAGING.md
│   │   ├── REVIEWS_REPUTATION.md
│   │   ├── STI_SCORE.md
│   │   └── VAZI_ENGINE.md
│   ├── ui-requests/
│   │   ├── add-address-modal.md
│   │   ├── cart-item-breakpoint.md
│   │   ├── cart-item-quantity-options.md
│   │   ├── chatthread-attachment.md
│   │   ├── chatthread-scrollable.md
│   │   ├── chatthread-typing-and-order-bubble.md
│   │   ├── conversation-list-empty-state.md
│   │   ├── destructive-confirm-dialog.md
│   │   ├── dispute-components.md
│   │   ├── email-verification-page.md
│   │   ├── floating-chat-dock-back-button.md
│   │   ├── floating-chat-dock.md
│   │   ├── listing-card-dynamic-height.md
│   │   ├── onboarding-validation.md
│   │   ├── order-message-attachment.md
│   │   ├── passkey-2fa.md
│   │   ├── search-filter-sheet.md
│   │   ├── two-factor-components.md
│   │   ├── two-factor-methods-manager.md
│   │   └── unauthenticated-state.md
│   ├── vazi/
│   │   ├── model-prompts/
│   │   │   ├── baby-0-1-dark.md
│   │   │   ├── baby-0-1-medium.md
│   │   │   ├── child-boy-11-14-dark.md
│   │   │   ├── child-boy-11-14-medium.md
│   │   │   ├── child-boy-4-6-dark.md
│   │   │   ├── child-boy-4-6-medium.md
│   │   │   ├── child-boy-7-10-dark.md
│   │   │   ├── child-boy-7-10-medium.md
│   │   │   ├── child-girl-11-14-dark.md
│   │   │   ├── child-girl-11-14-medium.md
│   │   │   ├── child-girl-4-6-dark.md
│   │   │   ├── child-girl-4-6-medium.md
│   │   │   ├── child-girl-7-10-dark.md
│   │   │   ├── child-girl-7-10-medium.md
│   │   │   ├── f-avg-avg-dark.md
│   │   │   ├── f-avg-avg-light.md
│   │   │   ├── f-avg-avg-medium.md
│   │   │   ├── f-avg-plus-dark.md
│   │   │   ├── f-avg-plus-light.md
│   │   │   ├── f-avg-plus-medium.md
│   │   │   ├── f-avg-slim-dark.md
│   │   │   ├── f-avg-slim-light.md
│   │   │   ├── f-avg-slim-medium.md
│   │   │   ├── f-short-avg-dark.md
│   │   │   ├── f-short-avg-light.md
│   │   │   ├── f-short-avg-medium.md
│   │   │   ├── f-short-plus-dark.md
│   │   │   ├── f-short-plus-light.md
│   │   │   ├── f-short-plus-medium.md
│   │   │   ├── f-short-slim-dark.md
│   │   │   ├── f-short-slim-light.md
│   │   │   ├── f-short-slim-medium.md
│   │   │   ├── f-tall-avg-dark.md
│   │   │   ├── f-tall-avg-light.md
│   │   │   ├── f-tall-avg-medium.md
│   │   │   ├── f-tall-plus-dark.md
│   │   │   ├── f-tall-plus-light.md
│   │   │   ├── f-tall-plus-medium.md
│   │   │   ├── f-tall-slim-dark.md
│   │   │   ├── f-tall-slim-light.md
│   │   │   ├── f-tall-slim-medium.md
│   │   │   ├── m-avg-avg-dark.md
│   │   │   ├── m-avg-avg-light.md
│   │   │   ├── m-avg-avg-medium.md
│   │   │   ├── m-avg-plus-dark.md
│   │   │   ├── m-avg-plus-light.md
│   │   │   ├── m-avg-plus-medium.md
│   │   │   ├── m-avg-slim-dark.md
│   │   │   ├── m-avg-slim-light.md
│   │   │   ├── m-avg-slim-medium.md
│   │   │   └── ... and 22 other files/folders
│   │   ├── VAZI_AUDIO_LIBRARY.md
│   │   ├── VAZI_BASE_MODELS_PRODUCTION.md
│   │   ├── VAZI_ENGINE_SPEC.md
│   │   ├── VAZI_RL_PIPELINE.md
│   │   ├── VAZI_SHOWCASE_UI_NOTES.md
│   │   └── VAZI_SPEC.md
│   ├── CRON_JOBS.md
│   ├── INDEX.md
│   ├── USER_FLOWS.md
│   └── admin-request.md
├── infra/
│   └── migrations/
│       ├── 20260517_000001_initial_schema.sql
│       ├── 20260517_000002_listings_schema.sql
│       ├── 20260517_000003_pay_orders_schema.sql
│       ├── 20260518_000004_vazi_schema.sql
│       ├── 20260523_000005_sti_events.sql
│       ├── 20260610_000005_schema_expansion.sql
│       ├── 20260611_000006_reviews.sql
│       ├── 20260612_000007_listings_belong_to_store.sql
│       ├── 20260612_000008_search_history.sql
│       ├── 20260612_000009_cart_and_order_items.sql
│       ├── 20260613_000010_settings_tables.sql
│       ├── 20260613_000011_sessions.sql
│       ├── 20260613_000012_totp_2fa.sql
│       ├── 20260615_000013_store_settings.sql
│       ├── 20260615_000014_store_events.sql
│       ├── 20260616_000015_orders_store_id.sql
│       ├── 20260616_000016_businesses.sql
│       ├── 20260617_000017_payment_methods_expand_types.sql
│       ├── 20260618_000018_vazi_outfits_expansion.sql
│       ├── 20260618_000019_seed_counties.sql
│       ├── 20260619_000020_listings_size.sql
│       ├── 20260623_000021_stock_quantity.sql
│       ├── 20260623_000022_disputes.sql
│       ├── 20260624_000023_user_suspension.sql
│       ├── 20260624_000024_admin_audit_log.sql
│       ├── 20260624_000025_fix_listings_fts.sql
│       ├── 20260624_000026_reports.sql
│       ├── 20260624_000027_review_hidden.sql
│       ├── 20260624_000028_vazi_outfit_removed.sql
│       ├── 20260629_000029_messages_order_id.sql
│       ├── 20260630_000030_stores_deleted_at.sql
│       ├── 20260630_000031_users_deleted_at.sql
│       ├── 20260630_000032_messages_from_store.sql
│       ├── 20260702_000033_two_factor_methods.sql
│       ├── 20260707_000034_bales_foundation.sql
│       └── 20260708_000035_wholesale_verification_photos.sql
├── modal/
│   ├── README.md
│   ├── SECRETS.md
│   ├── bg_remover.py
│   ├── fashionclip_app.py
│   ├── outfit_generator.py
│   └── rl_trainer.py
├── packages/
│   ├── db/
│   │   ├── src/
│   │   │   ├── index.ts
│   │   │   └── schema.ts
│   │   ├── package.json
│   │   └── tsconfig.json
│   ├── types/
│   │   ├── src/
│   │   │   └── index.ts
│   │   ├── package.json
│   │   └── tsconfig.json
│   ├── utils/
│   │   ├── src/
│   │   │   ├── index.test.ts
│   │   │   ├── index.ts
│   │   │   └── sti.test.ts
│   │   ├── package.json
│   │   └── tsconfig.json
│   └── vazi-ranker/
│       ├── .github/
│       │   └── workflows/
│       │       ├── ci.yml
│       │       └── release.yml
│       ├── src/
│       │   ├── lib.rs
│       │   ├── scoring.rs
│       │   └── types.rs
│       ├── tests/
│       │   └── ranking_tests.rs
│       ├── .gitignore
│       ├── Cargo.toml
│       └── README.md
├── workers/
│   ├── admin/
│   │   ├── src/
│   │   │   └── index.ts
│   │   ├── package.json
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── auth/
│   │   ├── src/
│   │   │   ├── config.ts
│   │   │   ├── index.ts
│   │   │   ├── jwt.test.ts
│   │   │   ├── jwt.ts
│   │   │   ├── otp.ts
│   │   │   ├── passkey.ts
│   │   │   ├── password.test.ts
│   │   │   └── password.ts
│   │   ├── package.json
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── gateway/
│   │   ├── src/
│   │   │   └── index.ts
│   │   ├── package.json
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── listings/
│   │   ├── src/
│   │   │   ├── index.ts
│   │   │   └── wholesale.ts
│   │   ├── package.json
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── notifications/
│   │   ├── src/
│   │   │   └── index.ts
│   │   ├── package.json
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── orders/
│   │   ├── src/
│   │   │   ├── disputes.ts
│   │   │   ├── do.ts
│   │   │   └── index.ts
│   │   ├── package.json
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── pay/
│   │   ├── src/
│   │   │   ├── airtel.ts
│   │   │   ├── daraja.ts
│   │   │   ├── escrow.ts
│   │   │   ├── index.ts
│   │   │   ├── intasend.ts
│   │   │   ├── provider.ts
│   │   │   ├── providers.test.ts
│   │   │   └── router.ts
│   │   ├── package.json
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── search/
│   │   ├── src/
│   │   │   └── index.ts
│   │   ├── package.json
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── sti/
│   │   ├── src/
│   │   │   └── index.ts
│   │   ├── package.json
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   └── vazi/
│       ├── src/
│       │   ├── cache.ts
│       │   ├── classifier.ts
│       │   ├── eligibility.ts
│       │   ├── feed.ts
│       │   ├── index.ts
│       │   ├── modal.ts
│       │   ├── naming.ts
│       │   ├── outfit-matcher.ts
│       │   ├── ranker.ts
│       │   └── types.ts
│       ├── test/
│       │   ├── eligibility.test.ts
│       │   └── naming.test.ts
│       ├── package.json
│       ├── tsconfig.json
│       └── wrangler.toml
├── .env.example
├── .gitignore
├── .npmrc
├── AGENT_PROMPT.md
├── ARCHITECTURE.md
├── CLAUDE.md
├── CONTRIBUTING.md
├── DEPLOYMENT.md
├── GEMINI.md
├── README.md
├── ROADMAP.md
├── VAZI_TODO_B4_LAUNCH.txt
├── package.json
├── tsconfig.base.json
└── vitest.config.ts