I am a 2012 Code for America Fellow working with the community of Macon, Georgia.
In the past I volunteered with One Laptop per Child in developing nations, participated in the Knight-Mozilla News Learning Lab, and worked at Esri's Applications Prototype Lab.
I study civil engineering at Carnegie Mellon University and contribute code to open-source systems for education, public health, and the environment.
olpcMAP.net connects hundreds of One Laptop per Child's projects around the world, and continues to grow by aggregating projects and welcoming new project proposals.
I co-founded the site and developed both server-side and client-side features. The site and its API use Google AppEngine and the GeoModel library to respond to geographic queries with a full-featured map or an easily-embedded image.
I have been selected as a 2012 Code for America Fellow. Open government data, web services, and planning are foundational parts of this national program.
EarthPaint is a platform for viewing a planned building and geodata in three dimensions, and making it available online for public comment.
The system integrates with a Ruby SketchUp plugin, Panchayati, where 3D models can be shared, divided between modelers, and posted online.

While volunteering in Haiti I geolocated and ground-truthed for OpenStreetMap, supported the local GIS community, and ultimately developed TapTapMap.org. This site combines transit routing data, the open-source Leaflet maps library, and information from multiple local teams on one page.
You can read more about the project on the OpenStreetMap wiki.
At a weekend hackathon, I developed SketchMapper, which uses HTML5 Canvas to subvert typical assumptions about digital maps.
I convert data from OpenStreetMap's API into JSON and apply a 'crayon' effect to produce maps such as the one seen below. Despite their simplicity, the maps are quite accurate and could be an excellent background for maps drawn by kids.
See my travel blogs for Uganda and Uruguay / Haiti, where I documented the hardware, software, and planning.
In 2010 I traveled to Uganda for seven weeks - designing, developing, and teaching a mapping and environmental sensing class for The Kasiisi Project and One Laptop Per Child.
With local support and international volunteers from The Kasiisi Project, I was able to direct every aspect, from programming applications and wiring sensors to actually teaching the classes. I traveled to a nearby school to teach mapping with colored pencils and stickers, and presented the headmaster with a satellite map of their town.
|
|
|
|
In spring 2011 I was an intern with Uruguay's national Plan Ceibal laptop project for two months. I developed a mapping activity and contributed towards literacy and math initiatives.
I attended the international eduJAM conference and visited projects in Canelones. At the end of my visit, I met teacher trainers, local teachers, and a classroom full of 21st-century learners in Paso de los Toros. I greatly improved my Spanish language skills by collaborating with developers and demonstrating these technical projects to teachers.
|
|
|
|
Late in 2011 I volunteered to teach computing and English at the Haitian-American Caucus's school ten miles outside Port-au-Prince, Haiti. I helped design the school's OLPC activities and add experimental science to their curriculum.
At other times, I was adding landmarks to OpenStreetMap and participating in meetings at the Red Cross and ESIH, a technical university in Port-au-Prince.
|
|
|
|
In 2010 I worked on a research project covering the Dunkard Creek Fishkill, which wiped out most fish in a river along the PA/WV border. I organized e-mails and documents and represented their geographic and temporal information in an ArcHydro geodatabase. Then, I developed two maps with the Google Maps API: one to browse the timeline map to see the crisis develop and subside, and a live sensor map showing the most recent data from the USGS, RAIN, Carnegie Mellon, and West Virginia University.
This research was presented at the State of the Monongahela Conference in September 2010.
View the Dunkard Creek WaterQuest page for more information.
I have been adapting this map to focus on the live sensor feeds from RAIN (http://3rain.org), to improve the user experience on their website. You can try a Bing Maps example and a completely openly-licensed OpenLayers + OpenStreetMap example.
Environmental and realtime data sources are crucial to understanding crises, but are often left to desktop GIS, and not websites. I developed a set of bookmarklets which work around the built-in data model and integrate into existing crisis map and timeline tools.
In fall 2008, I created tools which interact and control the YouTube Player API. In spring 2009, I used Google App Engine (Python) to build an online editor, including collaboration with friends using Facebook Connect.
You can get an overview of the mash-up projects at http://palpable-video.appspot.com.
Most videos online today are like scanned PDFs. You can see them, but your computer is blind to it, so neither you nor your favorite website can manipulate it. Compare to images, which your browser can resize, scroll over, filter, flip, crop, and edit on the fly. A web browser can adjust the page to match the content of the image. You can upload your own photos and edit them online. Your machine is told 'paste Flash content here' and it can't edit or react to its content or your interactions in that space. This can be a hassle on its own accord: try scrolling the page after clicking on a YouTube video.
Open video technology would let you mix together videos and content, display videos in a player with any shape or decorative, interactive design, and customize media with advanced scripts.
Projects such as Popcorn.js make it easy to plug in data from Wikipedia, Google, or Twitter. I developed the OpenMap plugin to add OpenStreetMap, NASA World Wind, and USGS terrain maps to Popcorn.
When I was selected for the Knight-Mozilla Learning Lab, I developed FollowFrost, an application for news organizations to produce media-rich videos of interviews.