← Back to projects

MeMudo

Real estate listing aggregator for Santa Fe. Merges multiple data sources, extracts structured data with LLM vision, shows results on a filterable map.

#python#astro#svelte#maplibre#ai

Aggregates rental and sale listings from multiple sources onto a filterable map. The MVP collected data from Instagram in a semi-manual process. The system now supports pluggable JSON repos that anyone can host and register.

How It Works

  • Sources: Pluggable repo system. Each source is a self-describing JSON file hosted at a public URL. Users can also add custom repos at runtime via the viewer.
  • Processor: Async Python CLI extracts structured data (type, price, address, rooms, amenities) using Qwen 3.5-plus vision model. Caption-first strategy skips image analysis when the post caption has enough context.
  • Merge: Build-time pipeline fetches all registered repos, namespaces IDs, and merges with review/dismissal persistence. Listings go stale after 30 days and are pruned after 60.
  • Viewer: Static site with an interactive map, spatial filtering by zone, listing cards with swipeable image galleries and contact links.

Technologies

  • Processor: Python, asyncio, OpenAI SDK (DashScope), Nominatim, Pydantic
  • Viewer: Astro 6, Svelte 5, Tailwind v4, MapLibre GL JS
  • Infrastructure: Cloudflare Pages, Cloudflare R2, $0/month