Some of my Projects


I've been working on some AI-supported conversation and story-writing tools. The app is not publicly available yet, but will provide two key features for now: (1) Building and reading/playing interactive stories (like Choose your own Adventure) for foreign language learners, using AI to help with prompts and continuation ideas, and (2) having somewhat natural-feeling conversations in foreign languages with conversational goals to achieve before moving on to the next scenario.

Incarceration Derivation

Wrote SQL script to replace a slow-running PHP script that was deriving incarceration spans from sets of daily jail records scraped from county jail rosters. Processing went from several minutes per file to a couple of seconds per file.

Click here to see the code.

Map of Speech Accents

Built using data provided by George Mason University's Speech Accent Archive, this map allows users to explore accents around the world as they all read the same sample paragraph.

Click here to explore the map!

Frequency Flash Cards with Scores and Bookmarks

This is a very rough proof of concept that involved scraping some dictionary websites vocabulary and translation and then developing an app that lets you log in with Google and then run through flash cards in one of several languages in order of vocabulary use frequency. It remembers where you left off (you can reset the bookmark) and also keeps score of how many times you skip a card without flipping it (you can reset that too). If your score clears a threshold, it'll stop showing you that card until you reset your scores.

Fun glitch: sometimes you have to refresh to actually see things once you first log in using the Google link. I'll iron it out at some point.

Spanish | Finnish | German | French

Genealogical Information Strategy: Data Curation, Visualization, and Entity Relationships

Building on questions that arose during the development of a project called Letters Across the Pond (in which I scanned family letters from Ireland to the US, marked them up and mapped out people and places references in them), this ongoing investigation explores solutions to problems in genealogical entity management, artifact digitization, and data visualization. Ranging from how to best store, tag, and mark up images to how to combine disparate family trees by identifying identical people who are referenced in each, the issues of digitizing our heritage are explored from many angles.

In conjunction with the Genealogical interests described above, solutions are being explored that may facilitate the documentation of life experience in such a way that they can easily be viewed in time and space. Connections between people and places at various times during their lives, as well as the interpersonal connections that exist at junctures in time are considered as relevant data schemas are devised. Tools such as the Google Maps API and Simile Timeline and Google Timeline are explored as possible solutions to the visualization challenges surrounding the display of this these types of information.

Timeline of Cause and Effect

As part of an effort to develop genealogical tools for documenting lives and relationships between people, places and things through time, I am currently working on a simple Timeline application that will allow users to create events, assign dependencies between these events ("I wouldn't have met Barbara if I hadn't taken that trip to Venice back in 1998"), and then visualize how their lives might be different if they remove certain events, or see how experiences chain together to bring about important events later in life.