Recent Projects

Polysig
2022 - 2025Rust

Research and development of an end-to-end encrypted protocol for threshold signature applications designed for multi-factor authentication. Uses the Noise protocol for E2EE and supports the CGGMP21 and FROST threshold signature protocols which allows the generated signatures to be compatible with most modern blockchains. The library contains an extensive test suite and bindings for Nodejs and the browser using Webassembly.

Save Our Secrets
2022 - 2025Rust, Flutter

Designed an SDK and Flutter GUI for a cross-platform, local-first, distributed and encrypted database. The app is in general release and can be installed on all major platforms; a self-hosted server allows multiple devices to be paired and synced. The sync protocol uses append-only event logs and merkle trees for a fast and responsive sync experience and auto-merges on conflict using a last-write wins strategy which allows the entire app functionality to be available offline and the database to be eventually consistent.

History

Since creating my first web page in the 90s I have been studying programming and working in the digital industry.

Over the course of my career I have created many simple and complex web applications, desktop applications, e-commerce websites, implemented over the wire protocols and designed binary file formats.

I believe in using the right tool for the job and carefully evaluate the most appropriate technology stack for each project.

I am equally happy leading teams of 12+ engineers on multi-million dollar projects, guiding junior engineers in small agile teams or as an individual contributor.

Tech

Environment
Linux, Tmux, Vim
Devops
Docker, Packer, AWS
Languages
Rust, Go, Java, Kotlin, Javascript, Ruby, Python, Shell
Style
CSS3, PostCSS, Stylus, Sass, Less
Markup & XML
HTML5, XHTML, XML, XSLT, XPath, E4X
Development
Nodejs, Babel, Webpack, Browserify, Gulp, Grunt
Databases
Postgres, Redis, CouchDB, SQL, MySQL
Mobile
Android, React Native
Documentation
Markdown, Commonmark, LaTeX, Pandoc
Source Code Management
Git, Subversion, CVS
Continuous Integration
Travis, Coveralls, Jenkins
Architecture
OOP, AOP, MVC, IoC & Design Patterns
Frameworks
React, Vuejs, Alpinejs, D3
Messaging
REST, SOAP, XML-RPC, Open Sound Control (OSC)

For brevity many skills learnt along my journey have been omitted, I am keen to play with Elixir, Nim and Crystal.

Clients & Agencies

During my career I have worked with some very well known brands and digital agencies.