Who could've guessed I would get obsessed with Wordle? Oh yeah - everyone. Back
when Wordle first got big, I reverse-engineered it and added two features: 1) play infinite
and 2) set up a challenge link for a
Investigating Automatically Generated Questions
Tools used: SpaCy, BERT, Transformers (Huggingface), Bookshelf
Helped lead R&D around automatic question generation from textbook content. Was a
published author on award-winning research paper proving our method works. Led productization
effort to launch at massive scale in VitalSource Bookshelf, which has since won multiple awards for
innovative use of AI in education.
Watkins or Not Watkins?
Tools used: Python / Flask, Keras, Theano
Inspired by Silicon Valley
's Not Hotdog
, this simple app detects whether
an uploaded image is Watkins (the Bookshelf
mascot) or not, using a convolutional neural network based on VGG16. Yeah, it's overkill. And yeah,
image models have come a long
way since 2017!
Tools used: Python / Flask, React, AWS, MySQL
Source: MetaSeek on Github
Think outside the textbook
Tools used: EPUB 3, Web Audio API, Firebase Realtime Database
Video of my talk at Books in Browsers '16
. Lots of fun demos in
this one, including three prototype chapters from a hypothetical highly interactive music textbook. This
was a really fun project to build, and an even more fun talk to give.
Tools used: Web Audio API, Firebase Realtime Database, MIDI.js
Source: Mind-size-bites on
An explorable exploration looking at a famous piece of experimental music, "In C".
Including a collaborative, networked, educational concert performance.
Tools used: Web Audio API, Youtube API, Firebase Realtime Database, Device motion detection,
An aural and visual exploration of Mendelssohn's famous overture. Make sure to try
out conducting the piece (as it plays on your laptop) by waving around your phone to the beat.
Timbre - the color of sound
Tools used: D3.js, Web Audio API
Timbre can perhaps best be described as the color of sound. Check out a
visualization of a trumpet or flute, then sing into your microphone to see your own voice in action.
Tools used: Node / Express, Mailgun API, Heroku
Source: Link-a-Day on
1) Send firstname.lastname@example.org a 💯 link (with the URL in the subject line).
2) Get an anonymous 🔥 link back via email. 3) Reply to 💬 directly with whoever sent it in. I took this
offline a while ago, sorry!
Tools used: Python, word2vec, scikit-learn, EPUB 3
Source: EPUB2Vec on Github
Using Word2Vec, analyze which paragraphs of a set of ebooks are most similar to
each other. Useful for cross-linking, topic relevance and exploration. An example of an NLP project I
would approach very differently in 2023 compared to 2016.
Night Falls. A Storm Rolls In...
Tools used: Hand-crafted, boutique, framework-free HTML, CSS, SVG & JS
Source: Riddler solutions on
Diving deep into an interesting puzzle from FiveThirtyEight
with an explorable explanation. I wish more educational content worked like this.
Tools used: Node / Express, Twitter API, ImageMagick, JP2A, AWS
Source: Asciify on Github