Jonathan Alfred Weekes, Developer in Saint Leonards, United Kingdom
Jonathan is available for hire
Hire Jonathan

Jonathan Alfred Weekes

Verified Expert  in Engineering

Software Developer

Saint Leonards, United Kingdom

Toptal member since March 11, 2019

Bio

Jonathan has nine years of experience performing development roles. He has an intuitive and grounded understanding of scalable front-end and back-end web development, macOS and Linux software development and architecture, and iOS and Android app development—both in a professional and personal context.

Portfolio

Analog Republic
OpenGL, Docker, Gulp, SCSS, JavaScript, Go, C, PHP, Java, Objective-C, Swift...
Flowlens
YAML, Ruby on Rails (RoR), User Experience (UX), User Interface (UI)...
Playne Design
Python, Ruby on Rails (RoR), PHP, User Experience (UX), User Interface (UI)...

Experience

  • JavaScript - 9 years
  • C++ - 6 years
  • PostgreSQL - 4 years
  • Swift - 4 years
  • WebGL - 3 years
  • Go - 3 years
  • Ruby on Rails (RoR) - 3 years
  • React - 2 years

Availability

Part-time

Preferred Environment

Git, Xcode, Sublime Text, MacOS, Linux

The most amazing...

...project I've built has to be Artisan, a multi-platform game engine written in C++ with embedded and extended Lua for minimalist scripting.

Work Experience

Remote Software Engineer

2016 - 2018
Analog Republic
  • Worked on a web app using a bespoke PHP MVC and Docker to secure a back-end API and a front end with a user system using 2FA login, internal messaging system, and many forms.
  • Worked on OpenGL macOS desktop app implementation of their IP remote team management and communications software, implementing an undocumented beta version C AV streaming SDK into AVFoundation I/O.
  • Built native iOS and Android scanning apps to scan a ticket and check its code against an API—which I also built—that was used to scan thousands of tickets at a festival. I made apps for both platforms in one day.
  • Developed a "scarf builder" UI module for RedBull that allowed to add, remove, drag and drop, resize and rotate "stickers" onto a scarf as well as pick a backdrop. This would then be rendered into a canvas and be saveable as a PNG.
  • Composed a radio popup for Pearl Jam that tapped into their already running Icecast and streamed it through an HTML5 audio tag.
Technologies: OpenGL, Docker, Gulp, SCSS, JavaScript, Go, C, PHP, Java, Objective-C, Swift, Android, iOS, PostgreSQL, User Experience (UX), User Interface (UI), Xcode, CSS3, MySQL, HTML5, PHP 7, PHP MVC, Git, Cross-platform, Node.js, WebGL, Android Studio, Amazon S3 (AWS S3), Windows, Ajax, Content Management Systems (CMS), AVFoundation, MVC Frameworks, Object-oriented Programming (OOP), Concurrent Programming, MacOS, MySQLi, Sublime Text, CSS, HTML, Multithreading, Software Architecture, Animation, APIs, iOS Camera, GLSL

Software Engineer

2015 - 2016
Flowlens
  • Maintained and deployed new instances of their web app for management in the manufacturing industry. A lot of work on new instances was done to build reports output—I took the initiative and created a system to do this automatically.
  • Worked from beginning to end, ensuring the app's new instances worked to each client's unique specifications through interpreting and developing those specifications into Rails back- and front-end architecture.
  • Picked up a proficiency for Ruby, and while I do prefer Go, I currently have a soft spot for it.
Technologies: YAML, Ruby on Rails (RoR), User Experience (UX), User Interface (UI), JavaScript, CSS3, jQuery, MySQL, HTML5, Ruby, Git, Ajax, Object-oriented Programming (OOP), Concurrent Programming, SCSS, Sublime Text, CSS, HTML, Software Architecture, Animation, APIs, React

Software Engineer and Full-stack Developer

2013 - 2015
Playne Design
  • Worked in-house at Playne Design, from simple dynamic business websites with a CMS to a fully-fledged social media platform for a London Council.
  • Picked up a lot of my PHP experience here, as many projects were making WordPress become far more than just a blogging tool.
  • Used Python and Ruby on Rails to build an in-house server infrastructure to speed up internal processes like testing HTML emails. I also used Git hooks to automate deployment on a local staging server to smooth out their web development workflow.
  • Worked side by side with a designer to ensure every element of the finished product was up to standard. I still employ this methodology in my larger freelance contracts to this day.
Technologies: Python, Ruby on Rails (RoR), PHP, User Experience (UX), User Interface (UI), JavaScript, Linux, CSS3, jQuery, WordPress, MySQL, HTML5, PHP 7, Ruby, Git, Ajax, Content Management Systems (CMS), Object-oriented Programming (OOP), Concurrent Programming, MySQLi, SCSS, Sublime Text, CSS, HTML, Multithreading, Software Architecture, Animation, APIs

Jet2 Installation iOS App

This project was a fun one. It involved building an app to work as an interface for an installation that toured around many major cities in the UK, picking up hundreds of videos and registrations to the Party Plane competition as it went (all over cellular internet, too!).

There was no room for error, and this app needed to be highly robust to take on the sheer number of users it'd be encountering in every city, on top of the necessary use of mobile data to send/receive all data. With this in mind, I made sure to buffer API requests (either get sent and removed from the buffer or left in the buffer if the request fails) and keep everything securely backed up.

The app also featured a way to change the camera settings using a settings pane. This allowed the exposure bias, manual exposure, and RGB tint to be tweaked on-site to ensure a perfect image output and avoid unusable content.

Additionally, I was called in to do some web work to facilitate registering the (uploaded on the fly) YouTube videos with Jet2's servers, saving the team a lot of hassle at a mission-critical time.

Sauce

My involvement in this project consisted of building a full-page front-end presentation utilizing a bespoke smooth scroll-based JavaScript animation engine, Gulp/SCSS/UglifyJS for production-level compression and compatibility, and Go-based HTTPS web server and Ajax endpoints for a contact form and mailing list registration using the SendGrid API. I also worked as a project manager, art director, copywriter and took complete creative control over every animation.

The best part of this project has been thinking up and building the animations, specifically the HTML5 canvas-based waving a flag and the tip jar that uses a physics engine to realistically animate coins.

This, combined with Matt's brilliantly tailored design, makes this a fantastic addition to my portfolio that I'm very proud of.

Artisan

Artisan is a GPU-powered 2D game engine built in C++ with embedded and extended Lua for minimalist scripting.

The focus of Artisan is to provide a powerful and efficient but intuitive and simple development environment for prototyping, building, and deploying native interactive experiences.

Artisan currently features:
• Lua extension headers to provide a more modern, minimal, and linguistic language with array and hash types, classes, and more
• Full pretty print logging of every object type in Lua
• Vector drawing API
• Powerful texture manipulation for transformation and a GLSL rendering pipeline to apply GPU shaders (with a feedback mode that can be used to make GPU cellular automata)
• Box2D physics
• Audio and music

Tz-Brute

https://github.com/NODESPLIT/tz-brute
Tz-Brute is a multicore password brute-forcing tool I built in Python to help contributors to the Tezos ICO that lost their passwords. The best part of this project has to have been making it threaded.

Libraries/APIs

React, jQuery, SDL, OpenGL, OpenGL ES, WebGL, Node.js

Tools

Xcode, Sublime Text, Gulp, Makefile, Git, Android Studio

Languages

CSS, HTML, JavaScript, Python, Lua, PHP 7, Go, Ruby, C++, Swift, SCSS, HTML5, CSS3, Java, PHP, YAML, Objective-C, C, GLSL

Frameworks

Ruby on Rails (RoR), PHP MVC, Box2D

Paradigms

Object-oriented Programming (OOP), Concurrent Programming, Cross-platform

Platforms

iOS, WordPress, MacOS, Linux, Arduino, Raspberry Pi, Android, Docker, Windows

Storage

MySQL, MySQLi, PostgreSQL, Amazon S3 (AWS S3), MongoDB

Other

AVFoundation, User Experience (UX), Ajax, User Interface (UI), MVC Frameworks, Content Management Systems (CMS), Multithreading, Software Architecture, Animation, Web Project Management, Art Direction, Copywriting, Game Physics, APIs, iOS Camera

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring