Portfolio

Released Projects

Precipitate

Go To Project

Precipitate

The Problem
I wanted to see the weather forecast in my shared calendar (as an iCal link). However, I couldn’t find a good solution.
The Solution
An application that translates forecast data into ICS format.
Using
Vue.js over Express.js, using OpenWeatherMap API

Pycasso

Go To Project

Cover 1 Cover 2 Cover 3 Cover 4

The Problem
When doing unit testing (or integration testing) there was no good place to find placeholder images. Lorem Picsum was the best, but the images tended to be repeated frequently. Using Google Images took a while due to having to download images for each request.
The Solution
A library that generates uniquely-looking images for unit testing.
Using
Python, Pillow

JustFile

Go To Project

write("./path/to/some/file.txt", "Hello World")
read("./path/to/some/file.txt")
# "Hello World"
The Problem
Writing to and reading from files in Python is unnecessarily complicated. I wanted to make the process simpler and condense the actions down to one line at the most.
The Solution
A Simple Python library to read/write to a path.
Using
Pure Python

Ningilin

Go To Project

import NingilinModel from "ningilin";

let MyModel = new NingilinModel(

    "MyModel",                      // The name of the Ningilin (used for the path)

    mongoose.Schema({
        name: String,
        number: Integer,
    }),                             // The Mongoose schema (model will be generated)
);

app.use(MyModel.getRouter());
The Problem
When doing Mongoose development, I found it tedious to create the Create Read, Update, Delete actions for each model. I couldn’t find a boilerplate solution.
The Solution
A library that creates Express routes for the CRUD actions. The library is highly customizable, so you can hook into any of the CRUD actions and do something before or after.
Using
Mongoose, Express, TypeScript