William Whitty, Developer in Bangkok, Thailand
William is available for hire
Hire William

William Whitty

Verified Expert  in Engineering

Software Developer

Location
Bangkok, Thailand
Toptal Member Since
October 19, 2020

Will is a communicative software architect and full-stack engineer from Scotland. He has worked with multiple large enterprises in software development and enjoys new challenges, describing each codebase as a universe to explore. He's passionate about projects that help the world, enabling users to connect and do something they otherwise could not. Will has a love of game development and is equally at home delivering innovative apps using machine learning to achieve and maintain top results.

Portfolio

Status
Nim, Blockchain, Ethereum, Microservices, APIs
Digital Spring Marketing and Advertising Inc.
Node.js, JavaScript, PostgreSQL, Amazon Web Services (AWS), APIs
Eko App
GitHub, CircleCI, React Redux, Next.js, Redux, Amazon Web Services (AWS), Linux...

Experience

Availability

Full-time

Preferred Environment

Linux, React, Python, Node.js, Docker, Terminal, Emacs, Nim, Godot, API Integration

The most amazing...

...thing I've done was save an ailing project of high complexity: I brought order to the project in three months and delivered the full specifications on time.

Work Experience

Senior Software Engineer

2022 - 2022
Status
  • Implemented tests and migrations for moving the Nimbus client to the proof-of-stake (POS) protocol.
  • Pushed for clarity and maintainability in the codebase as well as implementing improvements.
  • Wrote the test coverage and fixed issues with the Web 3.0 protocol.
Technologies: Nim, Blockchain, Ethereum, Microservices, APIs

Back-end Developer

2021 - 2021
Digital Spring Marketing and Advertising Inc.
  • Implemented a cross-country payments system connected to multiple payment providers based on dynamic criteria.
  • Aided in implementing and improving the test structure.
  • Helped the team prepare for the launch into new territory.
Technologies: Node.js, JavaScript, PostgreSQL, Amazon Web Services (AWS), APIs

Director of Engineering

2019 - 2020
Eko App
  • Developed a microservice architecture with a connected app that managed client and customer meetings in a large co-working space in Bangkok. The application joined multiple interconnected IoT systems and was built to ensure effortless deployments.
  • Architected, implemented, and oversaw the development of the application and its full back end while meeting with the primary investors, clients, and potential clients to define their needs and the future company strategy.
  • Hired and managed the development of employees while making lean resource decisions and delivering financial planning for the company. Worked well within budget and performed above and beyond to meet client deadlines.
  • Met with technology companies to understand their availability for inclusion in the complete or partial system package. Included in the final system were a modular set of facial recognition gates, smart door locks, and an array of display tablets.
Technologies: GitHub, CircleCI, React Redux, Next.js, Redux, Amazon Web Services (AWS), Linux, Git, JavaScript, Ramda, Continuous Delivery (CD), Docker Compose, CSS, Company Strategy, OAuth 2, RethinkDB, Autoscaling, Docker, Node.js, Microservices, Moleculer, React, Architecture, Express.js, Internet of Things (IoT), Bluetooth LE, Tracking, Big Data, TypeScript, API Integration, APIs

Senior Developer

2018 - 2019
Eko App
  • Rebuilt the web applications' VOIP front end to support a swappable service architecture with 100% test coverage. The company had experienced problems with a vendor and this task enabled performing A-B testing and transfer with no downtime.
  • Oversaw three separate struggling teams who were well behind their deadlines. Prioritized the issues, broke down the tasks into manageable chunks, and made the deadline three months later.
  • Created a system to automate the in-house massage system. Written in Python, the system used a balanced lottery approach and calendar checking to attempt to be as fair as possible for all participants.
  • Gave daily advice and oversight on different areas of projects in need of support. Advised many management teams on how to improve their velocity and avoid difficulties in upcoming projects.
  • Initiated and pushed for the use of ESLint throughout the company. Collaborated with the leads of each team to pin their pain points and devised and deployed a relevant configuration. The changes will proposed then became company standard.
  • Mentored junior programmers, helping them to onboard as fast as possible, and gave presentations and learning sessions to up-skill teams.
  • Managed and hosted a game jam workshop for members of the local community. Collaborated with three other members of the company to give an event for 60 people.
Technologies: GitHub, React Redux, Next.js, Redux, Linux, Git, JavaScript, Ramda, Cassandra, HTML5, JSON Web Tokens (JWT), OAuth 2, Styled-components, ESP8266, NodeMCU, WebRTC, Node.js, React, Architecture, Express.js, Google API, MongoDB, API Integration, D3.js, APIs

Lead Full-stack Developer

2017 - 2018
WASD Studios
  • Built a real-time game asset marketplace from the ground up. Promoted to the team leader role after a few months. Increased performance and the optimization of team goals.
  • Managed both back-end and front-end architecture, during which time I helped the company recover from technical debt acquired earlier in the development cycle.
  • Used WebSockets to manage high concurrency user base and interactive systems with live-update pagination and a focus on UI dynamism.
  • Wrote a highly configurable page builder system, allowing the local marketing team to specify more easily their requirements by changing a simple configuration.
  • Collaborated with the CEO daily to understand business needs and prioritize sprints. Communicated and oversaw the implementation of these priorities in our scrum meetings and during active development.
  • Mentored two junior programmers and one intermediate. Those programmers quickly flourished and are themselves now lead developers in Russia and other territories.
  • Wrote the projects CI workflow using CircleCI, and automated the CD to the Hetzner server cluster.
Technologies: CircleCI, React Redux, Redux, Amazon Web Services (AWS), Linux, Git, JavaScript, Ramda, Continuous Delivery (CD), Company Strategy, Docker Compose, HTML5, CSS, WebSockets, Docker, RethinkDB, Node.js, React, Architecture, Express.js, Tracking, API Integration, APIs

Software Engineer

2014 - 2017
Perfekt
  • Rebuilt a production iPad application used by hundreds of drivers in Australia. Refactored and rebuilt the back end of this system, which took over four months and helped the drivers manage their daily lives with greater flexibility.
  • Developed eight different projects of varying complexity, helping to manage and complete projects on time and build MVPs for clients as part of client outreach.
  • Found many security issues as part of an in-house pen-testing project to secure the company's applications. Acted as team lead and instigator.
  • Created dynamic website splash pages using Three.js and React.
  • Assisted my team members in launching https://finedefender.com.au, an innovative automatic fine dispute system for Australian drivers.
Technologies: Linux, Git, JavaScript, Cassandra, PostgreSQL, HTML5, CSS, Node.js, Python, MongoDB, Three.js, 3D Modeling, 3D Graphics, D3.js

Sophia IoT and Building Integration

http://ekoapp.com
An innovative IoT application for True Digital Park in Thailand, a new venture offering co-working spaces and office rental to large companies. The application was built to streamline new and existing member's office meetings, with the ability to integrate other IoT devices such as air conditioning systems and facial recognition access gates, to name a few.

The architecture restrictions support live access for scaling numbers of people. Locally, events might require a sudden influx of up to 3-5,000 participants. The application was to be re-sold as a bundle of off the shelf components, and so modularity must enable reach to different markets without including bloat or unpaid systems.

I designed and implemented the full architecture stack and built approximately 85 percent of the application. The architecture was a modular micro-service structure, built on top of MolecularJS. At any time, a new configuration could be generated for a client, and only three of the total 25 services constructed were required.

In this way, the company was able to sell a slim operating platform to clients without extra bloat or features which the client did not require.

Game Jam Workshop

https://www.truedigitalpark.com/events_details/26_TDPK-x-eko:-Game-Jam-Workshop
I've always been passionate about game development and felt the need to give back. I reached out to my building owners (a large co-working and office space) and offered to teach a session for a range of skill levels.

After meeting with the owners and discussing the project scope and requirements, I quickly gathered a team from my company and worked with them to outline the tasks, workshops, and presentations for the workshop.

On the day of, the event had a good turnout (around 60 people), with ages ranging widely. I gave presentations with two others in separate rooms, and visitors worked on implementing changes as presented to the small game I had prepared for the workshop.

Participants loved the event, prizes were given out for those who could achieve small tasks, and I was proud to see that it inspired excitement in some of the university students who attended. (In one case, a student figured out how to gather all the stars on the map by changing some of the code in the player file).

Game Development Projects

https://tavurth.itch.io/
I wrote two custom engines, first in Lisp and then in C++: github.com/tavurth/gamesavvylisp

I utilized Three.js for interactive websites as well as browser-based 3D games. I also created an implementation of the CLOD terrain: github.com/tavurth/terrain-example

(link.springer.com/chapter/10.1007/978-3-540-28643-1_78)

I contributed to the core engine C++ source code of the Godot engine: github.com/godotengine/godot/pulls?q=author:tavurth+is:pr

I joined multiple game-jam competitions to release small prototype projects.
(https://tavurth.itch.io/)

I have longer-term personal game development projects, including:

• Dynamically loading procedural worlds

• Procedural generation of plants and trees

• Shader-based AI (texture-based data input)

• Shader-based terrain deformation

Machine Learning Research

After some time in Bangkok, I wanted to push my abilities in machine learning. I've always been a fan of manipulating market data for learning purposes, as there's a large potential with a high difficulty curve.

Beginning by writing several basic machine learning models, I was led towards an evolutionary process to grow machine learning models, battle them against each other, propagate the winner, and repeat.

After a month or two of tweaking, I had achieved an effective progressive machine learning generator, spitting out a new and improved AI schema at the rate of one per 10-15 minutes running on a Raspberry Pi.

After a few months of running, these systems identified some interesting nuances in certain markets. I constructed an automated trading system around these ideas using the Godot game engine as the front end, and C++ machine learning modules as the back end.

The system performs admirably well and I now happily spend some of my free time refining and reconfiguring these models.

Languages

Python, CSS, JavaScript, HTML5, C++, Lisp, GLSL, TypeScript, C, Nim

Frameworks

OAuth 2, Redux, Next.js, Express.js, Jest, JSON Web Tokens (JWT), Koa, Django

Libraries/APIs

Node.js, React, Ramda, React Redux, Pandas, NumPy, Google API, WebRTC, TensorFlow, Three.js, D3.js, WebGL

Tools

Git, GitHub, Webpack, Docker Compose, CircleCI

Paradigms

Microservices, Functional Programming, Continuous Delivery (CD)

Platforms

Godot, Linux, Docker, Amazon Web Services (AWS), Raspberry Pi, Bluetooth LE, Blockchain, Ethereum

Storage

RethinkDB, MongoDB, PostgreSQL, Cassandra

Other

WebSockets, Styled-components, Machine Learning, Architecture, Internet of Things (IoT), Big Data, API Integration, APIs, 3D, Algorithms, Moleculer, Autoscaling, Game Development, Shaders, NodeMCU, ESP8266, Company Strategy, Evolutionary Algorithms, Multiplayer, Tracking, 3D Modeling, 3D Graphics