I am Liam Davis
& 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.

Education

Bachelors degree in Software Engineering, University Of Canberra

Graduated 2013

Specialised in web development and security

Languages

  • Javascript (including JQuery, React.js and ES6) Extremely proficient
  • HTML/CSS (including LESS)Extremely Proficient
  • PHP Proficient
  • Python (especially around the Django framework) Proficient
  • C# Proficient
  • Java Proficient
  • C Some Experience

I also have some limited experience in Objective-C

Other experience

  • Git
  • Various Adobe tools
  • Interface design and development
  • Server deployment
Portfolio
This is a portfolio of various pieces of work I have done, both payed and side projects

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
Visit odincasemanagement.com.au

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
View on github

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
View on Github

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
View on Github

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

View on DeviantArt

View on Github

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

View on DeviantArt

View on Github

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

View on DeviantArt

View on Github