I have always worked with computers - I hope to continue to work with them and learn more about how I can use them to help, and entertain people. I thrive on building software people enjoy using, and really hope I can get them to say "wow!".
Tech used | Last Used | Years Experience | Rating |
---|---|---|---|
Apache | 2022 | 16 | Advanced |
Git | 2022 | 10 | Competent |
GraphQL | 2022 | 1 | Beginner |
Javascript | 2022 | 16 | Expert |
JQuery | 2022 | 14 | Advanced |
Leaflet | 2022 | 2 | Competent |
Linux | 2022 | 18 | Advanced |
MySQL | 2022 | 16 | Advanced |
Nginx | 2022 | 9 | Advanced |
PHP | 2022 | 16 | Expert |
PostgreSQL | 2016 | 3 | Competent |
REACT.JS | 2020 | 1 | Beginner |
TypeScript | 2022 | 3 | Competent |
Vue.JS | 2022 | 2 | Competent |
Windows | 2022 | 30 | Advanced |
April 2019 - Present Karmabunny Norwood, South Australia
- Karmabunny largely provides brochure sites - I was involved in custom engineering of specialized features:
- Interactive maps using leaflet and vue
- Dynamic Vue widgets interfacing with AJAX and later GraphQL
- Personal profile website, including security features, and client side image manipulation (blurring, and watermarking uploaded images).
- Holiday booking websites interfacing with RMS
- Various other API based interfaces both providing and consuming data
- Design and development of individual features and entire sites built upon Craft and Sprout CMS systems
- Front end development using Vue.js, GraphQL, Leaflet, and TypeScript
- Server deployment, maintenance, security audits and rectification
- Page speed, and SEO optimization based on client requests
Environment: Linux, Linode / AWS, Visual Studio Code, Git, Sprout CMS (In-house, open source), Craft CMS, Vue, React, GraphQL, TypeScript, RMS
March 2017 - March 2019 Vizirail Pty Ltd Adelaide, South Australia
- Development of a dynamic Javascript application to manage rail cars of Australian Rail services
- Development of a dynamic Map to track location of freight trains locations from GPS coordinates
- These applications were built from scratch and eventually combined into a single application
- They were built on top of a node.js framework and were dynamically skinned to serve several clients
- I was responsible for the design and implementation of the front end application and working with the back end developer to create an API to work with
Environment: Windows, Visual Studio, Javascript, Leaflet, Custom Framework, RESTful Interface with .NET application
October 2016 - December 2016 Blackboard North Adelaide, South Australia
- Development of internal systems tools for monitoring, deployment, and client communications
- Refactoring, testing, and maintenance of custom file holder
- Development of core level systems for main product line (Moodle)
- Building customizations for various open source projects for systems work
Environment: OSX, Virtualized Linux Docker Host, PHP, Moodle, Python/web2py, Go, HTML5/CSS3/JavaScript/JQuery
December 2013 - October 2016 Blackboard North Adelaide, South Australia
- Operation and maintenance of systems supporting Moodle instances
- Despite being more of a systems role, my focus has remained focussed on code, providing tools to aid in maintaining systems
- On call monitoring of infrastructure, actioning of events
- Large scale secure backups
- Provisioning new services
- Diagnosing, and fixing system faults
- Automation of highly manual fault reporting procedure
- Ongoing work expanding towards a client facing reporting tool
- Extending to provide monthly reports of system stability and operations actions.
- Creation of high-level display of system faults for large screen display
- Custom interfaces created for Nagios, Foreman, and graphite
- AJAX front end to bring real time information from multiple sources
Environment: Linux, Puppet, Git/Gerrit, Nagios/Graphite/New Relic, Vagrant, Python/web2py, HTML5/CSS3/JavaScript/JQuery
July 2013 - December 2013 Netspot North Adelaide, South Australia
- High level support of Moodle installations
- Action bug reports and user faults escalated from help-desk and account managers
Environment: Linux, PHP, Moodle, Postgres, HTML5/CSS3/JavaScript/JQuery
December 2011 - July 2013 WorldWeb Management Services Adelaide, South Australia Internet Services
- Development of business management software for third parties.
- Develop Software catering to business rules for a variety of clients
- Allow customer service team to design, measure, and layout solar panels based on Google Maps Data
- Export layouts to images and PDFs using HTML5
<canvas>
element - Monitor stock in multiple warehouses, track incoming, and outgoing shipments, and transfers
- Allocate workers based incoming jobs, generate worksheets and rosters
- Calculate commissions based on jobs attended
- Site to site secure communication channel interfacing legacy system with web-interface
- Scheduling application allowing for repeating, and one off appointments, changing frequencies based on season
Environment: Linux, Apache, MySQL, PHP, ContentOne(In-house CMS), HTML5/CSS3/JavaScript/JQuery
2010 - September 2011 Ballistic Media Adelaide, South Australia Internet Services
- CGChallenge is a twice annual international art competition. Community members are tasked to produce still images and videos to represent a specific topic and are judges by leaders of the industry.
- Ballistic Publishing distributes high-quality digital art books from warehouses in Australia and the United States, and is looking to expand its distribution channels.
- Design and Implement media submission system, allowing users to easily present large digital assets to other users and a panel of judges.
- Develop user workflow through CodeIgniter MVC framework.
- Implement HTML based upload progress
- Integrate with Cloud Based Storage (Amazon S3)
- Integrate with Cloud Based Transcoding (Zencoder)
- Develop user-facing video preview using Mencoder & jQuery allowing users to select static preview frames
- Design and Implement black boxed e-commerce system, allowing multiple stores, and warehouses to be managed through a single back-end.
- Develop initial shopping cart
- Design Secure API allowing complete detachment of store software and front-end sites
- Create shipping algorithm finding cheapest, and fastest methods of shipping a user’s selected materials
- Create discounting system allowing discounts to be applied to a cart in a variety of ways (individual products, shipping, groups of products)
- Create series of abstractions, for warehouses, shipping methods, and product types, supporting current inventory and allowing easy implementation for new sales types
- Built a CRUD layer for administration that allows overwriting for more user friendly output
Environment: Linux, Apache 2, MySQL, PHP, CodeIgnighter, HTML5/CSS3/JavaScript/JQuery
2008 - 2010 Ballistic Media Adelaide, South Australia Internet Services
- CGSociety receives much of its funding from advertisers. The existing advertising software that was being used was discovered to be unreliable in its delivery, and there was no formal way of measuring how users moved around the site
- Despite a decline in usage, system load continued to grow as the amount of content increased, a search engine was a good way to offload the heaviest of tasks
- Company email had been internally managed, with a large overhead of time for small results As the world moved towards portable devices, the reliance on closed products became evident. - Moving to a cloud based solution meant that staff had their mail, and documents on anything that had access to the Internet
- Implement Page Tracking allowing metrics of site usage to be taken
- Simple static Urchin codes placed across all sites
- Paths and goals developed helping track where users were going
- More complicated Urchin codes supplied by custom extension for internal framework
- Develop a search engine to offload some of the workload of forums and also give users the opportunity to see more content that was important to them.
- Setup Solr/Lucene server
- Developed comprehensive schema allowing various styles of articles to be represented similarly
- Developed indexing software including a set of indexers to convert various articles into a format usable by schema
- Developed CodeIgniter library to translate permissions from vBulletin format allowing pure CodeIgniter code
- Developed CodeIgniter interface for PHP/Solr hooks
- Replace Existing advertising system with 3rd party managed system
- Developed hooks for new advertising system under existing framework, and CodeIgniter
- Developed standalone IFrame ad unit for 3rd parties
- Configured DoubleClick to work with a month-by month sales system, and produced a detailed how-to on ad placement
- Replace internally managed mail system with 3rd party hosted system
- Train staff in using Gmail efficiently, helping them transition from a sorting based workflow to a search based one
- Offset reliance on Microsoft Office and Windows in favour of web-based alternative.
- Demonstrated the power of shared, online documents
- Moved important company wide documents online allowing single current version available to all
Environment: Linux, Apache 2, MySQL, Google Analytics, Google DoubleClick, Google Apps For Your Domain, CodeIgniter, Solr/Lucene,HTML/CSS/JavaScript/JQuery
2006 - 2008 Ballistic Media Adelaide, South Australia Internet Services
- CGPortfolio was developed as a way to give artists a way to display their artwork and network with each other
- CGWiki was put in place in the hopes that we could build a strong repository of knowledge in digital art
- CGTalk is likely the largest online community of digital artists in the world, many members coming from movie, and game studios.
- Develop an online gallery system for members of CGSociety.
- Build gallery system based on a collection of HTML pages
- Created an upload system that generated forum posts on CGTalk and then imported them into CGPortfolio
- Built a local content delivery network allowing files to be distributed across several servers
- Used ImageMagick to re-size and thumbnail images protecting users’ copyright
- Implement a Wiki allowing users to contribute to a central knowledge-base
- Created login module for MediaWiki using information from vBulletin
- Created a series of templates for members to use creating their articles
- Coach community members in using the MediaWiki markup
- Worked with forum-leaders (moderators) on CGTalk to allow the company to make choices based on community feedback
- Worked with forum-leaders to organize community events such as CGChallenges selecting topics, and judges, as well as running voting, and getting feedback when results were posted
Environment, Linux, MySQL, PHP, Synergy (Internal Framework), vBulletin, MediaWiki, HTML/CSS/JavaScript/JQuery
2004 - 2006 CGCharacter Mylor, South Australia Broadcasting, Music and Film
- Provided the film “A Sound of Thunder” with musculature animation, as well as some fluid interaction
- Generated fly through videos for development project in Dubai
- Created Crowd Scenes for Documentary series
- Animated figures demonstrating muscle use for fitness purposes
Responsibilities:
- Managed render servers to process heavy computing tasks
- Fed animation files through pipeline as they were completed and manged progress
- Rendered output files to transparent plates and quickly composited with live footage
- Initiated and monitored file transfers for delivery
- Imported CADD files into rendering software creating realistic materials and rendering output
- Developed scripts to simulate crowds of people
- Developed scripts to help generate renderable files
- Movement matched video files to character animation
- Developed scripts to change materials on characters to demonstrate use
- Developed toolkit to eliminate simple repetitive tasks
Environment: 3DStudio Max, Combustion, Photoshop
2001 - 2004 University of South Australia Magill, South Australia
The program is designed to educate students for a career as computer professionals specializing in multimedia. It provides a broad and fundamental understanding of the theory and practice of computers and information technology, plus specialist knowledge of multimedia concepts and techniques. The program prepares graduates for professional careers in the computing and multimedia industry in general, and specialist multimedia software development organizations in particular.
January 1991 - July 1995 Marryatville High School Marryatville, South Australia
Environment: Linux, Windows, Unity3D, C#, Python, Godot
- As a indie game developer, I am active within various game development communities - in particular Ludum Dare, Facebook (Indie Game Developers).
- Most of my personal projects are visible on itch.io