Inspiration

We started with a simple question: why do so many small businesses fail within their first three years? The answer kept coming back to location. Too much competition, too little foot traffic, rent that couldn't be sustained. Yet there was no free, data-driven tool that gave everyday Australian entrepreneurs the same location intelligence that large franchise networks take for granted. We wanted to build that, a way to turn raw geographic data into a clear, actionable answer to the question every new business owner asks: where should I open?

What it does

Localyse is a location intelligence platform that analyses over 1.1 million Australian business locations and scores every suburb in the country based on three signals: foot traffic, competitor density, and rental affordability. Users search for their business type, set their required floor space, and optionally filter by state. In seconds, Localyse returns an interactive map of Australia where green zones represent high opportunity areas, red zones flag saturated markets to avoid, and every zone can be hovered to reveal suburb name, value score, competitor count, and estimated monthly lease cost.

How we built it

We built Localyse in three layers.

For the data pipeline, we started with the Foursquare Open Places dataset provided by the datahack, over 100 million points of interest globally, filtered to 1.13 million clean Australian records after removing closed venues, missing coordinates, and out-of-bounds locations. We enriched this with the ABS 2021 Census G02 dataset, joining median weekly rent by postcode to every business location, with a three-tier fallback to state and national medians where postcode data was unavailable.

For the scoring engine, we divided Australia into hexagonal zones using Uber's H3 spatial index at resolution 7 — roughly 0.5km² per cell. For each zone we calculated a log-scaled traffic signal, a competition ratio, and a normalised cost index, combining them into a single value score weighted 60% opportunity and 40% affordability.

For the product, the backend is a FastAPI application deployed on Railway, using DuckDB to scan the parquet dataset in memory in seconds. The frontend is a single HTML file with a live search interface, a Leaflet.js map, and real-time API calls. No install required, works in any browser.

Challenges we ran into

The biggest technical challenge was scale. Scanning 1.13 million records and aggregating them into H3 cells on every API request is computationally heavy, we solved this by switching from pandas to DuckDB, which gave us dramatically faster parquet scans without needing a database server.

Rent data coverage was another challenge. Not every business postcode had a matching ABS rent figure, which would have left gaps in our scoring. We designed a three-tier fallback system — postcode median, then state median, then national median to ensure 100% coverage across every location in Australia.

Getting the frontend to render a dynamic Leaflet map inside a Railway-deployed FastAPI app without a separate map server also required creative thinking, we solved it using a Blob URL iframe approach that constructs and renders the map entirely in the browser from the API response.

Accomplishments that we're proud of

We are proud that Localyse works end to end as a fully deployed, publicly accessible product, not just a notebook or a prototype. Anyone with the URL can search a business type and receive a scored map of Australia in under 30 seconds.

We are also proud of the scoring methodology. Rather than relying on a single metric, we built a composite scoring system that balances three independent signals demand, competition, and cost into one interpretable output. The percentile-based zone classification means results are always meaningful regardless of which business type or region is analysed.

Finally we are proud of how much we were able to achieve with open data alone. Everything Localyse uses — the POI dataset, the rent data, the spatial index is either publicly available or provided by the datahack organisers.

What we learned

We learned that data cleaning is where most of the real work happens. Getting from 100 million global records to 1.13 million clean, reliable Australian records required far more thought than we initially expected, every decision about what to drop, what to fill, and what to flag had downstream consequences for the scoring.

We also learned the value of spatial indexing. H3 transformed a point dataset into a geographic analysis tool in a way that postcode or suburb boundaries alone could not have achieved, the uniform hexagonal grid made scoring genuinely comparable across regions.

On the product side, we learned that a well-designed simple interface communicates complex data better than any table or chart. The map makes the insight immediate and intuitive in a way that numbers alone never could.

What's next for Localyse

The foundation is built, but the roadmap takes it much further. We want to replace the ABS rent proxy with live commercial lease listings from CoreLogic or Domain, and integrate real foot traffic data from sources like SafeGraph or Google Popular Times to move beyond POI density as a proxy for demand.

On the modelling side, we want to train a supervised model on real business success and failure outcomes to replace our hand-engineered scoring weights with data-derived ones, and introduce category-specific scoring profiles so that a café and a warehouse are evaluated on the characteristics that actually matter for each.

For the product, we want to add postcode-level search, side-by-side suburb comparison, live competitor listings per zone, and ABS demographic overlays covering population growth, household income, and age profiles.

Longer term, Localyse becomes a live market intelligence platform, running analysis across multiple Foursquare dataset releases to track how opportunity scores shift as markets evolve, and partnering with commercial real estate agencies to offer a referral model where the tool remains free for entrepreneurs and Localyse earns a commission when a lease is signed.

Built With

Share this project:

Updates

Submission history