Projects

Write Partner (2023-present)

I’ve found language models can be effective thought partners to help you deepen your ideas by generating questions that make you think and reflect. While I’d seen many projects attempt to use language models to remove the human from the loop in content generation, in this project I’m using a language model to prompt the user to communicate the content in a conversational way. You chat with a language model and present your ideas.
Read More…

Personalized Guided Meditation (2023, unpublished)

I’ve experimented on and off with guided meditations to practice mindfulness. One area that was a challenge for me in this practice was that the script was often not quite relevant to what I was experiencing or didn’t really resonate with me. Using a language model and text to speech model, I built a Telegram bot that would take a prompt message and use that message as the topic to generate a personalized guided meditation.
Read More…

AItinerary (2023, unpublished)

I built a site to take a prompt from a user about where they were and their preferences and from these, would generate an itinerary for their day and plot the proposed locations on a map. This project was inspired by use of ChatGPT while traveling to easily source points of interest and activities based on the types of things we wanted to do while visiting a new place. Tech: React, Next.
Read More…

Marlow (2023)

I built a site that you can use to manage a list of books you’ve read and your ratings for them. From this reading history, you can use a language model backed approach to generate book recommendations based on your ratings and a small summary justifying the recommendation in the context of your reading history. It was a hard concept to validate, since it takes a while to read a book and determine if it was a good recommendation.
Read More…

The Adventure of Penelope (2023)

I built a site to host a language model generated kid’s book I built using ChatGPT and Midjourney. The plot was sourced from my book club to see how a language model would perform writing a story with an unusual plot. It prompted some interesting conversations about the role of storytelling and art in culture on the orange website. Tech: React, Next.js, OpenAI, Midjourney, Vercel Source code

Book Club (2021-2023)

I built a site to track the books we read in our book club and remind folks what we’re reading for the next week. I also built some vanity charts to look at stats about what we’ve read over the years. It’s backed by a Notion database so it’s easy for me to update quickly. This was one of the first sites I build using React and Next.js, so it’s quite basic and I relied a lot of frameworks and prebuilt components.
Read More…

Wedding Texts (2019, deprecated)

I wrote a tiny site to use to send text messages to different groups of guests at our wedding. We used it to reminder guests about when the event started and to distribute a link to a shared album to collect photos. Tech: Twilio, Python, Flask

Rowing Vue (2018, deprecated)

I created a project to scrape https://log.concept2.com rowing data and store in a database. From this, I built a leaderboard site to show rowing activity for several athletes for the month and a summary page to display personal bests across common distances and times (for example, 2,000 meters, or 60 minutes). A cron triggered the scraper to pull new changes daily. Tech: Python, Vue, MySQL, Flask Scrapy, Docker

Python Hearts (2014)

I wrote an implementation of the Hearts card game towards the end of college to practice Python. This repo unexpectedly got a bit of traction several years later and has been used as the base project to train and implement an AI player, something I aspired to do when creating the project but never did. Tech: Python Source code

qc (2013)

I wrote a little command line utility to do math while doing research over the summer. It was my first submission to HN and received a bit of traction. I also wrote a post about it. Tech: Python, Shell Source code

My blog (2013-present)

My blog is (presently) a Hugo generated static site. In previous years, I’ve written posts on it sporadically. This year, I added “Logs” and “Today I Learned” (TIL) categories of posts. The former is the least formal and typically focuses on something I read or thought about at a surface level. These encourage my habit of writing and have started to become a way I bookmark things I’ve really enjoyed, start to develop ideas or publicly journal, since I’m personally not too keen on social media.
Read More…