Written by Adrian Holovaty on May 18, 2005

First, it was Chicago transit maps on Google Maps. Now, I'm very excited to announce, an independent side project I've been working on for the past month or so of weekends and nights.

The site is a freely browsable database of crimes reported in Chicago. My scripts collect data from the Chicago Police Department once every weekday. The site slices and dices crime information in a ton of different ways, complete with a wide assortment of Google Maps.

I did all the development, data munging, etc. My talented friend and coworker Wilson Miner did the slick design. The site is powered by the Python programming language.

I'd originally launched it yesterday, anonymously (for privacy/security reasons, as crime is a touchy subject), but I've given it more thought and decided to put my name on it.

The site has already gotten a ton of good press, and it got so much traffic yesterday that I had to improvise a quick caching system. (It's nice and zippy now.)

Some of my favorite features:

  • The map view lets you view crimes by a number of criteria, all updated dynamically on a Google Map via Ajax.
  • Find your district uses the Google Maps interface to guess which police beat you're centered on.
  • Every city block in Chicago has a detail page with its latest crimes and links to crimes within 1, 2, 3, 5 or 8 blocks. (Example.)
  • It's got RSS feeds for every block and police beat in the city.

To me, the most exciting thing about this site is that (I hope) it gives people helpful and important information in an easy-to-use way.

The second-most exciting thing is that I've got a long list of cool technical things to add. The ink is far from dry on this baby. Make sure to subscribe to the site news RSS feed to keep up. And please send me suggestions if you think of other cool and helpful ways to sort and display crime information.


Posted by Jeff Croft on May 18, 2005, at 11:56 p.m.:


I told Wilson already, but I wanted to tell you congrats on this. Great job all around. It's a great idea and even better execution.

Keep on reppin' the midwest and Kansas for all us web developers in the area. :)

Posted by Wilson on May 19, 2005, at 12:12 a.m.:

Glad to see you stepping out from behind the curtain on this one. Thanks for letting me help out - it was really lots of fun.

And despite my involvement, it turned out to be something really great (and useful, judging by the response). Congrats on another fine contribution to the Building Better Internets front.

Now I'm going to have to find something else to do on Sunday nights while Laura is watching Desperate Housewives.

Posted by Ryan on May 19, 2005, at 12:58 a.m.:

Awesome stuff. I saw this yesterday from a Waxy link, and had already passed it along as an example of something to emulate. Glad to see you taking credit for it.

Posted by Andy Baio on May 19, 2005, at 1:22 a.m.:

Yay, you deserve the credit for an amazing piece of work. You do realize that the mob just put a price on your head, right?

Posted by kpaul on May 19, 2005, at 5:06 a.m.:

Very, very cool. Again, great job.

Posted by kpaul on May 19, 2005, at 6:11 a.m.:

What would be even cooler would be to have overlays for census data.

I'm not sure you can do overlays with Google Maps, though.

Maybe do it with DHTML layers? That is, use Google Maps to pinpoint an area and then 'overlay' census data...

Don't get me wrong. It's ubercool as-is, but talking about it with people in other places, ideas start coming. ;)

Posted by Marc Hedlund on May 19, 2005, at 10:41 p.m.:

Fantastic work. Any chance of open-sourcing the code, so that people in other cities could set up similar sites?

Posted by Adrian on May 19, 2005, at 11:22 p.m.:

Marc -- The site is built on a Python Web framework, called Django, which we plan to open-source as soon as we finish writing documentation. Stay tuned, and thanks for the great feedback.

Posted by Marc Hedlund on May 19, 2005, at 11:31 p.m.:

Great! Thanks.

Posted by Curious George on May 20, 2005, at 6:07 a.m.:


How will Django compare to Ruby on Rails and when should Python followers expect this framework to be released? Thank you.

Posted by Adrian on May 20, 2005, at 6:53 a.m.:

Curious George -- Django has been actively developed over the past year and a half. Ruby on Rails is similar to it, but Django is written in Python and has a few more advanced conveniences for super-quick Web development.

I expect we (the company I work for) will be releasing it within a month, depending on how busy we are with other things. Just watch this site's RSS feed; I'll have an announcement here.

Posted by Lou on May 20, 2005, at 9:35 a.m.:

Amazing site, Adrian. From everyone in Chicago...well, speaking for like 2 people, or maybe just myself, thank you.

Go Cubs. Boo hiding/transporting fugitives.

Posted by marcel on May 20, 2005, at 5:52 p.m.:

Truely great work. Awesome ! I'm not a python coder but I can't wait to see it open sourced.

I was hoping it was php/mysql, but that's ok.

Posted by rafa on May 21, 2005, at 4:33 a.m.:

Again, amazed with your job. And I agree with Baio, you deserved the credit. Congrats.

Posted by Steve Pomeroy on May 21, 2005, at 7:40 p.m.:

It'd be really cool if all the various layers available on this site could be overlayed in google maps. Challenge, anyone?:

Posted by Joe Murphy on May 22, 2005, at 3:37 a.m.:

You're my hero, dude.

On a way-dorkier note (errr maybe), is parsing data easier in Python than PHP?

Posted by Adrian on May 22, 2005, at 7:44 p.m.:

Joe: Using PHP to parse data is like using an Easy Bake Oven to prepare a feast.

Posted by Robert Schutz on May 23, 2005, at 7:33 p.m.:

Wish we could add this feature to our local police site.



Posted by Jacob Wilson on May 23, 2005, at 7:41 p.m.:

Slashdoted :)

Posted by Curious George on May 23, 2005, at 10:49 p.m.:


Thank you for your reply. Will Django have AJAX support and what is your opinion on Subway (is Django something close in its nature to Ruby on Rails or a completely different beast?). Can't wait for the release to satisfy my curiousity.

Posted by pickled on May 24, 2005, at 4:04 p.m.:

Wow! Very cool, would love to get my hand on this when you get it released

Posted by namwob on May 24, 2005, at 10:15 p.m.:

how were you doing the "data munging" from the CPD's Citizen ICAM website? were you looking at how there data was represented in various searches and extracting it via python? great work! I have forwarded this on to my friends and family in the chicago area!


Posted by Jeff on May 25, 2005, at 4:51 p.m.:


I scanned the site but couldn't find direct contact information (did find a link to this blog; unfortunately, a quick scan is all I have time for at present). I live in Houston and was sifting through our available online crime records prior to a move a few weeks back. I really could've used a service like this. Are you interested in providing a similar service to other locations or in helping others implement the same?

Posted by Easy Bake Oven on May 25, 2005, at 6:08 p.m.:

I cannot wait to see your code once you release it.

I'm interested to see what (by your opinion) makes Django/Python that much better than PHP5 for this.

Posted by Phillip on May 25, 2005, at 8:30 p.m.:

Great site! I am interested do you have a backdoor type feed of data from the ICAM site? Looking around it I can't see any place to do a raw download.

I'm also surprised how much data is released by the Chicago Police Department. We did a similar project here in Portland and the police here are very careful not to release exact addresses so that victim information isn't exposed. In especially bad crimes like Sex Assaults we only give a clue as to where the crime might have happened (within one quarter mile.)

Anyway, congradulations... I think you have created probably the most powerful crime analysis system available to the public yet.

Posted by Sgt. Tom Feledy, SFPD on May 26, 2005, at 12:18 a.m.:

Your site is very compelling. I'd be interested to know how folks think it compares the San Francisco Police Department's public crime mapping site,, which I manage.

SFPD uses Omega Systems' CrimeView Community software. At present, this works only with Windows Internet Explorer 5.5 or better, and doesn't provide RSS feeds. I've had some complaints about the interface, too.

Being dedicated public servants, we're always interested in alternatives that provide more service at less expense to taxpayers.

I'm sending you a separate email to explore setting up a site in San Francisco, and look forward to feedback from you and your readers on this idea.

Posted by Robin on May 27, 2005, at 9:52 a.m.:

How funny -- as soon as I saw Adrian's great Chicago map, I checked to see what was available for SF, and was actually pleasantly surprised by the richness of the data available on your site, Sgt. Feledy.

But, as you say, the interface could definitely be better -- faster and cleaner.

Would definitely be great to wrap up & export your system if it's possible, Adrian. Talk about a public service -- yow.

Posted by Jason on June 9, 2005, at 9:26 a.m.:

I checked out following a Slashdot story - congrats on an AMAZING public service and excellent use of technology. Let's hope Google does the right thing and allows this to continue.

Sgt Feledy: Being from SF, I am familiar with crimemaps and while I praise SFPD for providing this service, the usability of crimemaps needs significant improvement. The IE-only requirement is annoying but getting past that and interview-style navigation, the resulting map and overlays are very hard to read and use. My guess is that hiring these guys to do something similar to in SF would be a lot cheaper and better too!

Posted by Robert Sieger on June 9, 2005, at 3:51 p.m.:

Awesome job! What a great thing to do for the community. I saw the article on the AP this morning - so you are getting some outstanding press! The applications for other sites is out of this world! I also run - a local manufacturing firm here in the Chicago-land area - we need to talk about using this for our Find Distributor tool!

Posted by Ted on June 9, 2005, at 6:46 p.m.:

This is great! I just read about your site on I'm having issues getting the site to come up. I would imagine you're being overrun with traffic right now. Any chance you could convince the powers that be, in your meeting with them, that Chicago should foot the bill for a higher capacity server for the site? People will flock to this, I guarantee it! If the city is bent on needing revenue, tell them to sell some ads on it and that should recoup the cost for them!

Thank you for this though, it's a great idea!

Posted by anonymous on June 10, 2005, at 10:12 p.m.:

I tried San Francisco's CrimeMaps website with Netscape and a MacIntosh. The site worked for me.

Posted by anonymous on June 10, 2005, at 10:16 p.m.:

Who is guaranteeing that data on is accurate?

Who is guaranteeing that Google will continue to provide free hacks with the current interface?

Who is guaranteeing that Chicago will continue to provide its data in the current format and schema?

Posted by Adrian on June 11, 2005, at 12:13 a.m.:

anonymous: Nobody is.

Posted by Chris Williamson on June 11, 2005, at 4 a.m.:

You're a stud, Adrian. Do you know if it's possible to hack Google Maps to do proximity searches? I'm working with the Houston Mayor's Wellness Council to overhaul its site. I'd like to build a tool where someone could pick a physical activity, enter an address and then see the nearest places where he or she could do that activity. I know we'd have to build our own database of activity locations. But once we have that database, could we make it work with Google Maps to figure out only the X nearest locations and display just those? I'm no map whiz like you, but I assume I could calculate as-the-crow-flies proximity using just geographic coordinates, and maybe that's good enough. But ideally you'd use routing features to determine proximity according to driving distance or time. MapQuest wants like $8000 a year for this stuff. If I knew it was possible with Google Maps and, say, MySQL, I'd take the time to try to put together my own solution. Thanks for your recent contributions to humanity. You deserve all the praise. =)

Posted by Matt on June 11, 2005, at 6:29 p.m.:

Adrian - this site, as well as the Chicago Public Transit one, is simply stunning. I wish we had one for Boston or Washington, DC (although I see the MBTA map for Boston is being developed as we speak). This is amazing technology and I wish we could see much, much more of it. I've shown this to all my friends. Kudos to you!

Posted by Timothy on June 12, 2005, at 5:52 p.m.:

Rather than hack Google, why not install UNM's free MapServer software on your server and create your own custom mapping app? MapServer is free and open-source. Works on Windows and Linux.

Posted by Adrian on June 12, 2005, at 6:13 p.m.:

Timothy: I've considered using MapServer -- with ka-Map for map dragging, which looks pretty slick -- but it'll have to wait until I get a beefier server (or, better yet, multiple servers). It's a bit too performance-intensive to be able to handle the traffic is currently getting, on the hardware I currently have. I'm definitely aware of it, though.

Posted by John on June 14, 2005, at 4:23 p.m.:


Wow. I saw your face in a photo accompanying a news story I read this past weekend, and had to figure out what you'd done to earn that big geeky photo (so much for newspaper branding, because I definitely can't remember which newspaper it was that I saw the photo in...).

You've outdone yourself man. I bet Rob is proud as hell of you, and he should be... and the rest of your team should be proud as hell of their accomplishments. You and the rest of the guys at rock.

Keep up the good work, and if there's a way you can provide this type of software to other communities, please do. If you can make a little money doing so, all the better...



Posted by Jason on June 18, 2005, at 6:14 p.m.:

To anon re: SF crime maps: it works for me with FireFox on a couple of platforms too but the front-page says "IE 5.5 and above only". That's why I said it was annoying rather than a showstopper.

Posted by Rod on July 1, 2005, at 4:51 p.m.:

Great site... and extremely speedy too! Having used Java throughout my short programming life, I was curious to read the site was developed and run using Python. I am interested, why the choice of Python and, in pure newbie fashion, are you running a CMS (such as Zope) behing the scenes? Obviously, I would completely understand your irreverence in this context... these sort of questions can be deemed personal to a developer! Cool work nonetheless!

Comments have been turned off for this page.