, 46 tweets, 47 min read Read on Twitter
Follow me on a little recap of my time at @nycplanning over the last 3 years. I was recruited after @arielmai introduced me to @fuchsnyc . He was building a progressive, data-savvy team focused on analyzing and influencing NYC’s Capital Budget. 1/
@NYCPlanning @arielmai @fuchsnyc The team had been assembling new data products and cleaning up old ones, and the missing piece of the puzzle was a digital platform to make the data more accessible. The simplified dream: see all of NYC’s capital projects on a map instead of parsing through 4000 pages of PDFs. 2/
@NYCPlanning @arielmai @fuchsnyc I like to describe @fuchsnyc as having a clear-as-day vision in his head for what this product could do, but didn’t like his options. (1. Figure out how to get it built in-house in the agency’s IT team. 2. Find money and hire a vendor to build it) /3
@NYCPlanning @arielmai @fuchsnyc He went with option 3, hire a #civichacker on to your team and just build it yourself. For me, it was a golden opportunity to not just be critical of bad #govtech on twitter, but to put my money where my mouth was, and see if I could do any better on the inside. /4
I took the plunge in the spring of 2016 /5
We got to work on the Capital Planning Platform and had a an MVP in a few months. Here's the facilities explorer, providing visual access and filtering to the NYC Facilities Database built by @hbkateshb and @AmandaDoyle212 /6
@hbkateshb @AmandaDoyle212 This was literal civic hacking, we had virtually no budget, just a scrappy team and the universe of #opensource software at our disposal. I got to play with reactjs, combined mapboxGL with vector tiles from @carto, and basically got a chance to learn app dev on the job. /7
@hbkateshb @AmandaDoyle212 @CARTO We got a domain name and some hosting and started learning how to deploy our little web things. I remember coffees with people like @ChaseGilliam to learn how to do continuous integration. /8
@hbkateshb @AmandaDoyle212 @CARTO @ChaseGilliam We scraped lots of data from PDFs and other agency websites. We wrote scripts to help manage data cleanup. We started the agency’s github org, which now has over 140 public repositories. /9
After a year, I was starting to get concerned about the sustainability of this slapped-together codebase I was building. I had the good fortune of recruiting @pichot as a highly-overqualified intern bringing real software engineering experience and great product vision. /10
@pichot We need a team. A digital services team. A delivery team. A team with clearly-defined values in its approach to technology-building. We can do what @18F and @USDS are doing at the federal level, but right here in our little agency of 300. /11 18f.gsa.gov
@pichot @18F @USDS I made a pitch deck for "DCP Labs". Let's set it up in the IT Division. Let's define the mission. Let's start with a team of 3. /12 chriswhong.github.io/labs-pitch-dec…
The decision-makers were into it. This wouldn't have been possible a year earlier, but we had bootstrapped an impressive digital tool from scratch in under a year with no money. We had gotten their attention. They authorized 2 new hires, and @nycplanninglabs was born /13
@nycplanninglabs On day 1, I forked the @18F website and turned it orange. If we are going to be like them, the perfect homage and the extremely practical thing to do is start with re-purposing #opensource code. /14
@nycplanninglabs @18F @andycochran had been moving the @NYCCouncil website to wordpress. I actually found the github org he had set up for them, and discovered a budget exploration app he had built before it was officially launched. /15
@nycplanninglabs @18F @andycochran @NYCCouncil Andy was an openplans alum, which had me over the moon. My dream as a techy planning student in 2012 was to become a good enough developer to work at @openplans. He applied for the designer position and became a founding member of the team. /16
@nycplanninglabs @18F @andycochran @NYCCouncil @OpenPlans On this note, I like to hope there is now a new crop of techy urban planning students who feel the same way about @nycplanninglabs. If you can't work here, start your own somewhere else. /17
@nycplanninglabs @18F @andycochran @NYCCouncil @OpenPlans Matt Gardner was a model developer for the kind of work we were about to embark on. It takes a special mix of frontend development skills, rapid iteration, geo/postgis/webmapping, data cleaning, data viz, and of course, domain knowledge of cities and planning issues. /18
@nycplanninglabs @18F @andycochran @NYCCouncil @OpenPlans He was doing very similar work @MAPCMetroBoston, a regional planning org in Boston, and was well-suited to take on the ambitious web mapping apps @planninglabs was about to build. He applied for the dev position and became the third founding member. Sorry @arouault! /19
@nycplanninglabs @18F @andycochran @NYCCouncil @OpenPlans @MAPCMetroBoston @PlanningLabs @arouault Matt and Andy started in July of 2017. We were shipping code on day 1, and built an ideas app so anyone at the Planning Department could propose great ideas of digital products and discuss them. /20
@nycplanninglabs @18F @andycochran @NYCCouncil @OpenPlans @MAPCMetroBoston @PlanningLabs @arouault This ideas app turned out to be a bad idea, it was near impossible for our little team to promote its use... as they say, you need to know when to turn things off. It at least got us some experience on our dev practices, tools and frameworks, etc /21
@nycplanninglabs @18F @andycochran @NYCCouncil @OpenPlans @MAPCMetroBoston @PlanningLabs @arouault Project 0 was NYC Community Profiles, a site that puts community district-level data at your fingertips. All of the data sources are #opendata from federal or city sources. It is dynamic and data-driven, replacing a static resource that was hard to update /22
@nycplanninglabs @18F @andycochran @NYCCouncil @OpenPlans @MAPCMetroBoston @PlanningLabs @arouault Next we worked on ZoLa, and built it from the ground up on a 100% opensource spatial stack. ZoLa is a quintessential tool for anyone working with buildings, properties, and land use in NYC. This was deeply rewarding for me as a user of the older ZoLa for years. /23
@nycplanninglabs @18F @andycochran @NYCCouncil @OpenPlans @MAPCMetroBoston @PlanningLabs @arouault NYC Population Factfinder is a joy for anyone who has ever felt the pain of working with raw census data. It lets you choose a study area by clicking census tracts, then does all the hard aggregation math for you, giving a nice shareable report. /24
We needed an autocomplete geocoder. We had used Mapbox's and Google's but people always said they came up short on some of the nuanced NYC address quirks. So we use the #opensource pelias project built at @mapzen to make our own. /25
@mapzen The GeoSearch API powers address search in all of our apps, and has even been adopted by other agencies and third parties including @urbanarchiveny and @80snyc. It's free to use, and doesn't require an API key (for now!) It uses NYC's official address data, maintained by DCP. /26
@mapzen @urbanarchiveny @80snyc I skipped an important project (# -1), while I was solo and waiting for Andy and Matt to start, I built this interactive visualization of historic NYC Migration Data with our Population Division. It shows migration trends over the past 50 years. /27
@mapzen @urbanarchiveny @80snyc NYC Street Map surfaced thousands of high resolution scans reflecting changes to NYC's street grid, and shows authoritative information about the status of city streets. /28
@mapzen @urbanarchiveny @80snyc @taymcgin joined us as an intern in the summer of 2018. Our little shop was in chaos, and we wanted her to help with chores like cleaning up the backlogs and helping with documentation. She said nah, I'm going to ship code instead. She's now a full-time developer. /29
@mapzen @urbanarchiveny @80snyc @taymcgin @hbkateshb transferred to Labs from Capital Planning as our first product manager in fall of 2018. Our maintenance burden and technical debt were piling up, and we had never had the bandwidth to do proper user testing. /30
@mapzen @urbanarchiveny @80snyc @taymcgin @hbkateshb She brings order to chaos, looking strategically across the portfolio AND managing sprints. With the addition of product, Labs now has 3 clear "guild-ish" disciplines. Product - Design - Engineering. Each will grow on its own as a community of practice. /31
@mapzen @urbanarchiveny @80snyc @taymcgin @hbkateshb Firing on all cylinders, with all three disciplines weighing in, and after many iterations of code sprints and user testing, we recently launched Applicant Maps, a tool for automating map creation for land use applications in NYC /32
@mapzen @urbanarchiveny @80snyc @taymcgin @hbkateshb It eliminates the need for special GIS skills to create a map. You can do in 3 minutes what used to take hours, and might require weeks of back-and-forth with our reviewers to get to an acceptable version. ATM it only does one map, but others are planned. /33
@mapzen @urbanarchiveny @80snyc @taymcgin @hbkateshb A more traditional gov approach would be to wait until the whole thing is DONE before releasing it. We know the best thing to do is get it in front of real users as soon as possible. Real users === real feedback, and better products. /34
@mapzen @urbanarchiveny @80snyc @taymcgin @hbkateshb And as we all know, projects are never really done. In government we tend to always be waiting for release dates that never arrive. /35
@mapzen @urbanarchiveny @80snyc @taymcgin @hbkateshb Our team has 4 core values, which drive everything we do, and become "how we build". It's been really important to us to get out of our bubble and participate as peers in the global developer community. /36
We contribute back to #opensource projects, and we blog A LOT. (This was a requirement, everyone writes one post per month. If you don't have something interesting to share with the world after 30 days of working here, we are doing something wrong) /37 medium.com/nyc-planning-d…
We also have some fun traditions. We do a regular team breakfast in a different NYC community district. It reinforces the idea of "not planning from 30,000 feet", and gets us out of the office and into the communities we serve. Hitting all of NYC will take 5 years or more /38
Most recently, we welcomed @pichot as a product manager/engineer, transferring in from Capital Planning. He's leading an ambitious project to automate the complex data analysis necessary to do Environmental Quality Reviews in NYC. /39
@pichot @jh___nyc joined us in January 2019. She was working as a software engineer in the private sector, and is the solid engineering architecture yin to my civic hacking yang. She's been shoring up our quick to market projects ever since and raising the bar for our devops. /40
@pichot @jh___nyc We're welcoming a new summer intern, as well as another designer and an engineer next month. We've also got @papersix helping out as a contract-based UX designer. /41
@pichot @jh___nyc @papersix We've moved fast and broken things... now we're slowing down and fixing things. I'm so proud of this team, and amazed at all that we have been able to accomplish in such a short time. We can build technology in-house in gov that is better, faster, and less expensive. /42
@pichot @jh___nyc @papersix We can have nice things if we learn to get out of our own way... if we stay attached to the broader tech for good community, connected to the people we serve. There is no difference between #govtech and regular tech. /43
@pichot @jh___nyc @papersix After the most amazing experience of my career, I've decided it's time to move on to the next thing. City Planning has *the best* civic technologists currently operating in NYC. Stay tuned to see the amazing things they do. /44
There are countless others I haven't tagged that are responsible for what happened here. I'm humbled by the communities that support #civictech around the world. Thank you all for your constant support and encouragement, and for letting me play in this world! Onward! /thread
/encore When I met with @fuchsnyc to accept the job, he said "We are going to change the world". I think we did, AND we are still just getting started. My departure is the end of the beginning...
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Chris Whong
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!