Jonathan Alfred Weekes
Verified Expert in Engineering
Software Developer
Saint Leonards, United Kingdom
Toptal member since March 11, 2019
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
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
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
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.
Software Engineer
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.
Software Engineer and Full-stack Developer
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.
Experience
Jet2 Installation iOS App
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
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
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-bruteSkills
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring