terlo homes
How it works

How Terlo aggregates
Terre Haute rentals

A look at the engineering behind Terlo — what it does, how it keeps data honest, and the stack underneath.

What Terlo does

Terlo aggregates 10 local rental sources — property managers, listing portals, and public housing data — into a single searchable map for Terre Haute, Indiana. Instead of checking a handful of sites one at a time, every listing shows up in one place, filterable by price, beds, and more.

How freshness works

Every source is re-checked on a schedule, and each listing carries a last-checked timestamp. A listing that goes unseen for more than 3 days is flagged stale; after 10 days it's marked inactive and drops out of search. Nothing needs to expire manually — the freshness state always reflects what was last confirmed on the source.

Why source attribution matters

Terlo never hides where a listing came from or claims it as its own. Every listing links back to its original source, and every source is visible on the Data Sources page along with its sync history. That transparency is what makes the freshness data meaningful — you can always verify it yourself.

The tech

Terlo is a Next.js app backed by Postgres, with a set of scrapers that normalize each source's listings into one schema, geocode addresses, and reconcile what's still active. The map runs on MapLibre for fast, license-free vector rendering. It's a small, production-grade example of data ingestion, scheduled jobs, and geospatial UI working together.