Hey there!

I'm Nick, A frontend engineer at Canva.

I enjoy programming a lot. I love complex problems and challenges, and things that give me something new and interesting to work on.

Monorepo for all homekit related development, including integrated firmware, PCBs, and bridges
C++, Golang
Flask LDAP3 Login
LDAP3 Logins for Flask/Flask-Login
Python, Travis CI
100 Warm Tunas
Yearly Prediction of Triple J's Hottest 100 using OCR. (Run in 2015, 2016)
Python, SQLite
Genius Bar Mailer
A cron script to run that will inform of new genius bar availabilities.
Strava Fixer
A quick script to fix a GPX file if the GPS crashes mid ride
Ping a device on the network and record it's status in Elasticsearch
Flatten Music
Read a m3u playlist file and move all songs to a single directory and update the playlist file
A Column type for SQLAlchemy that converts to/from timezone aware datetimes
UI For the Docker V2 API
A basic Flask based HTTP file browser/downloader/zipper
1337 sik hax python wrappers for exploitation of binaries running locally and remotely
Original (and old) version of Sprinkle using a dedicated app.
Additional widgets for WTForms. Hoping one day this package will contain comprehensive widgets for all common web UI frameworks
Email subscription service for Richard Buckland (UNSW) sightings
A DIY Photobooth for use with a gphoto compatible camera!
Sync your iTunes playlists with any phone.
Use Phantom Open Emoji in your Flask Apps!
An easy to configure siriproxy graphical user interface, which attracted over 40 000 visitors to my blog per month over the summer of 2011.
Use Raw SQLAlchemy models with Flask-Sqlalchemy
Allow Project Issues to be filtered by passing kwargs
Automatically Get Arguments for Endpoints & Compatibility with Flask-Classy
Remove bad Python Syntax
Add Bash Completion Support
Provide additional documentation for SQLALCHEMY_POOL_RECYCLE
Implement a more specific exception class for handling some validation errors
Add tern_inhibit_word_completions config option
Configure Web Challenges for use in Vagrant
Schema deserialisation with defined session and nested field throws an exception
dump_only whitelist/inverse / load_only whilst including when dumping
startupHealthcheck doesn't respect SetHttpClient()
Exhaustive server pool is too exhaustive
DataMatrix not identified next to edges when using scanRect
Add 'tap to focus' functionality
Calling setLayer on a newly created text layer leaves text being undefined

Contact Me?

Feel free to email me, or tweet me.