Projects.

A few highlights of my open-source projects. View them all on GitHub.

TakeNote

A free, open source notes app for the web.

2020 — TypeScript, React/Redux, Node/Express, GitHub OAuth

I built this app because I wanted a simpler, IDE-like, WYSIWYG-free note-taking program that would be accessible from any platform via the web. I also wanted it to sync without creating users or requiring a database.

The app allows plain text or markdown with previews, syncing, internal wiki style note-linking, drag-and-drop, prettier, syntax highlighting, light/dark mode, search, categorizing, and more!

Write-upSourceDemo

Chip8.js

A retro game emulator for three platforms.

2019 — JavaScript, Node, Blessed

Chip8.js includes a CPU class that handles all the internal logic of the emulator, and individual classes written for interfacing with a web, command line, or native client. The emulator plays CHIP-8 ROMs for simple games like Pong, Tron, and Tetris.

While writing this project, I learned a lot of fundamentals about binary and hexadecimal base systems, how bits and bytes work along with ASCII encoding and big/little endian values. I also learned about CPU memory, timers, stacks, the fetch/decode/execute cycle, and creating clean interfaces for the logic of your code to communicate with.

Write-upSourceDemo

Laconia

An MVC framework from scratch in PHP.

2018 — PHP, MySQL

In my time of working with custom PHP systems, I noticed a lot of extremely messy, haphazardly put-together code, code that had no sense of design or planning, and was also outdated and insecure.

I wanted to teach myself how to make a clean system using MVC design patterns and clear separation of concerns between the PHP object-oriented logic, HTML routes, JavaScript interactions, and CSS styles, that also utilized the latest methods for secure database connections.

SourceDemo

Primitive

A front-end design toolkit for developing responsive web apps.

2016 — Sass, CSS

I made my first websites in the late '90s, when HTML was written in uppercase, tables were using for creating layouts, and CSS didn't exist yet. When CSS came around I learned the most basic of float based layouts, but then I went off and worked another career for a decade.

When I came back, something called responsive design was all the rage, and Bootstrap, Semantic UI, and Foundation were popular ways to implement it. I wasn't happy using something I didn't understand, and I thought those frameworks were too bloated, so I created my own with Sass that I used for several design projects. Primitive was created to provide helpful, browser-consistent styling for default HTML elements, such as buttons, forms, tables, lists, and typography.

SourceDemo