Code
Web apps, bots, hardware hacks, and other miscellaneous coding projects.
Goodreads Integration
NPR Pitched and developed the integration of Goodreads into the NPR Books Concierge to allow users to bookmark books that they're interested in. This was achieved by developing a Fabric task to take the ISBNs from the Google Spreadsheet the book list is stored in, using the Goodreads API to convert them to a Goodreads-specific ID, and then using Jinja to inject that ID into a URL template within the HTML.
Fabric, Flask, Python, Jinja, Goodreads API
Waves
Side Project Worked with Eunice Lee and Bomani McClendon to design and create Waves, a Raspberry Pi project centered around transforming the transience of the spoken word into something concrete and physical. This project was debuted at the Segal Design Expo, and featured on the Raspberry Pi blog!
Python, JS, Flask, Raspberry Pi
Check Mark
Meedan Worked with Meedan to build a browser extension that allows users to use Check - Meedan's crowdsourced news verification tool - without navigating to the Check webapp itself.
JS, React, Redux, GraphQL, Chrome Web Tools
Self Care SMS
Side Project Built a SMS bot that sends crowdsourced self care messages to people who participate. Text 1 (530) 212-6073 to join! (May not be currently functional due to API/server costs.)
JS, Twilio, AWS, MySQL, Flask
Copyedit Automation
NPR Pitched, developed, and wrote documentation on an automation task to automate sending copyedit notes for NPR-developed graphics.
Fabric, Flask, Python
NEWSounds
Side Project NEWSounds is a data sonification experiment that imagines what the news sounds like. Using features including random seed generation, sentiment analysis, and topic categorization, I mapped headlines from the New York Times into music and an accompanying visual display.
HTML, CSS, JS, Tone.JS, Node, Express, NYT API
Chicago Marathon Visualization
Research Worked with a team of researchers to develop a data visualization system for the Chicago and Houston Marathons using the LAMP stack. I was involved with the design and development of the entire system, which features race simulations from previous years, real-time data incorporation (I built a separate Selenium scraper for the Houston Marathon), and the visualization and display that would be shown in forward command on race day. This research project is still ongoing.
JS, d3, PHP, Python, MySQL, BeautifulSoup, Selenium
Pigeon Soundscapes
NPR Designed and developed mobile and desktop interactions for a collaborative All Things Considered / Visuals piece on Indonesian pigeon racing.
JS, Modernizr.js
NYPL Tweeter
Side Project I created a Twitter bot to post hourly images from the New York Public Library's public domain.
JS, Python, Twitter API
Texas Redistricting
Texas Tribune I worked with reporters to design and produce an interactive visualization, which demonstrated how Texas's 35th Congressional District violated the Voting Rights Act.
QGIS, Mapbox, d3, ArchieML
CareBot
Side Project Built at the Propublica Vital Signs Hackathon, Eunice Lee and I created a Facebook messenger bot that helps college students find mental health specialists nearby. This project won best use of the Better Doctor API and the Yelp API! We also wrote a writeup of the project here.
JS, Node, Express, FB Messenger API
Vote Tracker
Texas Tribune I helped create an app that allowed reporters to easily track and visualize votes on Texas legislation from a Google Spreadsheet.
Nunjucks, Google Spreadsheets, Flask
Javascript Frameworks
Side Project I trained a neural network to generate new Javascript framework names. Some of them were pretty neat!
Torch, Amazon EC2, BeautifulSoup
Avocalculator
Side Project Built a Chrome Extension that replaces monetary values on web pages with the equivalent number of avocado toasts, since that's what millennials are all into these days.
JS, Chrome Web Tools
Northwestern Soundscapes
NBN A collection of the everyday sounds on Northwestern's campus. I led the design, development, and audiovisual components of this piece.
HTML, CSS, JS
This is Not (a) Normal Todo
Side Project Chrome extension experiment on motivating myself and others to participate more in civic engagement, in wake of the 2016 election.
HTML, CSS, JS, Chrome Web Tools
GoatBot
Side Project A dumb Slack bot to make bad goat puns. It's pretty easily modifiable to other text replacement applications, though!
Python, Slack API
SnailPost
Class SnailPost is a mobile communication app designed to bring back the sense of slow, thoughtful satisfaction of snail mail, in an era where most communication is built upon instant gratification. Three classmates and I co-developed this app in conjunction with clients from Northwestern's Masters in Product Design program.
AppGyver Supersonic, AngularJS, Firebase
Lost in translation
NBN I worked with a writer to develop a story focused on students for whom English is not their primary language.
HTML, CSS, JS
Radio Drama - Influential Friend
NBN Developed an audio/text piece with NBN's Writing Section focusing on influential friendships in college.
HTML, CSS, JS
Valentine's Day Emojis
NBN Made a fun little Valentine's Day page with NBN's Life and Style Section.
HTML, CSS, JS
Northwestern Eateries
NBN Helped the current NBN Interactive Editors develop and compile a guide to campus eats.
HTML, CSS, JS