I'm a full stack developer currently living in Toronto.
I create modern interactive web applications that serve millions of users a month with and Next.js, , , and of course .
I also build and maintain scalable APIs with , or (and ). Occasionally I work on , build , and publish .
I <3 , so I tend to tinker with open source projects in my spare time, building fun little tools, games, or even just websites that make me laugh.
I've also got experience leading teams and love to mentor junior developers.
View my full work history
A presentation I did with my friend Adam Dawson on hacks and attacks in the rapidly growing NLP and LLM space, as well as common API use-cases for these AI technologies and how security is evolving within the space.
I'm a senior full stack software developer on the team behind the Cohere Platform. My responsibilities are divided between three key products: web applications (, , & ), API & endpoints (, ) and SDKs (, ). In combination, these products provide Cohere users with unprecedented access to AI and Natural Language Processing, allowing them to build software that can understand the meaning, sentiment, and intent of the words humans use.
I was the core developer for the TunnelBear browser client, A that runs in Chrome, Firefox and Opera and serves hundreds of thousands of users globally. It's built with , and , with a focus on security, privacy and accessibility.
A with support for the Cohere API. This SDK allows Node.js users to interact easily with the Cohere API in their own applications.
The Good Winds is a website and app that helps users plan their sessions despite changing weather conditions. Built with Vue.js and Python.
Fantasy Falcon is an analytics tool that organizes and displays data to fantasy sports fans. It's an ongoing project I'm working on with some friends. It's built with and .
This website is a little project that transforms user inputs into funny and nonsensical sentences. Initially I used the Merriam-Webster API to translate inputs, but after tweeting about it I found the requests were surpassing their daily usage limits, so I used to generate chunked thesaurus files and lazy load them with . Even though this project is ridiculous, I learned a lot about how to efficiently serve data.
React & Next.js,
Svelte & Sveltekit,
SQL & Postgres,
I love boardgames so much that I play them solo in addition to playing with friends. My favourites are and . I write reviews of games on Instagram.
I really enjoy indie and alt comics, stuff like , , or .
I'm a . I love to take candid and documentary photos. I've got a portfolio of my work up at kravse.com.
I travel whenever I can. I've visited 33 countries (and counting!). Some of my favourite destinations have been Morocco, China, Sweden, and India.
I really enjoy back-country camping and hiking. This year I've been exploring Tommy Thompson Park, Algonquin Park, and the Bruce Trail.