I was born somewhere in the tropics (okay, Kuala Lumpur) and arrived in America in 2006 to attend Princeton University. I graduated in 2010 with an A.B. from the Woodrow Wilson School of Public and International Affairs and a certificate in Creative Writing.
I've worked in pharmaceutical consulting and literary management, where I taught myself VBA and decided I might actually like this programming thing. Other fun things I've done include singing at Carnegie Hall with the Oratorio Society of New York, attending the Community of Writers at Squaw Valley, studying writing under Sheila Kohler, Jeffrey Eugenides, and Joyce Carol Oates, and learning acrobatics at circus school.
solar system tour
An animated 3D model of the solar system, created in THREE.js with textures downloaded from planetpixelemporium. View the solar system from three different perspectives: infinite, orthographic and from the perspective of the Earth herself as she moves around the sun. Orbital and rotational velocity are approximate. Click and drag to explore!
I love maps. There are three globes on my portfolio! Building off the last two d3 map projects, I decided to take it a step further and animate my globe, making a geography quiz that's fun and interactive. The globe image is generated from GeoJSON data. On the backend, a database of answers is tied to the countries on the map, allowing you to see what other users got right... or wrong.
It's been the most popular of my apps by far -- my answers database exceeded Heroku's free row limit within 3 weeks of my creating it!
In November, one of our instructors tried to use a YouTube video tutorial in lecture, but we were unable to watch it on the projector because the sound was too low. Although we tried to watch it in sync with him on our separate computers, it quickly became impossible to tell if we were all at the right point.
Enter watchwithme, a video-syncing application that allows you to watch YouTube videos with friends or classmates — and chat about them in the same window — on separate computers, perfectly in sync. The person who starts the room controls the video, and other watchers' videos are synchronized to it.
set: the game
As an exercise in learning front-end, I created a client-side implementation of the classic game Set. I thought this particular game would be interesting, given the relative complexity of the rules compared to simpler pattern-matching games.
Then, since it's no fun to play alone, I made a multiplayer version using websockets, allowing you to play with as many friends as you want — on separate computers, in any location. You can play that version here.
learn your countries
My second project with d3, building on the first (directly below). As your mouse moves over each country on the rotating globe, its land mass lights up and its name appears on screen. An intuitive way to brush up on your geography.
This is a simple click-and-drag rotating globe made with the amazing d3 and topojson libraries and data from the Natural Earth library. It was made on the second day I started learning d3, which should explain its simplicity. I'm fascinated with the way d3 allows you to transform data into complex visualizations — without having to be a data scientist. Expect more maps to come soon.
Despite my relative lack of knowledge in the field, I'm fascinated by astronomy and cosmology — I entered Princeton hoping to be an astrophysics major. I discovered this wonderful compilation of the Hipparcos catalog, the Yale Bright Star catalog, and the Gliese catalog, and decided to teach myself a little three.js in an attempt to visualize the data.
Starfield is a work in progress. Right now, I have a 3D visualization of all 119,000+ stars in the catalog, using a three.js particle system. Click and drag to rotate the star system; use your mouse wheel or trackpad to zoom in or out. In future, I plan to use layers for better performance, allow for click-zooming, and improve the labeling, which is currently done using sprites but might be better accomplished by integrating CSS with the three.js camera system.
clap for ashley
Our class decided to make a website to surprise instructor Ashley Williams, an avid user of Twitter. This website lies dormant until Ashley sends out a tweet — or until any Twitter user sends out the class in-joke hashtag #clapforashley — upon which the screen fills with the images and sounds of applause.
Geotreasure is a hybrid treasure hunt/tourism app, inspired by the concept of geocaching, that allows participants to create trails for others to follow — from anywhere in the world, to anywhere in the world. Using mobile phones or other portable devices, trail followers can check in at any given location to discover buried treasure in the form of videos, audio, images, and text left as a reward by the trail's creator.
Geotreasure is a work in progress, created as a Rails project with my partner Oliver Switzer at the Flatiron School. We work extensively with the Google Maps API.
(click for more information)
blake is awesome
conway's game of life
This was a quick project, whipped up in the course of one evening in an attempt to learn to roll my own user authentication system in Rails (courtesy of Michael Hartl's tutorial) and to learn how to make a basic messaging system in Rails.
Another early project. We were given a list of songs and asked to make a playlister engine from them; I decided to take it a step further by using the YouTube search API to embed videos for each of the songs.
are you still sad?
Early project: a recreation of the first few steps of the classic Pokemon Red. (Always my favorite.) Using Nokogiri, I scraped information and images from Bulbapedia — information on every single Pokemon — to create my own PokeDex. Then I put it online.
One of our earliest projects: a randomly generated emergency compliment, inspired by emergency compliment.com. This one is Pusheen-flavored.
Made on the very first day of the Flatiron School — a resource-sharing app for Ruby beginners.
An extension of the emergency compliment assignment, made with a partner, using images and text scraped from the web. We thought it was pretty funny.
is it today?