My projects

Lawyer Up screenshot

Looking for a lawyer? This app lets you browse and search lawyers by category, ranking and location. You can upload a snapshot of a legal document you need help with and let Lawyer Up automatically find lawyers with matching skills. You can also review lawyers you know or create your own profile.

Second Harvest login page screenshot

This app helps was built to digitize a charity's raffles. Ticket sellers upload a list of potential donor emails to send out a template notification. Sellers are supervised by team leaders. Donor data can can be reused for future campaigns.

  • design process based on user stories and customer business logic
  • user experience design
  • developing pages from wireframes
  • MVC app architecture
  • PHP
  • MySQL
ZMACK.net screenshot

This simple static site advertises an improv group. It was displays clearly on small screens and does not use CDNs outside China. (Maintenance ended in October 2016.)

  • design and layout
  • mobile responsiveness
  • Bootstrap
  • deployment and Plesk
  • working with a customer
Catch of the day screenshot

This online store includes a customer menu and an order panel, plus an inventory management interface for the store owner.

  • React components, props, state and routing
  • animations in React
  • OAuth and Firebase
Weather forecast screenshot

This little app checks where you are and shows the current weather. Perfect for windowless offices.

  • AJAX
  • API calls
  • JSON
To do list screenshot

This to-do list persists data locally.

  • local storage
  • event delegation
TicTacToe game screenshot

This Tic-Tac-Toe will make you feel smart. Moves by the computer are completely random, so you have a good chance of winning.

  • DOM manipulation
  • event handling
  • CSS Grid
Pomodoro clock screenshot

The Pomodoro Clock reminds you to take a break from work every 25 minutes. You can adjust the length of both the work and rest intervals.

  • JavaScript
  • interface design
Simon toy screenshot

This classic game requires you to remember and repeat a sequence of sounds.

  • JavaScript
  • CSS
Clock screenshot

Check the current time. You can adjust the size and colour of the display.

  • transitions and transforms
  • SVGs
  • CSS variables
  • styling inputs
Calculator screenshot

Calculator are like staplers: never around when you need one. Need a calculator? Here you go.

  • JavaScript
Piano keyboard screenshot

Play the scale on a piano from your computer keyboard. This is a JavaScript30.com project.

  • ES6
  • audio playback
  • event listeners


JavaScript logo

I am comfortable writing JavaScript for a variety of uses and libraries, including DOM modifications, data manipulation, app logic. I've used AJAX & JSON, worked with events, elemets of ES6 and much more.

JQuery logo

I have used JQuery on a few projects and appreciate the convenience it offers.

JavaScript logo

I have worked on projects with a considerable amount of CSS. I have used Stylus and SASS. I like using variables and BEM.

Bootstrap logo

I have used and adapted Bootstrap on a number of projects.

NodeJS logo

NodeJS is my favourite platform to build on.

Webpack logo

I have switched to using Webpack but still have a soft spot for Gulp.

Database logo

I have worked with Mongo, MySQL and PostgreSQL.

Git logo

I use Git and for my own projects and codebases I work on with teams.

AWS logo

I have deployed to Amazon Web Services, Digital Ocean, Heroku, Now. I am familiar with Plesk, DNS and can find my way around a Linux box.

My story