The Northwest Bushwick Community Map is meant to be a resource for local community organizations and tenants rights groups to easily access disparate information around land use, housing and urban development for the neighborhood of Bushwick in Brooklyn, NY. It is also intended to be a tool to inform NYC residents about what kinds of indicators may be used to predict new urban development and help prevent displacement of residents in their own neighborhoods. Recently I had the opportunity to work with the original author of the map and some fellow designers in the MFA DT program at Parsons to improve the map’s design and functionality.


In the fall of 2014 two members of the Northwest Bushwick Community Group (NWB), Michael ‘Ziggy’ Mintz and Brigette Blood, met with several graduate students from MFA DT to discuss improvements to the beta-version of the map. Previously, the map used vanilla Leaflet.js with GeoJSON data created from NYC’s MapPLUTO and Department of Buildings permits open data. However the original map lacked a cohesive design and was slow in regards to loading of the data due to technical issues.

Map Improvements

To improve the interactivity of the map I chose to host the data on CartoDB and use the CartoDB.js library to handle loading, styling and toggling of the map’s data layers. When the user selects layers, CartoCSS and SQL code is passed to CartoDB to retrieve and style the data being rendered on the map. Hosting the data on CartoDB also allows for processing of the data in the CartoDB dashboard using PostgreSQL and PostGIS. This is beneficial as SQL scripts can be run to automate the processing of new data when the map needs to be updated.

To improve the context of the map (the Who, What, Where, When, Why and How) the MFA DT team asked Ziggy and Brigette to provide us with some real world stories that show how the data relates to the dwindling affordable housing stock and displacement of longtime residents in Bushwick. To accomplish this we used the Odyssey.js Javascript API to create an interactive slide show with the map which transitions between three of NWB’s stories. With a bit of hacking we were was able to use the changing of the slides as a jQuery event trigger to toggle the map’s data layers. This allows for the slide show to give background and context about the project while also relating seemingly abstract data in a visceral way.

Besides Cartodb.js and Odyssey.js we added some other features to the map to make it more useful for the Bushwick community. As there is a large Latino presence in Bushwick it was imperative to have the text of the map’s UI and the overall website toggle between English and Spanish. Additionally the non-map parts of the site were redesigned responsively using CSS Media Queries so that the other content such as “Get Help” can be easily viewed on a mobile device.

Future Plans

In the future NWB plans on adding participatory map data they’ve collected on housing vacancy and new development as well as stories of people who have experienced being displaced or harassed by their landlords. These features may be integrated with the current map or developed separately, but either way CartoDB and Odyssey will allow for the further creation of customized interactive map content to be readily achievable.


I refined the prototype for the NYC Property Extractor web app a bit more with some minor UI / UX changes. The app now only lets the user select an area when they are zoomed into the neighborhood scale (greater than or equal to zoom 16). This limits the amount of data a user may select so that they won’t say be able to select all of Brooklyn and bog down the server or database. Other changes include panning and zooming the map to the area the user selects when they draw a shape or click on a tax lot.

Also see this post and this post for feedback and development of the web app.


A project I worked on for a digital zine Elia Vargas is putting together. I also submitted this to a call for entries for the Istanbul Biennial, which was announced by Stamen Design. You may view the live / interactive version here.

Culture Code Cities Cells

In the last several decades cultural production has shifted from being shaped primarily by geographically separate places to a world that has become continually influenced by interconnected networks. The pivotal factor being that mobile devices and the web now mediate how many people experience their lives. In response, the data generated from these devices and shared across the web are informing how users of the technology view the world from their constant connectivity to email, social media and instant messaging. Thus we may choose to work from about any location at any time. We learn about events as they are unfolding. Time is now experienced in milliseconds rather than large hourly blocks (what’s on my Twitter feed vs. how has the news progressed since last evening?)

In this map the shape of the continents has been created from geotagged photos on Flickr. Nations and states / provinces are shown as Voronoi cells, also generated from Flickr user data (in a given place do Flickr users think it’s administrative area A or B?) Ten minutes of geotagged tweets collected on September 4th are shown in their temporal sequence that contrast with standard time zones which highlight on a mouseover. This map is an attempt to ask if we should rethink how we define time and place. Just as time was standardized following the advent of telecommunications and the rail roads, our computerized networks suggest the future of time is not what it used to be.

Game Design: Squares

Posted: September 24, 2014 in collaborative work, Game Design
Tags: ,

For our first group assignment in Intro to Game Design with Nick Fortugno, my group was given the task of creating a game that used poker chips and any other element from another game. The only rule was that we were not allowed to modify or make anything to add to the game. What we came up with ended up being an interactive experience I would not have thought of in any other way. This was a collaboration between myself, Joo-Hee Yun, Dylan Shad and Pierce Wolcott.

We started off by designing the game so that players would place the chips on a grid with the goal of placing four chips in a row.  The grid we used was from Dylan’s kit of gaming pieces and consisted of half inch squares. A chip takes up four squares and may be aligned horizontally, vertically or diagonally. We limited the number of chips for each player to 8 so that when all of a player’s chips were placed they would then have to move existing chips on the board.


Two initial problems we faced with the game were that 1. the board size was too big and 2. the play was lacking something to make moving the chips more meaningful. We resolved this by constricting the board to 20 x 20 half inch squares and changing the goal from connecting four chips in a row to placing the chips so that they align in the corners of a square shape of any size that would fit on the board.


Here is the game description:



• Game is 2 – 4 players.

• Each player has a total of 8 pieces (which are different colored poker chips)

• Pieces are placed on grid consisting of half-inch squares that is 20 squares x 20 squares

• The grid is sized (1inch x 1inch) so that one poker chip takes up 4 grid squares.

• Players take turns placing poker chips on the grid one at a time.

» The Goal: Players score points by placing their poker chips so that they are in relationship to the corners of a square. The square can be as large or small as will fit on the board, but each poker chip must be an equidistant number of grid squares to its adjacent poker chip (top, left, bottom, right). The shape of a square may overlap with other players’ squares and chips, but only chip may be placed in 4 grid squares. (in other words players cannot place their chips on top of other player’s chips).

» When a player creates a square they score a point and remove the four chips belonging to that square from the board. On their following turns they then place the chips removed from the board rather than moving their chips that are on the board.

» The first player to score 3 points wins.

» Other players may strategically place their own pieces in order to block their opponents’ attempts to form squares.

» Once each player has placed all their poker chips they then must move an already placed chip.

Thesis Blog

Posted: September 12, 2014 in Uncategorized

I’m documenting my thesis progress on a separate blog. You may find it  here.


Recently at my internship with CartoDB I’ve been helping test and document a new open-source tool called Odyssey which makes it easy for anyone to tell stories with maps. For part of the testing process I created an example story based on Darwin’s Voyage. The content comes from this Wikipedia article and the latitude & longitude coordinates for each location are from GeoHack. Odyssey makes it super easy to publish your work either through a link to a full page view, an iframe embed or by downloading the html, css, and js files to publish on your own server. I’m really looking forward to seeing what kinds of stories people will tell using this tool! Here is a link to the full story I created.

Guess That NYC ‘Hood from Chris Henrick on Vimeo.

An in progress NYC neighborhood guessing game for the web that runs on Node JS via the Express framework and MongoDB with Leaflet JS, GeoJSON and Underscore JS. This was my final for Web 3: Javascript last semester, taught by Mani Nilchiani. The user navigates a map of New York City and selects neighborhoods that come from a dataset by PediaCities. Their guesses are checked against the neighborhood boundary data and then stored in a NoSQL database (MongoDB). If the guess is correct then the polygon for that neighborhood disappears from the map and they are color coded blue in the left part of the interface.

I’d like to make the game two player using web sockets so players could compete against one another, as well as add a timer to give a sense of urgency. There is also the possibility of making this game more in depth conceptually such as providing historical information about the neighborhood being guessed as commentary on gentrification in NYC.

Code for the project is available on GitHub.