How uchih-a/landiq works
LandIQ Kenya is a land-valuation product: users authenticate, submit a location and land attributes, and receive an ML-based estimate; authenticated users can revisit prediction history. Public market views add county statistics, spatial distributions, proximity and score analysis, and investment rankings. The graph follows the visible frontend entry points and API structure, plus README-documented capabilities. Some service internals and page-to-component wiring were not sampled, so uncertain calls are omitted.
Main entry points: App.tsx Application router · router.py API v1 router · predict.py Prediction endpoints · api.ts API client
Components 22
Web application
- Application router
frontend/src/App.tsx - Estimate page
frontend/src/pages/EstimatePage.tsx - Dashboard
frontend/src/pages/DashboardPage.tsx - Sign-in modal
frontend/src/components/modals/AuthModal.tsx - Prediction hooks
frontend/src/hooks/usePrediction.ts - Market data hooks
frontend/src/hooks/useMarketData.ts - Market visualizations
frontend/src/components/charts - API client
frontend/src/lib/api.ts
API layer
- FastAPI application
backend/app/main.py - API v1 router
backend/app/api/v1/router.py - Auth endpoints
backend/app/api/v1/endpoints/auth.py - Prediction endpoints
backend/app/api/v1/endpoints/predict.py - Market endpoints
backend/app/api/v1/endpoints/market.py
Valuation and market
- Prediction pipeline
backend/app/services/inference.py - MLP model registry
backend/app/services/inference.py - Prediction history
backend/app/models/prediction.py - Market analysis
backend/app/services/market.py
Identity and persistence
- Auth service
backend/app/services/auth.py - User records
backend/app/models/user.py - PostgreSQL
backend/app/db/session.py
Other components
- User
- Nominatim
Connections 26
- User → Application router: uses
- Application router → Estimate page: routes to
- Application router → Dashboard: routes to
- Application router → Sign-in modal: opens
- Estimate page → Prediction hooks: submits
- Dashboard → Prediction hooks: loads history
- Dashboard → Market data hooks: loads market data
- Market data hooks → Market visualizations: feeds
- Prediction hooks → API client: calls
- Market data hooks → API client: calls
- Sign-in modal → API client: authenticates via
- API client → FastAPI application: requests
- FastAPI application → API v1 router: mounts
- API v1 router → Auth endpoints: dispatches
- API v1 router → Prediction endpoints: dispatches
- API v1 router → Market endpoints: dispatches
- Auth endpoints → Auth service: calls
- Auth service → User records: reads/writes
- Auth endpoints → PostgreSQL: uses session
- Prediction endpoints → Prediction pipeline: runs valuation
- Prediction pipeline → Nominatim: geocodes
- Prediction pipeline → MLP model registry: predicts with
- Prediction endpoints → Prediction history: records history
- Prediction endpoints → PostgreSQL: uses session
- Market endpoints → Market analysis: calls
- Market endpoints → PostgreSQL: uses session