Why Sydney parking data is scattered, and how I am bringing it together

How I am consolidating public council, TfNSW and open parking data into a clearer Sydney parking map for drivers.

Most people are not trying to become parking-data researchers.

They are just trying to do something simple: find a place to park, ideally for free, without circling the same block three times or gambling on a sign they only half understand.

That was the thought that started Park Me For Free for me.

Why is it still so hard to answer a basic question like “where can I park for free near Sydney CBD, Surry Hills, Circular Quay, Town Hall, Chatswood, North Sydney, Manly or Bondi?”

At first, I assumed the answer would be straightforward. Surely the data existed somewhere. Surely someone had already pulled it together into one useful Sydney parking map.

When I started looking properly, I realized why that product did not already exist in the way I wanted it to. The data is everywhere, but it is fragmented. Different suburbs have different rules. Different councils publish different formats. Some information lives in open-data portals, some in web maps, some in PDFs, some in ArcGIS layers, some in operator pages, and some only makes sense when you compare it against the sign on the street.

So the problem is not that there is no parking information. There is a lot of it. The problem is that it has not been consolidated into something a normal person can use at the moment they need it.

That is the bigger mission behind Park Me For Free: take public parking information from the places where it already lives, normalize it, and turn it into something genuinely useful for drivers, local businesses, visitors and the broader Sydney community.

Public data is only useful when people can use it

I like public government data because it has a simple promise: information collected for the public should create public value.

Parking is a perfect example. Councils and transport agencies already maintain a lot of the raw material:

But raw availability is not the same thing as usefulness.

If the data is split between a council map, a PDF, an ArcGIS layer, an open-data portal, an operator page and a street sign, the end user still has to do the hard part. They have to reconcile the sources themselves.

That is fine for a data audit. It is terrible for someone trying to park before an appointment.

The goal is not to replace the street sign or pretend that every dataset is perfect. The goal is to make the best public information easier to find, easier to compare and easier to understand before someone starts driving around the block.

The real question is not “where is parking?”

At first, I thought the product question was simple:

Where is there parking near me?

That is not quite right.

The useful question is:

For this exact place, time, duration and type of driver, can I park here, is it free, what rule applies, and how confident should I be?

That is a much harder question, but it is the question a Sydney parking map has to answer if it wants to be useful.

A green line on a map is not enough. A driver needs to know whether the space is free now, paid now, restricted now, a loading zone now, or simply not understood well enough yet.

That distinction matters in places like the Sydney CBD, where one block can contain paid meters, loading zones, no-stopping windows, car-share bays and off-street parking entrances. It matters in Surry Hills, where resident rules and time limits can sit next to dining and office demand. It matters around Bondi and Manly, where beach traffic, council rules and local permits all shape the parking experience.

The bug that made the problem obvious

The clearest example came from York Street in the Sydney CBD.

The City of Sydney meter dataset showed evening and weekend 4P Ticket windows for a stretch of the street. Other public records, including TfNSW loading-zone data and City committee material, showed weekday daytime loading or no-stopping restrictions in the same area.

The old app logic could see that no paid meter window was active at the selected time and then treat that as free parking.

That sounds reasonable for about half a second. Then you realize it is wrong.

No active meter rule does not mean free parking. It might mean the meter source is silent for that time. It might mean another source has the active restriction. It might mean the app has incomplete coverage.

The broken logic was:

No active City meter rule at the selected time
  -> show "Free at this time"

The safer logic is:

No active City meter rule at the selected time
  -> the meter source is silent for this time
  -> check loading zones, restrictions and other evidence
  -> if nothing proves parking is allowed, show unknown instead of free

That one case changed how I thought about the whole product.

The app should not reward missing data with a confident answer. It should consolidate evidence, explain the result and be honest when the answer is incomplete.

Consolidating parking data means resolving conflicts

The first version of the app had separate status logic for separate datasets:

Each piece was useful, but each piece answered its own narrower question.

That is not enough for a real Sydney parking finder. A meter point, loading zone, OpenStreetMap way, accessible bay, car-share bay, council sign record and car park entrance can all overlap. The app has to resolve that overlap before it chooses a label, colour or recommendation.

So I moved toward an evidence-first model.

Instead of letting each source directly decide what the map says, each source contributes evidence:

public source record
  -> normalized parking evidence
  -> matched to a street or kerb asset
  -> resolved into a parking decision
  -> shown on the map, result list and popup

That is the difference between a map full of raw layers and a product that helps someone make a decision.

Government and council sources are the backbone

For parking, source quality matters.

Official government, council and transport datasets should carry more weight than a generic map tag. A City of Sydney meter record, TfNSW loading-zone record or council parking sign dataset is closer to the legal reality than an unverified third-party marker.

That does not mean other sources are useless. OpenStreetMap can be very helpful for road context, kerbside hints and coverage gaps. Operator pages can help with off-street car parks. Community reports may become useful later. AI sign reading may become useful later too.

But those sources should not silently override public authority data. They should become evidence with provenance, confidence and limits.

This is the line I am trying to hold:

source -> evidence -> deterministic resolver -> parking decision

That makes the app easier to audit. If Park Me For Free says a street looks paid, restricted, free or unknown, I want to be able to trace the answer back to the sources that produced it.

Free parking has to be earned

The most important product rule is simple: do not call something free unless the evidence actually supports it.

That matters for SEO too, honestly. A lot of people search for “free parking Sydney”, “free parking Sydney CBD”, “free parking near Town Hall” or “parking near Circular Quay”. The page they land on should not overpromise.

Some Sydney street parking is free at certain times. Some metered spaces become unpaid outside paid hours. Some council areas have time-limited spaces that are free but still restricted by duration, permits or vehicle type.

But “not currently paid” is not the same thing as “free to park”.

The decision order I am using is deliberately conservative:

  1. Current temporary restrictions come first.
  2. Hard restrictions like no stopping, clearways, bus zones and permit-only rules come next.
  3. Special-use areas like loading zones are not general parking.
  4. Active paid meter or ticket windows can resolve to paid parking.
  5. Explicit free or timed parking evidence can resolve to free.
  6. Inactive paid evidence does not automatically become free.
  7. Weak hints can support the answer, but should not create a confident free-parking claim.
  8. Missing or conflicting evidence should become unknown.

That is less flashy than colouring everything green, but it is much more useful.

A better parking map should explain itself

If the app eventually says “Loading zone now”, the next question is obvious: why?

The answer should be visible in the product.

For the York Street case, a useful explanation would look more like:

Loading zone now
Cost: Not general parking
Evidence: TfNSW loading zones; City meter record shows paid meter later

That tells a driver what the app thinks, why it thinks that and where the information came from.

It also helps the community. If the app is wrong, the evidence trail makes it easier to find the bad source, stale data or matching problem. That is how a public-data product gets better over time.

This is useful beyond the CBD

The same fragmentation appears across Sydney.

In the Sydney CBD, Town Hall and Circular Quay, the challenge is density: meters, loading zones, no-stopping windows, commercial car parks and event traffic all compete in a small area.

In Surry Hills, parking is shaped by a mix of residential streets, restaurants, offices, venues and time-limited kerbside rules.

In Chatswood and North Sydney, the pattern shifts toward retail, office and station demand, with council parking and commercial off-street options playing a bigger role.

In Manly and Bondi, beach access, visitor demand, permits, council car parks and local sign rules become more important.

The sources change by suburb and council area, but the user problem is the same. People need one practical place to compare the best available public information.

The community benefit is clarity

When parking information is hard to find, everyone pays a small tax.

Drivers circle longer. Local streets get more congestion. Visitors avoid areas because parking feels too uncertain. Businesses lose customers who give up before arriving. Councils publish useful information, but the value is trapped in formats that are not easy for the public to compare.

I do not think a parking map solves every transport problem. It does not replace better public transport, safer streets or better planning.

But if people are already driving, better information can still help. It can reduce uncertainty, reduce wasted circling, make public datasets more visible and help people understand the rules before they make a mistake.

That is the practical community value I am aiming for.

What I am building toward

The long-term goal is a Sydney parking map that can combine:

The app should be honest about what it knows and what it does not know.

Static street rules should not be described as live vacancy. A loading zone should not be treated as free parking for everyone. A weak map tag should not override a stronger public source. And a missing paid meter window should not become a green “free” answer by default.

That is the heart of the work: take fragmented public parking data from across the internet, consolidate it into one place, and turn it into decisions that help real people.

Sydney already has a lot of the raw information. The next step is making it useful.

Back to blog