& I make things
About Liam
I am a web developer specialising in fully cross platform interface development and high performance javascript.
I have experience working at all levels of the web stack, primarily using python for server side systems, and javascript for dynamic interfaces across a wide variety of different platforms.
Experience
Employment
Software Engineer, DeviantArt
August 2014 - June 2016
Technologies: Javascript (ES6, jQuery, React.js), PHP
As a software engineer at DeviantArt I worked as a fullstack engineer primarily focused on web development, specialising in javascript heavy front end using React and ES6.
While at DeviantArt I was part of a team that overhauled the front end development technology, building out a robust set of front end development libraries and components, along with building out a complex react.js interface that could seemlessly intergrate with the existing server generated pages that receive tens of millions of views a day across a wide variety of platforms..
I was also part of the team that developed a complex A/B testing framework, my role was developing the admin tools for test monitoring and creation, with complex interactive HTML and CSS graphs, and dynamic forms for test creation.
At other times I was also part of the team that worked through-out the entire stack to quickly fix bugs, where I was responsible for creating clean, timely fixes to bugs reported by the community, and developing smaller new site features independently, working on the entire stack from low level PHP through to developing responsive user interfaces in HTML, CSS and Javascript.
Lead Developer, ODIN Case Management
July 2013 - July 2014
Technologies: Python (Django), Javascript (jQuery)
As the lead developer for ODIN Case Management I designed the system architecture and developed many of the underlying systems, user interfaces and designed and developed full web presence.
I was also at various times in charge of over-seeing other developers in creation of parts of the system, including task assignment, work oversight and general administration tasks.
Various Positions, McDonalds Australia
2007 - 2013
At McDonalds I worked in all parts of the store, but my primary position was as a leading member of the Cafe team, serving customers, training new crew members, establishing standards and culture in a new store, and many of the day to day tasks involved in running the cafe.
Bachelors degree in Software Engineering, University Of Canberra
Graduated 2013
Specialised in web development and security
I also have some limited experience in Objective-C
Education
Languages
Other experience
ODIN Case Management
Position: Lead Developer
About ODIN Case Management
Designed as a mobile focused web app for both tablets and phones across all modern platforms, ODIN Case Management is a tool for deployment and management of mobile work forces and for those work forces to collect better information using the capabilities of the device to remove duplication of effort and improve decision making.
Originally targeting police forces, ODIN can easily be modified to work with a number of different industries that rely on efficient remote deployment of staff and collection of information.
Built in HTML5, CSS3 and javascript, the interface was highly responsive and functioned correctly on any mobile device, and using CSS gradients, lightweight SVG images and icon fonts was extremely fast to load, even on slower internet connections and when using cache manifest was able to continue functioning correctly even when the connection dropped out completely, syncing any changes back to the server when the connection was re-established.
Technologies
- Python
- Django
- Djinja
- Pillow
- WeasyPrint
- Javascript
- JQuery
- Node.js
- Socket.io
- HTML5
- CSS3
- Gunicorn
- NGINX
- PostgreSQL
ODIN Case Management Web Presence
Position: Lead developer
About ODIN web presence
The website for ODIN Case Management, this site had to be fully functional on tablets and mobile phones, present an overview of the OCM system, and provide information about the company in a way that still had the same interface feel as the OCM system. This was achieved using the tiles and gradients used in the OCM system, combined with large images of the system and animated semi-transparent text overlays.
The entire site was built from the ground up to be responsive, using CSS Media queries to display the content in the most appropriate format for various form-factors, including a text only version for phones.
Technologies
- Python
- Django
- Javascript
- HTML5
- CSS3
- Gunicorn
- NGINX
Quest Companions
Position: Lead UI Developer
About Quest Companions
Built by a small group over the course of a month, Quest companions was a marketplace for MMO mercenaries designed to allow for high level players to connect with lower level characters who were in need of assistance completing quests. Based on a bidding system, the companions would place the lowest bid for what they thought the job was worth.
My task was to develop all sections of the interface, building templates and reusable interface modules for all user-facing systems. All these features where built around a series of reusable components to speed up development of new pages.
Technologies
- javascript
- JQuery
- HTML
- CSS
Lightpost
Side project
About Lightpost
Focused around a custom browser based WYSIWYG Markdown editor, lightpost was an extremely lightweight blogging platform designed for long-form standalone posts.
Created specifically for lightpost, the content editor used HTML5 elements to create a text editor that could take markdown directly and correctly display even relatively complex styling inline while the author wrote. Many of the quirks of content editable were taken care of behind the scenes allowing for a consistent, effective editing experience, even on mobile devices.
Technologies
- Python
- Django
- Python-Markdown
- Javascript
- Jquery
- HTML5
- CSS3
Reader
Side Project
About Reader
Originally developed targeting early Firefox OS devices during the initial development, Reader is an HTML and Javascript EPub reader. Doing all file processing and layout completely in javascript reader is lightweight and very fast, reorganising the content into a side-swiping "pages" layout, using an elastic swipe to simulate page turning and offering two "themes", both light and dark based on the solarized colour scheme for ease of reading.
Technologies
- Javascript
- HTML
- CSS
dAUltra
Side Project
Featured on dA 30th of the 1st, 2012
About dAUltra
Originally written as a replacement for a small collection of other scripts, dAUltra is a comprehensive set of tools to extend and improve DeviantArt for power users, especially around comments and DeviantArt features.
Using a settings system storing data in local storage to persist through cache flushes, and utilizing feature detection to prevent collisions with certain other userscripts, dA ultra provided an extendable interface for improved commenting, and hooked in indirectly to the share functionality, along with dynamically loading a staff list from a community source to create a simpler interface for suggesting features to the correct staff member, amongst other features.
Technologies
- Javascript
superGruse
Side Project
About superGruse
Built to improve profile customisation on DeviantArt, supergruser is a userscript creating a simple system for loading user defined CSS in a safe manner, and a much more efficient module arrangement system using an "customise" mode, where any module on the users page can be directly moved around to rearrange the content, displaying live the modules in their new locations.
Designed to be used by relatively non-technical users, all parts of the superGruse interface had to be easily discoverable and allow for natural interactions so that the system is as easy to use as the default interface, while offering more complex features.
Technologies
- Javascript
LightsOut
Side Project
Featured on dA 10th of the 2nd, 2011
About LightsOut
Creating a simple lightbox for images on DeviantArt, Lightsout is a userscript designed to improve the fullscreen viewing experience. The lightbox correctly handles both very tall and wide images with the scaling set to best fit within the viewing window, and is built to be as easy as possible to use, following normal "lightbox" controls.
Technologies
- Javascript