Code for Philly

Bringing Philadelphians together to upgrade our city

Code for [My Town]


Save the Date 9/23-24!

We’re changing the way city government works with tech and data. You can too.

At our signature hackathon Code for Philly: City Operations, we’ll improve basic city services and operations. This hackathon is a rolling hackathon that will last a month, kicking off with a weekend of brainstorming, project design, and hacking.

Teams have a month to work on the development, so the weekend is focused on ideation, intentional project design, and identifying work that will have real impact on communities.

Want to make this hackathon the best one yet? Join the hackathon planning team! Contact Casey Vaughan at

All Code for Philly projects are civic, open source, and follow our Code of Conduct.

Code for Philly awarded 10k grant from PTSSD!

We’re excited to announce that Code for Philly was granted $10k to continue supporting food and beverage for our weekly events. Thanks to generosity of Penn Treaty Special Services District we’re able to provide dinner to you at our weekly event (excluding Open House night).

Part of the grant includes using catering from restaurants in our local neighborhood (Northern Liberties and Fishtown). Want to see something other than pizza at hack night? Help us find restaurants to order from! Message us on Slack or send an email to to find out more.

Want to help Code for Philly but don’t have a project?

Run an event, plan a workshop, get connected.

Even if you’re not a coder, you can be part of the Code for Philly community. You can contribute an idea to our GitHub repo, you can help plan our next hackathon, coordinate where our weekly meal comes from, or help us with how we tell our story. It’s a great way to meet new people and connect with organizations that you wouldn’t otherwise know. If you want to contribute to Code for Philly but aren’t sure how, send us an email at

Latest Project Activity

Michiko Diby YadaGuru - College Application Reminders Update #24

We are humming along. Writing controllers on a daily basis. Feeling good. We are much cleaner now for install and setting up the environment and for getting right in and helping out. I (Michiko) also realized that our web app is incredibly useful. I'm helping a friend's daughter apply to Princeton, she's the first in her family to go to college. And it felt great to go to Yadaguru and just download that PDF of dates and it's GOOD and helpful and works! I guess because we weren't quite there with the mobile app I downplayed how useful the web app. Code for Philly can be proud that we have this awesome tool in production for Philly kids with an awesome mobile app on the way. So tell kids you know about Yadaguru so they can get the help they need for school.

Michiko Diby YadaGuru - College Application Reminders Update #23

And…..we're back.

So you may have been wondering…where are the Yadaguru folks? Well, I for one, went and had a massive wedding in Pennsauken, followed by a fabulous honeymoon in sunny Florida. We all kind of took a bit of a mental hiatus from the project. With civic all volunteer projects people can reach a fatigue point and we didn't want that to happen. So we all took that break. And now, we're refreshed and ready to dive in again. I'm going to focus on building out architecture diagrams and updating the readme on github with the goal of making setup a one hour thing (right now its like 4 hours with some help needed). Aidan is pushing some code soon. And Bob and I will be at the July 12 hack night to sync up again and hopefully meet devs who want to help out on this awesome project. See you all then!


Casey Vaughan Leverage: Philly Campaign Finance Update #1

Leverage: Project Update: Spring 2016

The Leverage team energized by an excellent Hackathon prototype built over two days in late March 2016 has continued in its effort throughout the spring months. Two in person group meetings were held in the weeks following DemHack 2016 to finalize team leads in the following areas:

Subject Expert: Meghan O’Conner Data Analysis: Led by Eamon Caddigan Visualization: Led by Patrick Woods Technology: Led by Adebayo Adejare Strategy: Led by Jacqueline Siotto Project Manager: Josh Werner Project Coordinator: Casey Vaughan Consultants: Bob Lannon & Kam Lasater

The Data Analysis is experimenting with different ways of distilling the finance data released by the city into easily digestible information for Philadelphia voters. This includes additional analysis of the unsupervised clustering approach used in our DemHack 2016 presentation; we hope to discover hidden structure in the pattern of donations that will allow us to make comparisons between the candidates. We are also experimenting with supervised approaches that could allow us to apply meaningful labels to the types of donors who support each candidate.

After some research and debate, the visualization team has decided on using NVD3 ( as its means to display dynamic data. Moving forward, we will work with the Data Analysis Team to determine which visualizations will be needed. We want to focus on displaying the campaign finance data in a way that is clear and understandable for both experienced user of this information, and novice voters who are interested in understanding how money has been spread in their local elections. We will then work with the Technology Team to connect the site to the data, and display the visualizations on the front end of the site/app.

The technology team tasked with infrastructure for the application ensures the seamless integration's of the various web systems and provides maintenance and security for the server. The technology team deploys Django API with a Nginx+Gunicorn setup as the server infrastructure complete with reverse proxy, load balancing, firewall and any other necessary components to the availability and security of the web application and site. Lastly, the technology team investigates the integration of dockerized containers for easier deployment and maintenance.

The Leverage project's main objective is to make Philadelphia campaign finance data more accessible and useful to voters. The strategy team is conducting market research to better understand how city-level campaign finance data is currently being used around the US, and how and to whom it might be most useful in Philadelphia. We are following up our general research with an online survey and in-person focus groups, which will help us identify and define our core target users as well as inform how we design and build our website/app and visualizations. We will continue to solicit feedback throughout the development process to ensure we best meet the needs of our users. The strategy team will work closely with our subject-matter expert to gain insight into the national and city-level campaign finance landscape, the data analysis team to determine what information is most relevant to our target users, and the visualizations team to help inform our final product.

We are especially grateful and excited to have caught the attention of Tina Zh, Marc-Andy Noel Jeune and Ian Campbell in recent weeks. Tina and Marc-Andy are joining the visualization team and Ian is looking to provide support to both the technology and visualization teams. Also we would like to publicly thank Chris Alfano and the entire Code For Philly team who constantly fan the embers that keep projects like this alive.

Moving forward the group has settled into an impressive cadence as members juggle professional and personal obligations. A monthly group-wide teleconference will be held during the summer months to keep the cadence steady. Teams and smaller groups will continue to work independently via Slack, hack nights and google hangouts. We will post an update at the end of the summer to keep others apprised of our progress!

Rich McMillen Philly Bike Coalition Survey App Update #7

Recently have been adding a bunch of minor usability improvements for the survey counting experience. Also have updated various countdown timer logic and added a header when the user is in a "portrait" device orientation that recommends he/she rotate their phone in order to complete the survey count. I'm feeling pretty good about being ready to share the latest experience with the Bike Coalition.

Short-term help needs includes testers (would like to see the web app experience rendered on as many different devices as possible) and of course any mobile web developers interested in improving the UI look & feel.

John Pankowicz Govmeeting Update #1

A large part of what is said at a City Council meeting is "ceremony" – a spiritual invocation, approval of minutes, taking of the role, recognitions of service, reading of proclamations, etc.

During this past week, text processing routines were written to categorize and label the parts of the meeting. The most important information we want to highlight is: (1) new legislation that is proposed and (2) discussion about new legislation.

Instead of data on existing laws, this project is most concerned with proposals that are not yet law and which citizens can then still influence.

Some text processing has been made simpler because Philadelphia Council members tend to use the same terms over and over. For example, when proposing legislation, one will usually say something like:

“I offer one privileged resolution …” “I introduce one bill on your behalf …” etc. Also, once something is proposed, it is then customary for the Chief Clerk to read a synopsis of the proposal. Categorizing public comments will be a bit more difficult.

Often lacking from the City Council meeting, in a city the size of Philly, is debate between the council persons themselves. Most of the proposed laws are immediately “referred to committee”. However, the public can comment on any proposed laws and the officials can respond.

Mjumbe Poe Councilmatic Update #3

All the work that was done this weekend at the Democracy Hackathon distributed across several repos.


  • (upstream)

    • This is the core of the new iteration of councilmatic. It is the basis on which and are built. It uses the OpenCivicData format to pull in information.

    • This is a version of the OCD API that's set up and ready to be deployed. It has the Philadelphia City Council District shape data included.
  • (upstream)

    • This is the Django app that serves as the OCD API server.
  • (branch phl-councilmatic-3)

    • This is a fork of the councilmatic-starter-template project. So far, only cosmetic aspects have been configured — setting up the names of things in Philadelphia, adding a liberty bell, etc.
  • (upstream)

    • This is intended to be the starting point for a new councilmatic instance. We made a few changes that we should submit as pull requests upstream. When configuring the philly-councilmatic project, if there's something that all new instances would benefit from, a change should be made in this starter project and pulled into Philly.

Documentation & Resources:

  • (one of the many endpoints in the server)

Kathryn Killebrew Philly Vote Check Update #2

Added option to look up polling location by address (instead of finding by looking up registration.) Also added lambda configuration for combining calls to find ward and division for address, and then looking up polling location by ward and division.