James Harris

Designer and Full-Stack 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.


I built a social network prototype to help me learn Ruby on Rails. Definitely not based off any other major social network, no.

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.

Understanding the Family Learning Cycle

My Father's World has a sophisticated curriculum framework that saves parents lots of time and money, but requires some explanation up-front. It was believed that this explanation was best delivered in person at a convention; no-one had ever devised a truly effective written explanation.

I decided an interactive infographic stood a good chance of solving this thorny problem. After getting my boss' permission, I mocked up a prototype in Illustrator and then 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."

Congress Tracker

Type in your address and Congress Tracker will look up your representatives in Congress. Then you can see how they're voting and who's funding them. Made during a three-day hackathon with three other students from Viking Code School.

Email james@jamesharris.design

coded with HTML 5 SASS GitHub EaselJS