+0.43 Using FOIA Data and Unix to halve major source of parking tickets (mchap.io S:+0.40 )
769 points by tptacek 2755 days ago | 237 comments on HN | Moderate positive Editorial · v3.7 · 2026-02-28 13:57:44
Summary Transparency & Due Process Champions
This blog post champions human rights through practical demonstration of FOIA transparency and civic engagement. The author uses Freedom of Information Act requests to analyze Chicago parking ticket data, identifies a regulatory gap that created unequal enforcement, and successfully petitions city officials to implement clearer signage—resulting in a 50% reduction in tickets at the problem location. The work exemplifies how access to information, democratic participation, and rule of law can work together to remedy government unfairness.
Article Heatmap
Preamble: +0.56 — Preamble P Article 1: +0.40 — Freedom, Equality, Brotherhood 1 Article 2: +0.60 — Non-Discrimination 2 Article 3: +0.30 — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: +0.40 — Legal Personhood 6 Article 7: +0.70 — Equality Before Law 7 Article 8: +0.50 — Right to Remedy 8 Article 9: +0.50 — No Arbitrary Detention 9 Article 10: +0.40 — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: +0.20 — Privacy 12 Article 13: +0.30 — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: +0.30 — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.68 — Freedom of Expression 19 Article 20: +0.30 — Assembly & Association 20 Article 21: +0.60 — Political Participation 21 Article 22: +0.20 — Social Security 22 Article 23: ND — Work & Equal Pay Article 23: No Data — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: +0.20 — Standard of Living 25 Article 26: +0.30 — Education 26 Article 27: ND — Cultural Participation Article 27: No Data — Cultural Participation 27 Article 28: +0.40 — Social & International Order 28 Article 29: +0.50 — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Editorial Mean +0.43 Structural Mean +0.40
Weighted Mean +0.46 Unweighted Mean +0.42
Max +0.70 Article 7 Min +0.20 Article 12
Signal 20 No Data 11
Volatility 0.15 (Medium)
Negative 0 Channels E: 0.6 S: 0.4
SETL +0.44 Editorial-dominant
FW Ratio 64% 47 facts · 26 inferences
Evidence 40% coverage
7H 7M 6L 11 ND
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.52 (3 articles) Security: 0.30 (1 articles) Legal: 0.50 (5 articles) Privacy & Movement: 0.25 (2 articles) Personal: 0.30 (1 articles) Expression: 0.53 (3 articles) Economic & Social: 0.20 (2 articles) Cultural: 0.30 (1 articles) Order & Duties: 0.45 (2 articles)
HN Discussion 20 top-level · 28 replies
tptacek 2018-08-13 22:39 UTC link
Matt's schtick is automated, large-scale FOIA requesting; he obtains huge collections of data from cities and then tries to do interesting stuff with it. Here, he apparently managed to get all the tickets in Chicago for several years running, and then used that data to fix the parking signs.

This, to me, is so neat.

flaxton 2018-08-13 23:27 UTC link
404 error? (page not found)
mehrdadn 2018-08-13 23:31 UTC link
This is awesome. Question though: how is producing license plate data like this not a disallowed privacy invasion? It seems like you could totally track who's parking where and potentially do nasty stuff, if you know (say) someone well-off whom you don't like and who doesn't seem to mind getting tickets on a regular basis.
btrettel 2018-08-13 23:37 UTC link
Would be nice to use the same skills to help reduce cars illegally parked in the bike lane. Identify areas which cyclists commonly complain about that (e.g., to the city) and encourage them to put up better signs?
pasbesoin 2018-08-13 23:41 UTC link
Reminds me of working with free-form, manual entry order detail information, in a former life.

Hundreds of thousands of records a month. I ended up importing them into Excel(1) and then using... what was that called? An MS/Windows library that came with IE 5 and/or a few other things, that provided regex support (with a few quirks) that was accessible via VBA.

The point was, I could programmatically mine it -- including regex pattern matching and replacement of and within cell contents -- while also having a flexible UI within which to find and handle one-off cases. When the one-off's demonstrated a repeating pattern, I could quickly iterate to add that to the programmatic mining logic.

This included adding color cueing for items of particular interest, manual follow-up. Excel's sorting capabilities to bring potentially related instances into visually displayed groups. And the like.

It ended up working quite well. I might have preferred something else to VBA, and I did use Perl and other stuff, elsewhere (something that also gave me both power and the flexibility to rapidly iterate).

But the point is, with such data, I found it very useful to combine regex and rapid programmatic manipulation, together with a good visual interface (including visual cues, the ability to comment upon instances -- Excel cell-level comments -- etc.) and manual manipulation.

As a final aside, the extensive set of Excel keyboard shortcuts greatly aided in rapidly and effectively navigating and massaging the imported data.

--

1. This was back when Excel had... I think it was a 64K (or a bit less) limit on the number of rows in a sheet.

P.S. I tended to retain the originally imported data in its columns, and to produce my mining of it in other columns. That way, I could always and immediately see what I started with, for any particular record. (And, if things visually started to be "too many columns", well, Excel lets you hide a range of columns from the view. As one example of how its features really helped, on the visual front while doing this work.)

I still had to learn and allow for some quirks Excel exhibited with respect to importing text data. That included making sure the cells/columns being imported into carried the correct/needed formatting designation before importing into them (usually, "Text").

amaccuish 2018-08-14 00:18 UTC link
$190 million?! What does the architecture consist of? A database, some forms and some integrations/api? I'm 90% sure they could have done that with free software and a good support contract with a UNIX provider for far less :/
floatrock 2018-08-14 01:09 UTC link
He cost the city $60k in revenue by asking them to clear up confusing signage.

That's some small-government activism I can get behind!

NegativeK 2018-08-14 01:16 UTC link
Matt/bpchaps, have you shared the results with the aldermen? I'd love to hear about their reactions.
ccleve 2018-08-14 01:41 UTC link
I know this intersection. It's at the corner of State and Division, in the heart of the Rush Street neighborhood.

The likely reason there are many tickets there is that there are many bars there, and great crowds of people who have had a bit too much to drink. There are also great crowds of cops there every weekend.

Without looking at the data, I'd expect that many of the tickets are getting written in the middle of the night, when people are too inebriated, or too distracted, to read signs carefully.

exikyut 2018-08-14 02:30 UTC link
What I'm most impressed about is that the author was able to include the FOIA data.

I guess I just learned I half expected each person who wanted FOIA data to have to request it themselves, for their own personal use.

In this case I can see reusing this for interesting reasons (the plates in the .txt.gz have not been removed), so...

donjh 2018-08-14 03:22 UTC link
This is great. I wonder if using this data patterns could be found showing when and where tickets are written. Would be interesting to know when and how often certain areas are checked for illegal parking, if such a pattern exists.
hpincket 2018-08-14 03:30 UTC link
This is great! I often request records but have never come up with a great use case!

Under Florida public record law, source code produced by state employees is, in very narrow circumstances, a non-exempt public record (the code can't process sensitive data, etc.). I'm considering a future endeavor where I periodically request the code to such projects until the I.T. department decides it's worth the effort to open source it.

I like to think this is a step towards consolidating publicly funded code and reducing duplicate effort. Ahh, imagine making a pull request to your city's website! But I'm getting ahead of myself...

rootsudo 2018-08-14 03:37 UTC link
Alternatively, if you're a parking meter in Chicago, you now now how to meet quota and can full in the rest of your day with meaningful things.
vectorEQ 2018-08-14 09:16 UTC link
very interesting example of data analysis and it's practical implications. awsome blog post, and you won't hear me say that quickly.

"This'll be my first blog post on the internet, ever. Hopefully it's interesting and accurate. Please point out any mistakes if you see any!"

KEEP IT UP MATT! and data munging, not sure if it's a word, but it sounds nice :D

Bobbleoxs 2018-08-14 09:36 UTC link
I too feel I couldn't pass the $190m cost in the first place. Granted, I can see where the cost ramps up as explained by @morei. Could someone explain whether this is for the 10-year contract or a license of some sort for each year?

If it is annually, they got 17m tickets over 7 years so for 10 years, assuming they issue just over 19m tickets, that means each parking ticket needs to be at least $10 to cover the cost, even at $100 per ticket, IBM is banking on 10% share? That seems excessive to me but I never worked in government so could someone enlighten me on this?

By any chance there's a conflict of interest for government to be willing to make improvement and cut down parking tickets or any other similar source of income? Or maybe that's what public audit is for?

kioleanu 2018-08-14 10:01 UTC link
Wow, great stuff!

Did you give more thought into the address cleaning bit? Or does anyone have an idea how to go about transforming mangled addresses into coordinates?

I have a problem that's been bothering me for months, similar to what you have here: people from an emergency service call-center are inputting the addresses of the emergencies. For emergencies that happen on the public domain, there is often not a specific address, but rather names of landmarks. Something like "Street StreetName / Opposite Train Station Y", which can be written like "st stName / opp tr st y" or some other infinite variations.

I don't have any after-data to corroborate, but I do have previous instances where the operator inputted the same address better. If I can extract the correct landmarks, I think I can do a Google Places search for them, with a cleaned query, like "Store Amazon, Best Street, Ohio" to get coordinates that can fall into an acceptable area.

PS: in the example you gave with Lake Shore Drive, I think you could easily correct the names with an algorithm based on the Levenshtein distance

lettergram 2018-08-14 12:32 UTC link
I did something similar for universities, to help students select their courses:

https://easy-a.net/

I wrote a blog post about it, because it requires a ton of work to get FOIA requested data - this I'm assuming was done in the same painstaking way:

https://austingwalters.com/foia-requesting-100-universities/

I give this props. I'm sure it required a ton of work

punnerud 2018-08-14 12:37 UTC link
I’m thinking about a similar post. After a long run between different departments in Norway I got out all historic train delays and all form/e-mail contact with the rail company, including the number of people getting money back because of the delays. What interested me most in this article was mawk/AWK.
Anthony-G 2018-08-14 12:38 UTC link
I really enjoyed this article – not only because of the content but the distraction-free layout makes it a pleasure to read. It’s rare that I come across a site using such minimal and effective graphic design. As a bonus, the site loads quickly and doesn’t rely on a stream of third-party JavaScript files or other web resources. For a first blog post, I’m impressed. If I ever get around to publishing my own blog, I know what to aim for. Keep up the good work. The web needs more of this!

The footer indicates that the web page was generated using bashblog [1] – looks like it might be worth checking out.

[1] https://github.com/cfenollosa/bashblog

jklein11 2018-08-14 13:43 UTC link
Are there any resources explaining the FOIA process? I'm not sure what types of information is available, what it can be used for, etc and am always amazed with the type of information people are able to get the government to hand over.
kasey_junk 2018-08-13 22:56 UTC link
He also spends a lot of time corresponding the old fashioned way to get the data & cleaning it for mechanical evaluation.

His hobbies make me feel bad about my own...

bpchaps 2018-08-13 23:29 UTC link
Should be better now. Let me know if it persists!
rlpb 2018-08-13 23:36 UTC link
Criminal proceedings are usually public in most countries. Where do parking tickets fall? Even if not technically criminal, some might, for the same underlying reasons, consider it acceptable for "someone well-off whom you don't like and who doesn't seem to mind getting tickets on a regular basis" to have this illegal behavior on the public record. "Don't want your name tarnished? Don't park illegally."

[Edit: on the other hand, if the ticket is unfair (eg. confusing signage as in this example), then you have a valid point; I just wanted to point out the other side of the coin]

detaro 2018-08-13 23:43 UTC link
In the US there is an entire industry that scans license plates on public streets and sells the data. Basically no privacy in public.

(random example: https://www.syracuse.com/news/index.ssf/2015/01/private_comp... )

bpchaps 2018-08-13 23:45 UTC link
Thanks!

I thought so to until recently and was honestly kind of surprised they actually gave it to me. They rejected giving license plate info at first, but they've given it out in other, similar, FOIA requests.

Specifically in FOIA's statute, it says:

    (c-5) "Private information" means unique identifiers, including a person's social security number, driver's license number, employee identification number, biometric identifiers, personal financial information, passwords or other access codes, medical records, home or personal telephone numbers, and personal email addresses. Private information also includes home address and personal license plates, *except as otherwise provided by law or when compiled without possibility of attribution to any person.*
In other words - if the dataset itself doesn't have identifying information, then it's not considered private. That said, I've played around with re-identification using this dataset as a POC.. and then deleted the code, because yeah - it's scary.
bpchaps 2018-08-13 23:47 UTC link
Hey! Thanks for posting this, and the kind words.

Interesting note about getting data like this - Illinois FOIA allows a requester to submit a SQL as part of their request.. so long as they know the tables and columns within the database ;)

jimmaswell 2018-08-13 23:53 UTC link
Could also signal the area is starved for parking, so the lane should be removed and bicyclists should just ride in the road for those stretches. Small inconvenience to the bicyclists who still get to use the road, big win for the drivers.
nevir 2018-08-14 00:30 UTC link
10 year support contract is certainly a good chunk of that
morei 2018-08-14 00:43 UTC link
This is a very common reaction that shows a lack of experience in dealing with scale IT systems.

You're correct that a simple DB with some forms would be cheap.

But integration tends to be crazy expense. For this sort of system, other things that also need to be covered: 1. Billing integration. Including changes to billing codes, bill (fine) printing, testing. 2. Audit integration. Because whenever money is handled, audit follows. 3. Customer support integration. Including UI for customer service, training, testing. This is often a very complex item because customer service already have a zillion systems they have to use and their training requirements are ongoing and expensive, so they want you to integrate with their existing systems instead of giving them a brand new thing, and integrate with their existing training processes, etc etc. 4. Integrate with all those hand-held readers. inc vendor compliance, testing etc. 5. Contract management. You have a contract with the government and they'd like to know that you did what you claim you did. So there's teams of people to deal with on an ongoing basis. 6. Project management. There's more than one person working on this, and a lot of complex integration requiring changes in other systems => extensive project management. 7. Ongoing changes to requirements, often conflicting. All the integration points above are moving targets, so expect that they'll have to be re-done a few times both before and after launch. 8. Arse covering. You now have a large contract with the US Government. You will sued and they will get sued (typically by whomever didn't win the contract). Vast amounts of documentation covering _everything_, including documenting the process by which documents are written => tech writers galore, plus lawyers plus lawyers.

Honestly, this is barely scratching the surface. I haven't even touched the (expensive) work before the contract is even signed.

$190M doesn't go very far!

chapium 2018-08-14 01:13 UTC link
Bike Lane Uprising maintains data on this. Maybe it would be interesting to contact them for the dataset.
sirmarksalot 2018-08-14 01:19 UTC link
When people routinely park in bike lanes, the problem is usually cultural, i.e. people know they're not supposed to do it, but they decide to do it anyway.

Near where I work in Bellevue WA, they recently restriped the road to have a brightly painted bike lane, with double-white lines to make it abundantly clear that you were not supposed to drive in it. Bright red "no stopping" signs were placed on the curb. People still parked right in the bike lane.

It wasn't until they added a concrete barrier that the lane cleared up enough that bikes could use it. And of course, right where the barrier ends, people start parking there instead. The West side seems to have less difficulty understanding this.

jessaustin 2018-08-14 01:31 UTC link
This problem would solve itself if vandalism laws were changed slightly.
icelancer 2018-08-14 01:43 UTC link
Someday you'll work for a government and have to provide a support contract, and that first one will be woefully, absurdly underpriced. Your second one will answer the question you just asked here - why does interacting with the government cost so much money?
gt_ 2018-08-14 02:24 UTC link
Did the bars close when the new signs went up? Coincidentally or otherwise?
bpchaps 2018-08-14 02:35 UTC link
If you're interested in bike lane parking tickets, you might want to check out this article, which was done using the same dataset:

https://www.wbez.org/shows/wbez-news/where-chicago-tickets-f...

jcims 2018-08-14 02:42 UTC link
Given that many of the tickets were issued because this is a taxi stand, it's also possible that revenues increased for the taxi company in that area.
bpchaps 2018-08-14 02:51 UTC link
Kind of, but nothing super formal. I've contacted a few of the aldermen's offices, but never the aldermen themselves.

Though, during last mayoral election, some of the mayoral candidates wanted to use parking tickets as part of their campaign, and through some connections I found my way into Bob Fioretti's campaign manager's office to discuss parking tickets, alongside an ex-candidate, Amara Enyia's campaign manager. They were super, super interested - Fioretti's CM calling the work "fucking golden". But.. they both went silent after that, despite Fioretti started using parking tickets as a major part of his campaign. Go figure.

There's a lot more to that story - I'll end up write about sometime later :).

pasbesoin 2018-08-14 03:02 UTC link
I'm pretty sure what I was thinking of is Windows Scripting Host (WSH). At the time, I picked it up as a part of IE 5.

https://en.wikipedia.org/wiki/Windows_Script_Host

ddingus 2018-08-14 03:03 UTC link
It is neat.

(Not all of my post came through)

Great example of value being in data. One that ordinary people can connect the dots on and encourage.

fencepost 2018-08-14 06:03 UTC link
20+ years ago I was working for a company that provided systems for secure printing of checks (including payroll checks) and direct deposit notifications. One of the things suggested as a possible enhancement was the ability to email people's direct deposit notifications to them, and I got the assignment to research it.

On a technical basis, it's trivial - you already have the data stream that's going to be sent to the printer, generating a PDF wasn't going to be an enormous roadblock (though it wouldn't have been completely trivial as the source data was PCL not PS - did you know that there was handling for that in Ghostscript, at least on the commercially-licensed side?). Encryption of PDFs also possible, either with separately-licensed open source tools or with some closed-source commercial alternatives. Even ignoring the possibility of email being intercepted in transit, encryption would have been a requirement due to the risk of someone walking up to an unattended desk and simply checking that attached PDF for someone's pay info.

The killer? The infrastructure required to assign and allow people to change their passwords including management, training, etc.. By the time you've built that, you're a chunk of the way to simply providing the payroll information within an online HR system instead.

Like the old trope about the first man on Mars being a technician for an unreliable rover, the bulk of the work and cost isn't always where you'd think it would be.

maxerickson 2018-08-14 11:08 UTC link
Maybe try https://github.com/openvenues/libpostal

It's a C library with gigabytes of data, so it isn't light weight, but it attacks the problem aggressively.

bpchaps 2018-08-14 14:26 UTC link
I've put a LOT of thought into address cleaning! And yep - levenstein distance seems to be the way to go.

My current stack is:

1. Send addresses to https://smartystreets.com/ - They gave me a year's worth of unlimited geocoding for free. They also tokenize the addresses, but I had about a 50% success rate with them.

2. Tokenization raw addresses with https://github.com/datamade/usaddress.

3. Use a normalized levenstein distance algo to get ratio of difference.

4. Compare all of the addresses' levenstein distances with each other.

5. Apply logistical regression/gradient ascent algo to tickets by chaining heavilytypo'd addresses to less-typo'd and eventually to a static list of verified-correct addresses.

It works surprisingly well, but there are still a lot of problems that can't easily be solved:

1. Street types (st/ave/blvd/etc) are missing. So, when two addresses have the same street name, it's difficult to pair the two. It's still possible with some probability stuffs and matching the ticketers' paths to the nearest street.

2. Addresses have a LOT of one-off situations. For example, there's a street name called "Avenue A". The street name here is "Avenue", and the street type (usually st/ave/etc) is "A".

3. Lots of four letter streets make levenstein distance very difficult.

Glad you enjoyed it!

ortuna 2018-08-14 15:16 UTC link
In a lot of states you used to be able to get the address of a license plate with $5 in admin fees. Not sure if that is still allowed.
lucb1e 2018-08-14 15:46 UTC link
I had this question as well and asked someone who did a FOIA request. There is no listing. It's just that, if you notice or can logically conclude that a certain kind of data exists, you can request it. In this example, it is fairly logical that the city has a record of parking tickets that were written out, and so the author requested them.

I'm surprised he asked after license plates, though. I don't know if that is different in the USA, but in Europe that certainly wouldn't fly because of privacy. I wouldn't even have asked because I shouldn't want to have such data. Perhaps one could get an anonymized version to be able to correlate how often a certain plate got a ticket, but not which plate that was. Anyway, the general concept of a FOIA request is the same. (Edit: Oh, someone else remarked this as well: https://news.ycombinator.com/item?id=17754396)

FrozenTuna 2018-08-14 16:21 UTC link
I had a buddy in college whose main hobby was sending foias. The amount of information he was able to collect on me and all of our friends since it was a public university was astounding. He wrote a little google map applet that matched the student base's names to their parent's homes. He only showed about 6 of us what he did and we were all horrified and amazed at the same time. I miss CpE college.
nappy 2018-08-14 18:44 UTC link
Interesting - any idea what the other circumstance are? Is there a statute for this? Have you considered requesting some specific source code and publishing it yourself? Might make sense to start small here.

I have a lot of experience in making public records requests and would be happy to help.

snappieT 2018-08-20 20:07 UTC link
Too inebriated to read a sign but safe enough to drive a metal box at high speeds?

Not saying the signage was clear, but that is a very very weak excuse to not understand them.

Editorial Channel
What the content says
+0.80
Article 19 Freedom of Expression
High Advocacy Practice
Editorial
+0.80
SETL
+0.49

Core exemplar: FOIA is freedom of information in action. The post demonstrates free expression through detailed technical analysis, publishing code/data, and civic commentary. The blog itself is an act of free expression.

+0.70
Article 7 Equality Before Law
High Advocacy Practice
Editorial
+0.70
SETL
ND

Core issue: unequal protection under law. The post documents how identical parking spots resulted in disproportionate ticketing before the fix, then equal treatment after clearer signage.

+0.70
Article 8 Right to Remedy
High Practice Advocacy
Editorial
+0.70
SETL
+0.59

Exemplary use of FOIA and formal civic processes to remedy identified rights violations. The author obtained public records, analyzed data, contacted officials, and secured a remedy.

+0.60
Preamble Preamble
High Advocacy Practice
Editorial
+0.60
SETL
+0.24

The post exemplifies preamble values (justice, dignity, human rights) through practical demonstration of using transparency and civic engagement to remedy unjust enforcement.

+0.60
Article 2 Non-Discrimination
High Advocacy Framing
Editorial
+0.60
SETL
ND

Directly addresses discriminatory effect: unclear signage created unequal enforcement outcomes where some drivers were ticketed disproportionately due to regulatory confusion.

+0.60
Article 21 Political Participation
High Practice Advocacy
Editorial
+0.60
SETL
ND

Directly demonstrates democratic participation: analyzing government data, identifying problems, petitioning elected officials, and participating in the solution. This is civic democracy in action.

+0.50
Article 9 No Arbitrary Detention
Medium Advocacy
Editorial
+0.50
SETL
ND

Freedom from arbitrary enforcement: the unclear rules led to arbitrary ticket issuance before clarification. The fix eliminates the arbitrary element.

+0.50
Article 29 Duties to Community
High Practice
Editorial
+0.50
SETL
ND

The author demonstrates strong civic duty and responsibility to community: using personal skills to solve a collective problem, sharing findings publicly, and enabling others.

+0.40
Article 1 Freedom, Equality, Brotherhood
Medium Advocacy
Editorial
+0.40
SETL
ND

The work affirms human dignity by combating unjust enforcement that exploited drivers' confusion.

+0.40
Article 6 Legal Personhood
Medium Advocacy
Editorial
+0.40
SETL
ND

The work affirms each person's right to be treated fairly and equally under law by correcting enforcement inequities.

+0.40
Article 10 Fair Hearing
Medium Framing
Editorial
+0.40
SETL
ND

The post demonstrates fair process: public data used to identify problems, formal complaint filed, government transparency in RFP documents, public resolution.

+0.40
Article 28 Social & International Order
Medium Advocacy
Editorial
+0.40
SETL
ND

Demonstrates rule of law: systematic analysis, fair process, transparent government, orderly remedy. Shows how institutions can correct injustice.

+0.30
Article 3 Life, Liberty, Security
Low Advocacy
Editorial
+0.30
SETL
ND

Tangential connection: freedom of movement affected by confusing parking restrictions that trap drivers in enforcement paradoxes.

+0.30
Article 13 Freedom of Movement
Low Advocacy
Editorial
+0.30
SETL
ND

Confusing parking rules restrict freedom of movement by creating traps where drivers face penalties for lawful-seeming parking.

+0.30
Article 17 Property
Medium Advocacy
Editorial
+0.30
SETL
ND

Protects property/financial rights by preventing unjust $100 penalties. The 50% reduction saved drivers approximately $60,000 in 2017-2018.

+0.30
Article 20 Assembly & Association
Low Practice
Editorial
+0.30
SETL
ND

The author engages in organized civic participation by contacting the alderman's office and working collaboratively with government.

+0.30
Article 26 Education
Medium Practice
Editorial
+0.30
SETL
ND

The post is highly educational: teaches FOIA processes, data analysis techniques, Unix/Python methods, and civic engagement strategies.

+0.20
Article 12 Privacy
Low Practice
Editorial
+0.20
SETL
ND

The analysis uses public FOIA data responsibly, without disclosing private information about individual drivers (data is aggregated by location).

+0.20
Article 22 Social Security
Low Advocacy
Editorial
+0.20
SETL
ND

Economic security aspect: preventing unjust financial penalties protects economic welfare.

+0.20
Article 25 Standard of Living
Low Advocacy
Editorial
+0.20
SETL
ND

Adequate standard of living aspect: preventing unjust fines protects economic welfare.

ND
Article 4 No Slavery

ND
Article 5 No Torture

ND
Article 11 Presumption of Innocence

ND
Article 14 Asylum

ND
Article 15 Nationality

ND
Article 16 Marriage & Family

ND
Article 18 Freedom of Thought

ND
Article 23 Work & Equal Pay

ND
Article 24 Rest & Leisure

ND
Article 27 Cultural Participation

ND
Article 30 No Destruction of Rights

Structural Channel
What the site does
+0.50
Preamble Preamble
High Advocacy Practice
Structural
+0.50
Context Modifier
ND
SETL
+0.24

The blog platform enables public discourse and accountability around government fairness.

+0.50
Article 19 Freedom of Expression
High Advocacy Practice
Structural
+0.50
Context Modifier
ND
SETL
+0.49

The blog platform enables publication and dissemination of critical civic analysis without gatekeepers.

+0.20
Article 8 Right to Remedy
High Practice Advocacy
Structural
+0.20
Context Modifier
ND
SETL
+0.59

The blog platform provides a venue for documenting and publicizing the remedy process, enabling public accountability.

ND
Article 1 Freedom, Equality, Brotherhood
Medium Advocacy

The work affirms human dignity by combating unjust enforcement that exploited drivers' confusion.

ND
Article 2 Non-Discrimination
High Advocacy Framing

Directly addresses discriminatory effect: unclear signage created unequal enforcement outcomes where some drivers were ticketed disproportionately due to regulatory confusion.

ND
Article 3 Life, Liberty, Security
Low Advocacy

Tangential connection: freedom of movement affected by confusing parking restrictions that trap drivers in enforcement paradoxes.

ND
Article 4 No Slavery

ND
Article 5 No Torture

ND
Article 6 Legal Personhood
Medium Advocacy

The work affirms each person's right to be treated fairly and equally under law by correcting enforcement inequities.

ND
Article 7 Equality Before Law
High Advocacy Practice

Core issue: unequal protection under law. The post documents how identical parking spots resulted in disproportionate ticketing before the fix, then equal treatment after clearer signage.

ND
Article 9 No Arbitrary Detention
Medium Advocacy

Freedom from arbitrary enforcement: the unclear rules led to arbitrary ticket issuance before clarification. The fix eliminates the arbitrary element.

ND
Article 10 Fair Hearing
Medium Framing

The post demonstrates fair process: public data used to identify problems, formal complaint filed, government transparency in RFP documents, public resolution.

ND
Article 11 Presumption of Innocence

ND
Article 12 Privacy
Low Practice

The analysis uses public FOIA data responsibly, without disclosing private information about individual drivers (data is aggregated by location).

ND
Article 13 Freedom of Movement
Low Advocacy

Confusing parking rules restrict freedom of movement by creating traps where drivers face penalties for lawful-seeming parking.

ND
Article 14 Asylum

ND
Article 15 Nationality

ND
Article 16 Marriage & Family

ND
Article 17 Property
Medium Advocacy

Protects property/financial rights by preventing unjust $100 penalties. The 50% reduction saved drivers approximately $60,000 in 2017-2018.

ND
Article 18 Freedom of Thought

ND
Article 20 Assembly & Association
Low Practice

The author engages in organized civic participation by contacting the alderman's office and working collaboratively with government.

ND
Article 21 Political Participation
High Practice Advocacy

Directly demonstrates democratic participation: analyzing government data, identifying problems, petitioning elected officials, and participating in the solution. This is civic democracy in action.

ND
Article 22 Social Security
Low Advocacy

Economic security aspect: preventing unjust financial penalties protects economic welfare.

ND
Article 23 Work & Equal Pay

ND
Article 24 Rest & Leisure

ND
Article 25 Standard of Living
Low Advocacy

Adequate standard of living aspect: preventing unjust fines protects economic welfare.

ND
Article 26 Education
Medium Practice

The post is highly educational: teaches FOIA processes, data analysis techniques, Unix/Python methods, and civic engagement strategies.

ND
Article 27 Cultural Participation

ND
Article 28 Social & International Order
Medium Advocacy

Demonstrates rule of law: systematic analysis, fair process, transparent government, orderly remedy. Shows how institutions can correct injustice.

ND
Article 29 Duties to Community
High Practice

The author demonstrates strong civic duty and responsibility to community: using personal skills to solve a collective problem, sharing findings publicly, and enabling others.

ND
Article 30 No Destruction of Rights

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.81 medium claims
Sources
0.8
Evidence
0.9
Uncertainty
0.7
Purpose
0.9
Propaganda Flags
No manipulative rhetoric detected
0 techniques detected
Emotional Tone
Emotional character: positive/negative, intensity, authority
hopeful
Valence
+0.7
Arousal
0.5
Dominance
0.6
Transparency
Does the content identify its author and disclose interests?
0.67
✓ Author ✓ Conflicts
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.91 solution oriented
Reader Agency
0.8
Stakeholder Voice
Whose perspectives are represented in this content?
0.65 4 perspectives
Speaks: individualsgovernment
About: workersmarginalized
Temporal Framing
Is this content looking backward, at the present, or forward?
retrospective medium term
Geographic Scope
What geographic area does this content cover?
local
Chicago, Illinois
Complexity
How accessible is this content to a general audience?
moderate medium jargon general
Audit Trail 15 entries
2026-02-28 13:57 model_divergence Cross-model spread 0.26 exceeds threshold (3 models) - -
2026-02-28 13:57 eval Evaluated by claude-haiku-4-5-20251001: +0.46 (Moderate positive) +0.20
2026-02-28 12:40 model_divergence Cross-model spread 0.29 exceeds threshold (3 models) - -
2026-02-28 12:40 eval Evaluated by claude-haiku-4-5-20251001: +0.27 (Mild positive)
2026-02-28 09:44 model_divergence Cross-model spread 0.26 exceeds threshold (2 models) - -
2026-02-28 09:44 eval_success Light evaluated: Moderate positive (0.56) - -
2026-02-28 09:44 eval Evaluated by llama-4-scout-wai: +0.56 (Moderate positive) 0.00
2026-02-28 09:44 rater_validation_warn Light validation warnings for model llama-4-scout-wai: 0W 1R - -
2026-02-28 09:39 model_divergence Cross-model spread 0.26 exceeds threshold (2 models) - -
2026-02-28 09:39 eval_success Light evaluated: Moderate positive (0.56) - -
2026-02-28 09:39 eval Evaluated by llama-4-scout-wai: +0.56 (Moderate positive)
2026-02-28 09:39 rater_validation_warn Light validation warnings for model llama-4-scout-wai: 0W 1R - -
2026-02-28 09:38 eval_success Light evaluated: Moderate positive (0.30) - -
2026-02-28 09:38 eval Evaluated by llama-3.3-70b-wai: +0.30 (Moderate positive)
2026-02-28 09:38 rater_validation_warn Light validation warnings for model llama-3.3-70b-wai: 0W 1R - -