James Roy, Developer in Kelowna, BC, Canada
James is available for hire
Hire James

James Roy

Verified Expert  in Engineering

Software Developer

Location
Kelowna, BC, Canada
Toptal Member Since
November 27, 2016

James is an outgoing, entrepreneurial-minded web developer and designer who's been in the industry since 2002. He specializes in multilingual WordPress and WooCommerce solutions. His background is in design and usability which gives him a deep understanding of the full website development life cycle and user interactions. He works seamlessly with teams but is also totally comfortable with working on his own.

Portfolio

Freelance Work
MySQL, SCSS, Less, JavaScript, jQuery, PHP
Nanosteam Foundation
MySQL, Bootstrap, Stripe, Stripe Connect, Sass, PHP, Ajax, JavaScript
Classic Cable Cars
Monolog, StatsD, JavaScript, jQuery, REST, Ajax, PHP

Experience

Availability

Part-time

Preferred Environment

Git, IntelliJ IDEA, PhpStorm, OS X

The most amazing...

...project was building a premium WP theme with a drag-n-drop layout control, customizer integration, event/portfolio management, and WooCommerce compatibility.

Work Experience

Web Developer | Designer

2003 - PRESENT
Freelance Work
  • Headed the full website lifecycle development with clients—including conceptualization, design, layout, development, browser compatibility, QA, and testing.
  • Delegated and managed contractors or service providers through the project’s duration.
  • Developed websites using WordPress, Catalyst, Vortex, Squarespace, and Concrete5 CMS in addition to overseeing phpBB forums and static non-CMS websites.
  • Programmed CMS enhancements to enable and simplify website management.
  • Deployed end-to-end eCommerce solutions based on WooCommerce and Catalyst using payment gateways and SSL.
  • Advocated novel UI/UX solutions for enriching the client and customer connection.
  • Collaborated with clients on social media and SEO strategies.
  • Advised on unifying print and web brands along with designing online and offline marketing ventures.
  • Developed WordPress multi-sites and multilingual websites.
Technologies: MySQL, SCSS, Less, JavaScript, jQuery, PHP

Developer

2017 - 2019
Nanosteam Foundation
  • Extensively enhanced the commercial crowdfunding platform, Ignition Deck, to meet the special requirements for managing the users of the system.
  • Created team management and collaboration capabilities for project creators allowing up to 10 additional people to contribute to updating a project's progress and to interact with supporters of the project directly.
  • Developed a Stripe Connect Custom payment processing system for managing the payment flow between creators and backers.
  • Developed financial, project and user reports both in Stripe Sigma and directly from the Website.
  • Programmed database queries for tracking a project's full lifecycle which are created by users on the site.
  • Integrated real-time error checking and feedback for project creation and user signup flows.
  • Developed a tracking system allowing users to earn rewards based on their involvement with the creation and/or support of projects on the site.
  • Implemented fully custom CSS/SCSS built on a supplied unique design using Bootstrap 4+.
  • Translated PSD files to HTML along with realizing a fully integrated custom theme.
  • Built custom Gutenberg plugins for enhanced layout and design controls.
Technologies: MySQL, Bootstrap, Stripe, Stripe Connect, Sass, PHP, Ajax, JavaScript

Full-stack WordPress Developer

2017 - 2017
Classic Cable Cars
  • Developed an Ajax coupon system that queried a remote API for the discount type and then validated the coupon entered which then applied the appropriate discount on checkout without the page refreshing.
  • Built a logging and metrics system which tracks the entire transaction process from date selection through to payment confirmation. It also tracked any failure points along this process. The metrics data followed the logging process and would report to a StatsD server using a PHP StatsD client.
  • Improved the user experience by querying the remote ticket management API and dynamically disabling dates on the jQuery date-picker based on vacancy availability per day and per tour type.
Technologies: Monolog, StatsD, JavaScript, jQuery, REST, Ajax, PHP

WordPress Developer and Designer

2015 - 2016
Moto-Center Thun
  • Designed the core theme for a family of five websites on a VPS with a multi-site WordPress installation.
  • Integrated a drag-n-drop layout builder and developed over 40 tools for the client's publishing needs.
  • Built a custom event management system for 2 of the websites that tied directly into the drag-n-drop page builder.
  • Integrated WooCommerce and WooCommerce bookings for three of the websites along with adding a direct integration into the drag-n-drop layout builder.
  • Installed multilingual capabilities and customized it for compatibility with WooCommerce.
  • Developed and designed a reusable skeleton framework for their email newsletter campaigns.
  • Built a custom plugin for managing the multilingual duplication of WooCommerce stock for products and rentals.
  • Installed Let's Encrypt SSL on the WHM VPS.
Technologies: Bootstrap, CSS3, jQuery, PHP, WooCommerce, WordPress

Web Developer

2014 - 2015
Thoemus Veloshop
  • Handled the PSD to HTML conversion for the supplied design concept.
  • Installed The Events Calendar plugin and customized it to meet the needs of the client.
  • Set up and customized WooCommerce.
  • Established and tested a payment gateway.
  • Integrated a drag-n-drop layout builder for custom layout control on the part of the client for all their pages and posts.
Technologies: Bootstrap, CSS3, jQuery, PHP, WooCommerce, WordPress

Web Developer and Designer

2014 - 2014
Tangfish
  • Designed and developed a custom photography theme built on the Squarespace developer framework.
  • Migrated and installed a visually identical, though entirely different back-end theme for the client's Tumblr account which is used to generate traffic to the rest of the site.
  • Installed and customized alternate gallery systems for both Tumblr and Squarespace.
  • Optimized the site for mobile viewing with larger screen sizes as the fallback.
Technologies: jQuery, Responsive, CSS3, Tumblr, Squarespace

Extension of a Custom WordPress eCommerce Plugin

Classic Cable Cars is a tour operator in San Francisco.

The company sells tickets for four tour types. Centaman’s system allows for a coupon to be only for a specific tour or apply to some or all of them. Each tour has its own set of rules which can be set by the company.

The goal was to allow a customer to enter their coupon on checkout which would then query Centaman's API, if the coupon were valid then it would be processed against several checks to ensure that it was applicable for the tour type. If confirmed as valid, then the price would be updated on the page showing the discount applied along with a new total. This was all done with Ajax.

The logging system was built using Monolog. Its sole focus is whether a transaction succeeds or fails and if it fails, why. The metrics system piggybacked on the logging process so it would trigger at the same points while sending it’s data to a StatsD server using a PHP StatsD client.

The first step of the transaction is to select a date for a tour using a jQuery date picker. Using the Centaman API, a new system was built to confirm vacancies. If it were unavailable for any reason, the dates would be disabled and indicated with a visual at the start.

WooCommerce Bookings Multilingual Plugin

The Problem:
WooCommerce Bookings is not very multilingual friendly. As an example, a booking done in English will not automatically make the booking for the German translation of the product. There was a lot of manual work required to ensure no double bookings for a product occurred when a reservation was made.

The Solution:
When a user made a reservation, the plugin would duplicate the same information and its state (paid, pending, and more) for each language installed on the website. There were three additional functions. As new products were added, they were duplicated for each language, so the web administrator only needed to change the text for each respective language while having the specifications remain identical. Lastly, the administrator could upload an Excel file to the website for any in-store bookings, which would automatically book the respective product and its associated translations. It also would free up any products which had been returned that were noted in the Excel file as well.

SCSS Compiler Plugin

The Problem:
How to use the WordPress Customizer to manage the variables of the Bootstrap framework and how to process SCSS files into a CSS file directly within the website.

The Solution:
Integrate the SCSSPHP compiler to handle the the compiling of the SCSS files into an optimized CSS file. In total, there were approximately 30 variables which when changed would require the compiler to process a new stylesheet. Unlike LibSass, SCSSPHP is resource intensive and relatively slow. The plugin produced a reference file which was used to see if the compiler needed to run so that there were no unnecessary program initiations if a setting changed within Customizer that was not related to one of the managed variables. The plugin also produced a cache busting CSS file so that any changes which were made would automatically be downloaded by previous visitors to the website.

Moto-Center

http://moto-center.ch
This project encompasses five websites. The concept was to break apart an old website into distinct sites that shared a foundation while being able to have control over design and layout to give each its own identity.

From there, the goals for each are unique in scope. These included the flagship sites (Moto-Center Thun & Bern), a primary informational site (Tacho-Bar), event management (Racing Tours) to a bike rental site with online booking capabilities. Additionally, these sites all run from a multi-site WordPress installation with a multilingual setup on some plus the websites with a customized drag-n-drop layout builder with over 40 custom layout tools.

Languages

CSS, HTML, SCSS, JavaScript, PHP, CSS3, Sass, Less

Frameworks

Bootstrap, Presto

Tools

Adobe Illustrator, Adobe Photoshop, Coda 2, PhpStorm, Gutenberg Editor, Git, Terminal, Atom, IntelliJ IDEA, NPM

Paradigms

Responsive, REST

Platforms

WordPress, WooCommerce, OS X, Tumblr

Libraries/APIs

jQuery, Stripe Connect, Stripe

Storage

WP Engine, MySQL

Other

Squarespace, Ajax, StatsD, Monolog

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring