How saptadip/addrlens works
AddrLens helps renters evaluate a Berlin or Hamburg address using open-data neighbourhood facts, curated Life Mode lenses, raw dataset views, comparisons, and optional AI-written insights. The main workflow runs from address entry through lookup and data presentation; lens scoring and inference are distinct stages. The graph preserves documented capabilities, but sampled excerpts do not establish every route-to-core call or browser API endpoint, so uncertain links are omitted or marked unverified.
Main entry points: app/main.py FastAPI application · app.js Web bootstrap · index.py City data index · inference/main.py Inference service
Components 28
Web experience
- Web bootstrap
v0.1/web/static/app.js - Browser state
v0.1/web/static/modules/state.js - API client
v0.1/web/static/modules/api.js - Dataset panels
v0.1/web/static/modules/panels/amenities.js - Environment panels
v0.1/web/static/modules/panels/environment.js - Connectivity panels
v0.1/web/static/modules/panels/connectivity.js - Maps
v0.1/web/static/modules/maps.js - Life Mode lenses
v0.1/web/static/modules/lens/index.js - Address compare
v0.1/web/static/modules/compare.js
City analysis
- City configuration
v0.1/app/cities/base.py - FastAPI application
v0.1/app/main.py - Address lookup
v0.1/app/routes/lookup.py - Amenity routes
v0.1/app/routes/amenities.py - Noise route
v0.1/app/routes/noise.py - Lens insight route
v0.1/app/routes/lens_insight.py - City data index
v0.1/app/core/index.py - Lens scoring
v0.1/app/core/scoring/tiers.py - Newcomer lens logic
v0.1/app/core/lenses/newcomer.py
AI insights
- Inference service
v0.1/inference/main.py - Local model backends
v0.1/inference/runtime/llama_backend.py - Cloudflare backend
v0.1/inference/runtime/cloudflare_backend.py - Berlin insight template
v0.1/inference/templates/lens_newcomer_insight.py - Hamburg insight template
v0.1/inference/templates/lens_newcomer_hamburg_insight.py
Open data
- Open datasets
- Berlin Geoportal
- OpenStreetMap
- VBB / BVG
Other components
- Renter
Connections 29
- Renter → Web bootstrap: enters address
README.md - Web bootstrap → Browser state: uses state
v0.1/web/static/app.js - Web bootstrap → API client: invokes client
v0.1/web/static/app.js - API client → Browser state: reads and updates
v0.1/web/static/modules/api.js - API client → Dataset panels: supplies data
v0.1/web/static/modules/api.js - Dataset panels → Maps: draws maps
v0.1/web/static/modules/panels/amenities.js - Web bootstrap → Life Mode lenses: initializes lenses
v0.1/web/static/app.js - Life Mode lenses → Maps: updates map pins
v0.1/web/static/modules/lens/index.js - Web bootstrap → Address compare: initializes compare
v0.1/web/static/app.js - Address compare → Life Mode lenses: renders lens comparison
v0.1/web/static/modules/compare.js - Address compare → Environment panels: uses environment tiers
v0.1/web/static/modules/compare.js - FastAPI application → Address lookup: registers route
v0.1/app/main.py - FastAPI application → Amenity routes: registers route
v0.1/app/main.py - FastAPI application → Noise route: registers route
v0.1/app/main.py - FastAPI application → Lens insight route: registers route
v0.1/app/main.py - FastAPI application → City data index: loads at startup
v0.1/app/core/index.py - City data index → City configuration: uses city settings
v0.1/app/core/index.py - City data index → Berlin Geoportal: loads spatial data
README.md - City data index → OpenStreetMap: uses OSM data
README.md - City data index → VBB / BVG: uses transit data
README.md - Renter → Open datasets: receives address insights
README.md - Life Mode lenses → Lens scoring: shows tiered results
README.md - Newcomer lens logic → Lens scoring: uses scoring rules
v0.1/app/core/lenses/newcomer.py - Lens insight route → Inference service: requests insight
v0.1/app/routes/lens_insight.py - Inference service → Local model backends: selects local backend
v0.1/inference/main.py - Inference service → Cloudflare backend: configures remote backend
v0.1/inference/main.py - Inference service → Berlin insight template: registers templates
v0.1/inference/main.py - Inference service → Hamburg insight template: registers templates
v0.1/inference/main.py - Lens insight route → Life Mode lenses: returns lens insight