John Hamelink

John Hamelink

Mentor
4.9
(101 reviews)
US$39.00
For every 15 mins
134
Sessions/Jobs
free badge
First 15 mins free for your first session
ABOUT ME
Great communicator: Elixir, Ruby, Rails, Docker, Kubernetes with 15+ years experience
Great communicator: Elixir, Ruby, Rails, Docker, Kubernetes with 15+ years experience

In the past I completed over 130 sessions on Codementor.io!

I'm a consultant developer who's been coding for almost 20 years now: 15 of those years professionally. I mainly work in Rust, Rails, Elixir and Typescript these days, but I've built things in languages like Go, PHP, Python, and Perl. I also write a lot of Emacs lisp for fun, since I use Emacs as my editor. I've had the opportunity to have large multi-nationals on my personal client list such as Mozilla, IBM, 888.com, Tennents Larger (C&C Group plc) and multiple large financial businesses. I've also done consulting for Sequoia Capital, The European Commission, and

Outside of Freelancing, I'm currently working as a contractor for a startup based in England. In the past I've operated as an employee for agencies and product companies, as well as co-founding small-stage startups with others, some of which were successful enough that I was able to sell equity.

English
Edinburgh (+00:00)
Joined April 2014
EXPERTISE
1 year experience
If you are looking for a way to improve the safety & performance of your React Native application, a Rust Turbo module - and my experienc...
If you are looking for a way to improve the safety & performance of your React Native application, a Rust Turbo module - and my experience in building them - could be just what you are looking for! I've built a Rust based linear algebra calculation library which was packaged up for use as a React Native Turbo-module. While the previous React Native application could achieve 14-16 calculations/second, mine was benchmarked at 1.4-1.6million calculations/second. A big difference! I've also built a cross-platform CLI tool for recording Sensor data from multiple BLE devices with a focus on performance and accuracy. My code was used as part of a lab study at a university, where the underlying linear algebra calculation described above was tested against a reference standard. It compared very well!
10 years experience | 19 endorsements
I use Rails every day to build complex apps for my clients. I have experience building completely Test Driven apps (using TDD principals)...
I use Rails every day to build complex apps for my clients. I have experience building completely Test Driven apps (using TDD principals). I use continuous integration to enforce testing within my own company.
10 years experience | 27 endorsements
I use Rails every day to build complex apps for my clients. I have experience building completely Test Driven apps (using TDD principals)...
I use Rails every day to build complex apps for my clients. I have experience building completely Test Driven apps (using TDD principals). I use continuous integration to enforce testing within my own company.
PryRSpecGrape
View more
9 years experience
I've built 5 APIs that are in production and have been maintained through multiple major revisions. I can help you understand how to buil...
I've built 5 APIs that are in production and have been maintained through multiple major revisions. I can help you understand how to build maintainable, scalable APIs in ruby using Grape, as well as share some snippets I use to help DRY up my code when building APIs.
GrapeHashRuby
View more
6 years experience
I've built three production-grade clusters for three different projects: using helm to produce multiple environments and linking into CI/...
I've built three production-grade clusters for three different projects: using helm to produce multiple environments and linking into CI/CD pipelines, as well as using ServiceBroker to handle databases and other resources outside of k8s.
7 years experience
I've built 3 production-grade APIs and one (simple, small budget) social media platform since February 2016. Some open source Elixir lib...
I've built 3 production-grade APIs and one (simple, small budget) social media platform since February 2016. Some open source Elixir libraries I've written so far: https://github.com/johnhamelink/xslt https://github.com/johnhamelink/sms_blitz https://github.com/johnhamelink/mws https://github.com/johnhamelink/exrm_deb
7 years experience
I actively work on an API which handles 60,000 active users a day and makes heavy use of Ejabberd for chat. I've built a multi-lingual C...
I actively work on an API which handles 60,000 active users a day and makes heavy use of Ejabberd for chat. I've built a multi-lingual CMS for a mobile app which is in the top-10 list on Apple's App Store. i've built a simple social network using Neo4J as a graph database. I built a photo moderation system which was used within a video transcoding pipeline to produce tens of thousands of custom videos for an app which promoted a popular music festival in Scotland (T in the Park).

REVIEWS FROM CLIENTS

4.9
(101 reviews)
Derek
Derek
May 2018
Very knowledgeable!
Joseph M. Sak
Joseph M. Sak
April 2018
Very friendly, knowledgeable, helped me greatly by being a second pair of eyes on the problem!
Amechi Egbe
Amechi Egbe
March 2018
John was absolutely swift and amazing in helping me solve my issue! I will definitely be using John again for future work!
Eddie Sitt
Eddie Sitt
June 2017
Amazing mentor, really helped a lot!! would definitely recommend
Jack Zerby
Jack Zerby
October 2016
He's the best on Codementor by FAR!
Hans K
Hans K
October 2016
John was very helpful in establishing the way to properly test/debug a not-straightforward deployment of a feature
Vadim Sokoltsov
Vadim Sokoltsov
October 2016
He doesn't have a huge experience in field area, that needed me, but I received some useful advises and next time when something goes wrong with my project I'll call him.
Samuel Smith
Samuel Smith
October 2016
Very quickly understood my problem despite my poor attempt to explain it. Great service.
Matt
Matt
September 2016
Brilliant as usual. Very knowledgeable. Always great to work with.
Jack Zerby
Jack Zerby
September 2016
John was able to jump in and help me solve my problem right away, quickly and efficiently. HIGHLY recommend!
SOCIAL PRESENCE
GitHub
exrm_deb
Create a deb for your elixir release with ease
Elixir
76
13
env-zsh
Automatically load environment variables from a .env file in your current working directory, triggered when you change directory.
Shell
54
13
Stack Overflow
1086 Reputation
2
15
33
EMPLOYMENTS
Sr Lead Engineer
Theo Health Limited
2025-05-01-2026-01-01

Theo is a pre-revenue sports-tech company, building wearable tech devices aimed at pro-athletes who are training through recovery.

...

Theo is a pre-revenue sports-tech company, building wearable tech devices aimed at pro-athletes who are training through recovery.

As Lead engineer at Theo, my responsibilities included re-implementation of the backend infrastructure, development and implementation of the core algorithm, working closely with a Mathematician and Biomechanist to deliver a high performance, concurrent and test-driven library in Rust, packaged into a C++ Turbomodule for use with React Native for iOS devices.

I wrote a multi-platform rust command-line application which collects stream data concurrently against multiple connected BLE devices and record their sensor data for analysis during a motion-capture study with Strathclyde University. I also maintained and improved the firmware of the core ESP-32 device, including implementing a high-performance encryption algorithm for the bluetooth stream. Managing a team of 2 engineers, as well as a Mathematician and Biomechanist, my role included day-to-day steering and coordinating of the team, including task allocation and general office management duties.

I reimplemented our entire backend infrastructure from scratch, moving from GCP to budget host Hetzner, reducing server costs by over 80% in the process. I built a fully automated CI/CD pipeline using self-hosted github actions, which allowed us to deploy our backend and react native codebases. I moved multiple external services to self-hosted variants, further reducing the business' subscription costs, and managed all of this complexity using Nix and NixOS in order to declaratively define our configurations in a way that can be reused across our stack and from within local dev environments. The result was a fully integrated solution for our business, which was also significantly cheaper to maintain, and built for scale.

C
PostgreSQL
Docker
View more
C
PostgreSQL
Docker
Server Administration
Google Cloud Platform
Nix
Elixir
Rust
React Native
Linear Algebra
ESP32
Bluetooth Protocols
Software architecture
View more