Projects

enviar

enviar

Real-time, multi-user chat interface for SMS / text messages. Imagine a call center where customers can send a text message to a single number and have a live chat with any agent(s) available.

Dataface

Dataface

Have you ever wanted to open a database, create a table, add a few fields and some data? So has just about every other developer! So why is there no free, open source, multi-platform application with a modern-looking UI available? And if there were, it would probably be just for one flavor of database.

Dataface aims to be just that, and hopefully for multiple flavors of database (at least Postgres and MySQL, maybe more). It won’t be as fully-featured as some of the other tools out there, but it will provide the simple stuff simply.

CSV Schema

CSV Schema

Analyzes a CSV file and generates database table schema, all within the browser.

Static API

Static API

Turns a CSV file into a static API and publishes it to a static web server such as GitHub pages using Travis CI automation. This provides a low-tech way of maintaining a dataset, especially when paired with prose.io’s CSV editor.

JKAN

JKAN

Open-source data portals can be really. hard. to install and maintain. But their basic purpose of providing links to download data really isn’t that complicated. JKAN is a proof-of-concept that allows a small, resource-strapped government agency to stand-up an open data portal by simply clicking the fork button. The result is a lightweight, backend-free open data portal, powered by Jekyll.

VizWit

VizWit

An interactive data visualization tool that uses a JSON config file to generate interactive charts that cross-filter one another. This tool enables open data providers to create showcases for their datasets that allow users to navigate through the data and answer important questions without having to know what to do with a giant spreadsheet, thereby broadening the audience of open data.

SODA Geoservices

SODA Geoservices

Query Esri Geoservices using a SODA2-style API. Geoservices are a type of API that is common among cities that use Esri’s GIS products but carries a steep learning curve. This tool puts a more familiar, SQL-like interface from Socrata in front of them. Theoretically, tools built against a Socrata API would work against a Geoservices endpoint using this tool.

SDE to Socrata

SDE to Socrata

A command-line utility to create Socrata datasets from Arc SDE/Geodatabase feature classes and push their contents in using an efficient transfer process provided by Socrata’s DataSync utility. Optionally, you can use a list of pushes to create a recurring sync job that can run on a cron tab / Windows task. Supports proxy servers, logging, and email alerts.

Who Won Philly

Who Won Philly

The office that oversees elections in the City of Philadelphia provides live election results on a rather old site. At a Code for Philly hack night, we built a tool to scrape the official results every 30 seconds and provide a simple, mobile-friendly interface that auto-refreshes.

The City Commissioners Office has since adopted the site as the official tool for live election results.

Philly Ward Leaders

Philly Ward Leaders

Philadelphia’s Ward Leaders have huge influence over who gets elected to public office. As powerful and few as they are, most voters haven’t heard of them. This transparency site aims to bring a level of spotlight to ward leaders that is more proportional to the power they wield.

Geoservices for Humans

Geoservices for Humans

Human-friendly documentation of Esri GeoServices, a type of API that is common among cities that use Esri’s GIS products that otherwise carries a steep learning curve. This tool generates an interactive interface for constructing queries. (work in progress)

Somerset Neighbors

Somerset Neighbors

Recognizing that the neighborhood with the biggest drug corner in the region had no civic association, the 24th Police District Advisory Council partnered with the New Kensington CDC to knock on doors and bring neighbors out to a meeting every month. These meetings became very popular, with attendance ranging from 40-90 neighbors per meeting, and eventually formed into Somerset Neighbors for Better Living, with by-laws and a Board of neighbors.

TextBlast

TextBlast

In a City where 41% of households do not have internet access, TextBlast provides a way for community groups to connect with those residents through text messaging. Community groups often send a mass email reminding neighbors about an upcoming meeting. TextBlast allows the groups to collect cell phone numbers in the neighborhood and send that kind of reminder through text message, looping in those who may not have or use email at home. The service is provided free of charge, and is intended for groups like civic associations, CDCs, business associations, and other community builders.

PhillyAddress

PhillyAddress

PhillyAddress extracts data from the Office of Property Assessment‘s web site and presents it in an easy-to-use mobile application, as well as an API that other software is built upon. In addition, PhillyAddress allows users to search for properties by the owner’s name, a core feature left out of the OPA’s web site.

Analyze the Vote

Analyze the Vote

Serving on the new City Commissioners Transition Team, I used public election data to build vote analytics tools including maps and scatter plots that show voter turnout, along with where candidates’ support came from.

PhillySNAP

PhillySNAP

A product of Random Hacks of Kindness hackathon, PhillySNAP allows users to text their street address to 267-293-9387 to find the nearest SNAP/Food Stamp-accepting Farmers Market, and the closest two SNAP-participating healthy corner stores. We partnered with the Food Trust to advertise the program on pamphlets being distributed to welfare recipients.

Frankford Safety Ambassadors

Frankford Safety Ambassadors

As Executive Director of the Frankford Special Services District, I was tasked with creating and funding a Safety Ambassador program for Frankford Avenue, providing uniformed personnel patrolling the business corridor interacting with shoppers, checking in with businesses, and liaising with the local Police District.