James Harris

Designer and Web Developer

I tackle complex concepts and make them easy to understand.


Periodic Table of Storytelling

Stories make use of recurring ideas called "tropes" which repeat across genres and through time. The community at TVTropes.org catalogues these tropes in an enormous wiki, collecting examples for every imaginable trope with light-hearted glee. I created the Periodic Table of Storytelling as an introduction to TVTropes; it's an infographic that organizes the basic building blocks of storytelling into a familiar format.

Featured on Gizmodo, io9, The A.V. Club, Boing Boing, Laughing Squid, Fast Company, and Design Taxi, with over 2 million views.

GIAL Degree Planner

Advisors at the Graduate Institute of Applied Linguistics were tracking student enrollment by hand, with Word documents and spreadsheets. Not only was this a tremendous timesink, it made commonly-asked questions like "will any students be attending this class" practically unanswerable. I led a team of three to create an app that tracked this information in a relational database.

This app lets advisors create an Intended Plan of Study on behalf of each student and allows administrators to modify the structure of a degree as necessary. Dashboards quickly display enrollment information that was previously too time-consuming to calculate. The app is built in Ruby on Rails with an AngularJS interface.

Understanding the Family Learning Cycle

I worked for a homeschooling publisher with a sophisticated curriculum framework designed to allow parents to teach all their children at once rather than dividing them up by grade. This saved parents lots of time and money, but explaining how it worked was quite difficult. Every time they tried to write it out, the explanation turned into a wall of text, so they fell back on explaining it in person at conventions, which didn't scale well.

I realized I could probably solve this problem with an interactive infographic. After mocking it up in Illustrator, I built it out using HTML5 <canvas> and Fabric.js. I showed the prototype to our knowledgeable customer service reps, made changes based on their feedback, and published the project to our website.

After publication, I used HotJar to collect feedback about the project; 97% of our visitors marked "This page helped me understand the Family Learning Cycle."

Principles of Heroism

Part coding exercise, part writing project, I made this to help me codify some ethical principles I've been developing in my own life.

Email james@jamesharris.design

coded with HTML 5 SASS GitHub EaselJS Babel