Services

Services

I offer a variety of services to help build your brand’s digital presence including the development of websites, web apps, and mobile apps.

I believe in being open and transparent and choose to design and develop with open-source technologies to provide my clients with, scalable, community-supported solutions.

I work with you and a broad range of technologies to help you build the best product for your business.

If you want to read about specific Technologies and hear about the sorts of things I've built with them, see here!

Front-end Development

I am an expert at front-end web development and turning pretty pictures into real, mobile-first responsive websites.

I can build UI’s in a variety of tools including but not limited to HTML, CSS, JavaScript, React, Vue, and jQuery.

I can work with your designer if you have one, or use my high attention to detail to come up with something aesthetically pleasing, simple, and efficient to implement.

Back-end Development

I can provide back-end development, including building robust REST or GraphQL APIs.

I build back-end applications using Node.js, Ruby and Kotlin with a variety of backend frameworks. I would work with you to choose the best database(s) for your project. Databases and data stores I work with include MySQL, PostGres, MongoDB, and Redis, but I can work with anything.

I can also help you with your existing Java and PHP projects.

Software System Design

I design complex and distributed systems to help you ship the right features to your users while increasing maintainability and limiting technical debt.

How a system is designed will have an impact on how well it can be maintained and built upon.

Let me help you build a solid foundation for your software.

If you’re looking to develop a product, I’m here to help you make the right technical decisions from start to finish.

Responsive Design

I develop high-quality and responsive interfaces for websites and web applications that are not only compatible with, but also optimized for all screen sizes and devices.

From the smallest mobile phones to the biggest desktop computer screens, and everything in between, I optimize not only the aesthetics, but also the experience so that your users can experience the full functionality and content of your websites and web apps in a way that is optimized for them based on how they’re viewing your content.

I believe that if web content or a product features are available for desktop users that they should be available for mobile users too, not omitted because it’s easier to implement. I can help you so that your users experience your whole product regardless of their platform.

I can work with your designers to develop an implementation that balances beauty and efficiency and gets you the best of both worlds.

Content Management

I design and develop websites that are easy for clients to add to, update, and manage themselves.

I leverage the power of community-supported systems and frameworks to empower my clients to manage their own content.

Some of the platforms I primarily work with include ProcessWire, Drupal, and WordPress, but I can also help out with your PHP MVC framework projects that use Laravel, CakePHP, and CodeIgniter, or your preferred CMS-as-a-service. I also build custom solutions using Node.js and Ruby on Rails.

If you need non-developers at your company to be able to create, update, and manage content on your website, a content management solution may be what you need. I can build it for you.

Accessibility

I make websites for people regardless of technology and ability, and can create accessible, enjoyable digital experiences for users of all abilities.

I can provide accessibility consulting and development as per the Web Content Accessibility Guidelines (WCAG 2.0) for AA or AAA compliance—the standard required by all Canadian public sector websites, as well as the Accessibility for Ontarians with Disabilities Act (AODA).

I can provide compatibility for deprecated browsers down to Internet Explorer 6, be it by means of graceful degradation or progressive enhancement, so that your visitors on even the oldest computers can still comfortably consume your content.

If your business has a requirement to conform to strict accessibility standards, or wants to make their software or web content accessible to as many people as possible, I can help with that.

Mobile Development

I provide both HTML5/JavaScript and native mobile application development, for Android and iOS. The apps I have contributed to are in the hands of millions of users worldwide.

Whether you prefer native applications or the build once, deploy everywhere approach, I can help.

I work with native Android (Kotlin, Java), native iOS (Swift, Objective-C), Kotlin Multiplatform Mobile (KMM), Cordova, PhoneGap, Ionic, and React Native, or work with your team on your existing project of another framework.

Notifications? Deep links? I’ll handle it.

Technical Leadership

As a technical leader, I aim to set up full-stack web and mobile software development teams for success.

Technology-wise, this means setting up the right tools from the start, which includes but is not limited to automated tasks for code style, unit tests, CI/CD workflows, deployments and releases.

Team-wise, it includes setting expectations in a transparent manner, which includes but is not limited to extensive style guides for all languages and frameworks used, code examples, libraries and design systems to support developers of all experience levels and backgrounds, as well as fair sourcing, interviewing, and structured assessment practices when hiring.

I prioritize building the right organization framework and processes up front to create a supportive, healthy environment so teams can do their best work. My primary goals are to increase productivity so that team members feel empowered, have a sense of ownership, and are motivated to ship quickly, and avoid scenarios that can introduce conflict and leave engineers feeling unmotivated.

When building teams, I put a strong emphasis on Diversity, Equity and Inclusion, and require that any company that chooses to work with me has those same values or is at least willing to grow in that area.

If you want to read about specific Technologies and hear about the sorts of things I've built with them, see here!