| Projects
Projects completed, in progress and abandoned

I also have a portfolio section which is particularly for instruction design.

Web development
node.js
vue.js
typescript
kysely
postgres
SEO tools website using a mixture of APIs (Adwords, OpenAI, Azure, and others). I took over the project when it was still using Java with Play and then later rewrote the backend with Express, Redis, Kysely and Postgres using TypesScript.
Images

sveltekit
typescript
postgres
This web app takes curriculum materials, either as PDFs or text, and converts them into questions and then a format which can be easily uploaded to common revision sites for teachers, such as Kahoot, Quizizz, Quizlet and Blooket. Allows for saving, editing and exporting questions sets. The goal was to allow teachers to maintain their own sets independent of these sites.
Images

rust
svelte.js
actix
postgres
actors
A real-time multiplayer word game using Rust with Actix-web and websockets on the backend, and Svelte on the front. Docker setup can be found via the repo and a blog post showing how it was created can be found here. You can also play the game at https://fourplay.thespatula.io
Images

sveltekit
typescript
Creates cloze sentence worksheets from a given text by selection or at random. It can then be printed or saved to PDF. A demo can be found here.
Images

API
rust
tokio
Created this when I was developing a Discord bot with Rust and wanted to use the OpenWeather API. You can find the it on crates.io here.

Tools
python
markdown
Created this when I was developing a Discord bot with Rust and wanted to use the OpenWeather API. You can find the it on crates.io here.

rust
chrome extension
svelte
A tool that uses a Chrome extension to send links, images and pages to a self-hosted server. This is something I’d like to rewrite as I’m finding I’d actually want to use it.

Educational

sveltekit
pocketbase
node.js
Using SvelteKit v4, this is a template which includes both email and social auth, along with being able to set a profile. This is currently being used as the basis for another project which is a movie review site devoted to 80s movies that I’m building for friends.

sveltekit
stripe
node.js
This is a demo showing how to intergrate subscriptions with SvelteKit and Stripe. You can find a full write up here, while below you’ll find the how to get the demo up and running.

rust
actix
diesel orm
A repo which contains a setup for Rust, Actix-web and Diesel ORM. There is an associated video series found here. It’s a bit outdated at this point, but probably still useful.

Curriculum design

slides
p5.js
A slide deck based unit I design and built for an MYP design class. It a beginning friendly set course used to teach fundamental of programming through p5.js.
Images

slides
python
A series I made for Repl.it that covers the basics of abstract data types as presented in the IB Computer Science course. It is accompanied by coding challenges, as linked in the slide decks.
Images

slides
These slide decks cover the basics of networks as given in the IGCSE Computer Science course. It can be easily adapted to work with most high school curriculum that has coverage of non-programming CS topics.
Images