Screenshot / Code Snippet

alt text
(source: apphb.com)


Ever wanted to see just what kind of locations are posting to the various Stack Exchange sites at any given time? Even if you haven't, you'll find it with StackGeography.

NEW! Now with multiple-site concurrent polling goodness!

This site started with a desire to get a visual sense of the wide-spread use of the various Stack Exchange sites while simultaneously creating a proof-of-concept mapping demo. This met both of those needs, and provided a great chance to poke around various JavaScript libraries.


MIT License


No download necessary, just visit stackgeography.apphb.com.

NOTE: With AppHarbor phasing out free custom domains at the end of the month, if www.stackgeography.com stops resolving correctly, you should be able to get there with the direct AppHarbor domain: stackgeography.apphb.com.


Should work on any modern web browsers with JavaScript enabled. While it works fine on desktop browsers, it has a few UI tweaks to go to be more mobile-browser friendly.


Adam Patridge

Bugs and requests and such can go on the StackGeography GitHub repository.


Stackgeography.apphb.com was written entirely in JavaScript, HTML, and CSS. The code can be found, and contributions made, at the StackGeography GitHub repository.

APIs Used

Projects Used



  • Ability to poll meta Stack Exchange sites, defaults to omit to keep site list shorter (toggle via saved option).
  • Marker placement can be staggered via saved option.
  • Clear map markers via #.


  • Polling multiple sites concurrently! The UI still needs work, but if you return to site selection by pressing S, you can keep adding sites to poll.
  • Polling management: hit P to view pending polls and cancel some/all of them.
  • Options management: hit O to view/set options (more options to come).
  • Using localStore for StackGeography options (currently only saving last selected site and maximum map markers).


  • Mark questions with site-specific map markers.
  • Options window:
    • Toggle site-based map markers vs. generic stackgeography.com map marker.
    • Change max number of markers shown (default 500).


  • Switched to ASP.NET MVC to make it easier to output-cache common API hits on the server.


  • Added location geocoding in batches (up to 100).


  • Added filters to the Stack Exchange API calls to cut down on JSON coming back from those requests.
  • Switched to SQL Server on AppHarbor to avoid locking issues on geocode cache inserts.
  • Added keyboard shortcuts (? brings up hint window).


  • Google Maps 403 issue patched with server-side caching proxy for geocoding API requests.
  • 1
    This looks really cool. Err, sounds really cool...I just get a bunch of 403s when I start polling a site. Commented Jan 10, 2012 at 1:15
  • Looks like I maxed out my geocoding quota on Google Maps. I'm not sure how to go about fixing that yet, but I will definitely need to look into it.
    – patridge
    Commented Jan 10, 2012 at 1:44
  • @agent86 I hoped you wouldn't mind. I chose that question because I had that issue while developing this app.
    – patridge
    Commented Jan 10, 2012 at 4:53
  • @Rebecca In case you hadn't seen it since, it is fully functional now. While it still has some 403s from the Google Maps API (I must have made them very angry), they don't affect the interactions.
    – patridge
    Commented Jan 11, 2012 at 13:56
  • Awesome app! btw where did you get the geo data from? I cannot see any ip-related information on the official soapi?
    – matcheek
    Commented Mar 2, 2012 at 12:53
  • @matcheek All the geocoding is done with Google Maps API, but I proxy it through a server-side DB cache since the app was hammering Google directly for every person for a very limited number of unique user locations. After running for most of three months, there are only 790 entries in said cache (oddly, only 18 entries that didn't geocode).
    – patridge
    Commented Mar 9, 2012 at 19:16
  • 404 Not Found, what happened? Commented Apr 27, 2012 at 22:00
  • @systempuntoout When AppHarbor started charging for using a custom hostname, the domain stopped resolving. I hadn't been back here in a while, but it has been forwarding correctly for a while now.
    – patridge
    Commented May 26, 2012 at 15:37
  • AWESOME APP!!!! I logged into stackapps.com, just to say "WELL DONE"! Commented Jun 7, 2012 at 12:41
  • That site is down :(
    – rekire
    Commented Apr 26, 2013 at 20:13
  • It's been located at stackgeography.apphb.com for a while now. There were a few links in there that worked, but I hadn't updated them all. When the custom domain came up for renewal, I let it go.
    – patridge
    Commented Apr 28, 2013 at 20:21
  • @patridge It seems to be blank now.
    – J F
    Commented Aug 1, 2016 at 18:21
  • @JF I don't doubt that it could be dead, since it is 3 years old and ties together two APIs, but it is still working fine for me right now.
    – patridge
    Commented Aug 1, 2016 at 22:17
  • @patridge Never mind… my adblocker caused the problem.
    – J F
    Commented Aug 1, 2016 at 22:19

3 Answers 3


The scrollbar in the "pick a site" dialog isn't visible in Mac OS X Lion while scrolling (usually it appears only when scrolling, but here it doesn't).


Besides that, it's very cool!

  • Thanks for letting me know. I'll definitely look into a way to fix that. That is a fairly standard jQuery UI dialog box, so I hope tracking down a solution will be easy. Unfortunately, I only tested on Snow Leopard (no Lion yet) and Windows 7. It is weird that it worked fine on Safari for both of those, though.
    – patridge
    Commented Jan 9, 2012 at 14:17

This is excellent.

If I could make one suggestion, it would be great if you could set a cookie and keep my polling option (which site I want to poll) and maybe just give me a list to refresh and show the dialog again.

I often check the site, find an interesting question which takes me to stack overflow. When I come back, I have to select my polling option again.


  • 1
    I definitely have that planned for where there are far more preferences to be set. Until I get the chance to really incorporate savings of preferences, I did a stripped-down version. While it doesn't assume you want to start polling, it does save/load your chosen site from localStorage when it is available in the viewing browser. After you have a setting saved, it should auto-select; just wait for the selection window to pop and smash the enter key to start polling.
    – patridge
    Commented Feb 13, 2012 at 3:38
  • In case you check it out again, I added multiple-site polling. All selected sites from the list of checkboxes (vs. the old radio buttons) is still a saved preference.
    – patridge
    Commented Feb 27, 2012 at 19:44

The map repeats itself. Additionally, when selecting a post, the second incarnation of the icon gets the tool tip like box, not the one I clicked.

enter image description here

  • 1
    Thanks for the feedback. The repeat was by design, since I couldn't guarantee where the viewer would be located. I didn't want to pin someone into a corner of a continent-centric layout. Unfortunately, this caused that marker issue to arise that you noticed. If two flags for the same item are visible, Google Maps highlights one of them regardless of which one is actually clicked. I haven't nailed down if this is something I am doing, but I am suspecting the Google Maps system does this by default.
    – patridge
    Commented Jul 31, 2012 at 15:40
  • Why not just show the whole world at max?
    – soandos
    Commented Jul 31, 2012 at 15:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .