Kimberlee Johnson


COVID-19 Open Restaurant Finder

During the COVID-19 crisis, a friend who runs a restaurant wanted to reach more takeout customers during Shelter in Place, but refused to work with delivery apps. I scraped The San Francisco Chronicle’s Restaurant project, deployed it to a REST API using Node.js, and then connected that API to Twilio, setting up a phone number that could receive a zip code from a text message, look up the corresponding open restaurants, and respond to the sender with that list. Hundreds of people texted the number within 48 hours.

Stack: Node.js, Heroku, Twilio

Role: I built this project independently.

Code | Case study

Sauti Databank

Screenshot of bar charts on

A data visualization project for Sauti manages an SMS platform that East African border traders use to look up realtime market data. We converted that data, collected from SMS queries and stored in an array of objects, into a readable, then visual format.

Stack: Nivo (D3js), React, Sass, Node.js, MySQL.

Role: In addition to collaborating on a five-person developer team to create a new data model and ETL process for Sauti, I also: moved calculations from the front-end to back-end routes to decrease front-end load and optimize performance; wrote a Node.js script to automate data updates, and managed documentation so that a new team of developers could pick up the project where we left off.

Code | Case study |Site

Ride for Life

Mobile view of the Ride For Life marketing page, featuring a woman holding a baby and a sign in button.

A marketing page for Ride for Life, a Safe Mothers, Safe Babies app that allows pregnant mothers in Uganda to take safe, affordable boda-boda motorcycle taxi rides to medical appointments.

Stack: HTML, Less CSS, JavaScript.

Role: As the solo-developer on this project, I drew from my previous experience working in Uganda to design a mobile-first site, and brought it to life using media queries.

Code | Case study | Site


Clouds at sunset behind a standard app login screen.

An app that performs a psycographic analysis of a user's tweets once they connect their Twitter account. The analysis includes graphs comparing a user's results to the average user, and also suggests a list of users with similar psycographic traits.

Role: I partnered with another front-end developer to design and implement how the user would interact with the app, and what data would be displayed with each user click.

Stack: React, Redux, styled-components.

Code | Site

Mean Girls Day Bot

In honor of the Mean Girls meme, I built a mini-bot that responded with "It's October 3rd" on October 3rd, and partnered with Chloe Condon at Microsoft to write up a blog post about the app and the tools that made it possible to build and deploy quickly. Since it's obviously not October 3rd all year, I then updated the app to respond with random quotes from the movie by building and deploying a simple Node.js REST API.

Role: I followed Twilio's terms of service to have fun building this little demo.

Stack: Twilio, Microsoft Azure, Node.js

Code | Case Study