Tina Holly, Developer in Toronto, ON, Canada
Tina is available for hire
Hire Tina

Tina Holly

Verified Expert  in Engineering

Full-stack Web and Mobile Developer

Location
Toronto, ON, Canada
Toptal Member Since
March 9, 2016

Tina is a seasoned full-stack engineer specializing in mobile-first responsive web development and client-side JavaScript applications—with React, Redux, Angular, Vue, and Ember—and their APIs—Ruby on Rails, Node.js, Kotlin, and Java—backed by SQL and no-SQL databases. Tina also excels at developing native mobile apps for iOS and Android, including KMM, and has expertise in React Native and Cordova.

Portfolio

Tinacious Design
ProcessWire CMS, REST APIs, Node.js, React, Angular, Drupal, WordPress, PHP...
GrowthBook
TypeScript, JavaScript, CSS, SCSS, React, Node.js, Express.js, Java...
Bunch Live
Kotlin, React, React Native, Kotlin Multiplatform Mobile (KMM), Objective-C...

Experience

Availability

Full-time

Preferred Environment

Node.js, Android, iOS, TypeScript, Kotlin, PostgreSQL, MySQL, Ruby on Rails API, Swift, Objective-C

The most amazing...

...projects I've lead are complex, full-stack solutions with a focus on balancing quality with shipping quickly.

Work Experience

Technical Lead, Founder

2009 - PRESENT
Tinacious Design
  • Developed responsive web designs and a mobile website including fully fluid and responsive websites for all screen and device sizes. Converted PSD and Figma mocks to pixel-perfect HTML and CSS, JavaScript, and end-to-end native mobile code.
  • Developed native Android and iOS solutions with Kotlin, Java, Swift, Objective-C, including experiences with SwiftUI, Jetpack Compose, and Kotlin Multiplatform Mobile (KMM) writing React Native plugins.
  • Custom designed and developed the front end of a content management system and framework-powered website using open-source technologies that include WordPress, ProcessWire, and Drupal.
  • Created custom JavaScript and jQuery solutions, a jQuery plugin, and WordPress plugins.
  • Developed client-side and server-side web applications in JavaScript, TypeScript, Node.js, Kotlin, Ruby on Rails, and PHP.
Technologies: ProcessWire CMS, REST APIs, Node.js, React, Angular, Drupal, WordPress, PHP, JavaScript, CSS, HTML, Android, Mocha, Functional Programming, Functional Reactive Programming, TypeScript, Ruby on Rails API, React Native, Redux, Jasmine, NPM, Sinatra, React Redux, Ruby, Chrome Extensions, Ruby on Rails (RoR), Nuxt.js, RoomDB

Senior Full-stack Software Developer | Founding Developer

2022 - 2023
GrowthBook
  • Worked on front-end JavaScript development on the main GrowthBook product in React with TypeScript and back-end JavaScript development in Express with TypeScript. Other languages included Ruby and Go.
  • Developed, independently, the Java SDK from scratch to support the GrowthBook product in back-end Java (e.g., Java Spring), Kotlin (e.g., Ktor), and native Android, including example implementations and CPU/memory usage profiling to test for leaks.
  • Migrated the existing GrowthBook product to support dark mode, including Sass/SCSS, CSS-in-JavaScript, and real-time system preference detection. CEO said this was done much faster than expected.
  • Enabled GrowthBook to become the 1st company in the feature flagging space to offer type safety for feature flags by single-handedly developing the GrowthBook CLI, allowing developers to generate type definitions to reduce human error.
  • Developed the GrowthBook Visual Studio Code (VS Code) extension, available in the VS Code Marketplace, to allow developers using VS Code to see GrowthBook resources (e.g., features) in the editor tree view to improve the developer experience.
  • Built CI/CD workflows for multiple code bases in different languages (Java SDK, the VSCode extension/TypeScript) and the GrowthBook CLI (TypeScript). Automated testing, linting, code coverage, packaging and publishing binaries, generating docs.
  • Developed examples in various programming languages and frameworks, including Ruby, Java, Kotlin (JVM, Android), and Go.
  • Worked with OpenAPI Swagger to generate REST API documentation.
Technologies: TypeScript, JavaScript, CSS, SCSS, React, Node.js, Express.js, Java, Feature Flags, OpenAPI, GitHub Actions, CI/CD Pipelines, Ruby

Principal Software Engineer

2021 - 2021
Bunch Live
  • Led the development of the Bunch SDK, a platform for game developers to integrate Bunch into their games. Then, when business priorities shifted, I moved to the leading feature development for mobile clients.
  • Led the development of Bunch Palette, the internal design system for the new Bunch app. Owned architecture, implementation, and execution of the Android design system while overseeing the iOS implementation.
  • Spearheaded junior and intermediate developers with no previous Android experience to jump in and provide value quickly in building out reusable components in Android for the Bunch Palette design system.
  • Architected and implemented deep linking on Android and iOS via React Native. The system supports custom vanity URLs and deferred deep linking into the right screen even if they do not have the app, and works more reliably than the existing attempts.
  • Architected the new onboarding system in KMM, Android, and iOS, which considers complete and express onboarding, deep linking, and conditional handling for Android and iOS in the standard business layer, depending on the needs of the platform.
  • Mentored developers in React, React Native, Redux, Android, and KMM. Set the team up for success by establishing coding best practices in React, React Native, and Android. Improved the core app development experience with serverless functions.
  • Embraced Bunch's legacy systems from a full-stack approach. I quickly became one of the key people with the most knowledge about how Bunch's systems work internally, as I can quickly adapt to foreign and complex systems.
  • Led the development of a Chromecast app, my idea for an internal hackathon project. The goal was quite ambitious, but within two days, we could get the Bunch party experience working on our TVs over Chromecast for both Android and iOS.
  • Set up continuous integration and continuous deployment (CI/CD) for native Android clients and a React app that uses static site generation (SSG) and server-side rendering (SSR).
  • Provided featured development on a new presence service that uses WebSockets and Redis, including Redis PubSub and Redis Streams on back-end and native mobile clients.
Technologies: Kotlin, React, React Native, Kotlin Multiplatform Mobile (KMM), Objective-C, Swift, Java, Node.js, Google Cloud Platform (GCP), Firebase, Cloud Firestore, Redis, Redis Streams, Redis Pub/Sub, Prisma, PostgreSQL, WebSockets, TypeScript, Serverless, Chromecast, Android, UI Testing, REST APIs, Mocha, Functional Programming, Functional Reactive Programming, CSS, JavaScript, Redux, Jasmine, NPM, React Redux, Next.js

Tech Lead

2020 - 2020
A Digital Agency
  • Spearheaded the technical engineering decisions and implemented full-stack projects on teams of two to six developers as a tech lead. I also architected, designed, and engineered full-stack end-to-end solutions for our startup clients' products.
  • Turned a project around with only myself and one junior front-end developer, from a poor, brittle architecture, slow, broken, and buggy approach that the previous five-person team—two senior back-end and three front-end developers—had delivered.
  • Built state of a lease document management—from draft to sent offer, to sign—commenting, and access control features for landlords and tenants' teams using an RoR with GraphQL back end and a React, TypeScript, Redux, and Sass for SCSS front end.
  • Solved n+1-related performance problems on the back end Rails with GraphQL API.
  • Implemented and mentored the team to use sound architecture in the React app: TypeScript, container-presentational component architecture, Redux with hooks, thorough unit testing.
  • Collaborated with project and product managers to find the best solution within the constraints of the client's timelines.
  • Single-handedly built a React component library using styled-components and TypeScript to help agency projects move faster to avoid reinventing the wheel.
  • Built a component library as a utility-first approach offering theming, layout, grids, responsive design, typography, unstyled behavior, and functionality. Concerns' proper separation results in an API that is intuitive, versatile, and composable.
  • Structured the React component library so that even the most junior developers at the company can quickly pick up and hit the ground running.
  • Improved the company's development guidelines and code quality by setting standards for software engineering using industry-proven approaches.
Technologies: JavaScript, TypeScript, Ruby on Rails API, Ruby on Rails (RoR), React, Redux, React Redux, Sass, SCSS, Styled-components, UI Testing, REST APIs, Mocha, Functional Programming, Functional Reactive Programming, Serverless, CSS, Node.js, NPM, Ruby, Next.js

Senior Software Engineer

2017 - 2020
Wealthsimple
  • Handled the full-stack development on the Wealthsimple for the Advisors product (Wealthsimple's B2B offering that enables financial advisors to focus on delivering value to their clients).
  • Helped turn the product from a desktop-only proof-of-concept to a solid enterprise-level product that advisors use every day to run their business on desktop and mobile. The product includes robust client onboarding, activity feeds, dashboards and graphs.
  • Implemented white labeling: a key player to our internal design system of themeable React components, eliminating theme-related bugs.
  • Implemented the associate role: this feature saves advisors time by allowing them to invite colleagues to securely manage their clients. Supports many-to-many relationships so Advisors of a company can share Associates. It supports onboarding new and existing users. This project helped set up the foundation to support additional roles.
  • Rewrote the "log in as client" functionality ("impersonation"): the feature allows advisors to perform actions on behalf of their clients the way the client would themselves. This feature is also foundational to the day-to-day operations internally—without it our client success and operations teams would not be able to do their jobs. Previous to my joining Wealthsimple, this feature was unreliable and would often fail. I solved the reliability issues associated with years of tech debt by rewriting both back-end and front-end functionality, raising its reliability to 100%.
  • Interviewed candidates along with mentoring junior, intermediate and senior developers in React—helping to deprecate years of tech debt, hackathons, and public speaking.
Technologies: AngularJS, React, JavaScript, Ruby on Rails (RoR), Ruby, UI Testing, REST APIs, Mocha, Functional Programming, Functional Reactive Programming, TypeScript, Ruby on Rails API, Styled-components, CSS, Redux, Karma, Jasmine, NPM, Sinatra, React Redux

Lead Instructor – Web Development

2016 - 2017
Red Academy
  • Worked as the lead instructor of the part-time Web Developer Foundation course at Red Academy, a ten-week certificate program designed to give students foundational principles in web development.
  • Taught students how to develop websites using HTML, CSS, and JavaScript, how to use industry-standard tooling including text editors, Git, CSS preprocessors, debugging tools, and more; also how to leverage the open-source community to build websites quickly and efficiently.
  • Developed a suite of tools to automate the assessment of student projects.
Technologies: Node.js, Git, jQuery, JavaScript, CSS, HTML, REST APIs, Mocha, Functional Programming, Functional Reactive Programming, NPM

Software Developer

2016 - 2016
Snapchat
  • Integrated the Bitmoji app into Snapchat. Technologies include JavaScript (Angular, React, Node.js), Android development, iOS development (Swift, Objective-C), server-side Java development using Google AppEngine, HTML, CSS, jQuery, and JavaScript.
  • Integrated Snapchat into Bitmoji and Bitmoji into Snapchat so that users can authenticate with Snapchat to use Bitmoji and use Bitmoji from within Snapchat.
  • Developed the Snapchat API to ensure that the right Bitmojis are available from within Snapchat.
  • Localized the Bitmoji search data to the many languages that Snapchat supports—enabling users to easily search for content from within the Bitmoji and Snapchat apps in their language.
  • Staged a content rollout functionality in the Bitmoji API to gradually roll out new content to users to prevent server overload.
  • Wrote detailed technical documents for the planning and implementation of unique and complex software problems, and the development of the implementation, while being sensitive to the strict legal and security requirements surrounding data.
  • Taught JavaScript web application development at a college in Los Angeles in support of Snap's community involvement initiatives; including the creation of educational and engaging learning experiences utilizing Bitmoji. The instructional app fetches weather data and displays a bitmoji depending on the weather.
  • Independently designed and developed the front-end application for an internal tool using React and Redux.
  • Unit-tested React-Redux applications including React components, Redux reducers, along with Mocha, ES6 modules, JSDom, Enzyme, DeepFreeze, and more.
Technologies: Objective-C, Android, Swift, iOS, Java, Angular, React, Node.js, JavaScript, UI Testing, REST APIs, Mocha, Functional Programming, Functional Reactive Programming, CSS, Karma, Jasmine, NPM, React Redux, Redux

Software Developer

2014 - 2016
Bitstrips
  • Built JavaScript applications for client-side web and mobile and server-side (Node.js). Performed unit testing and UI testing. Created test-driven development using Mocha, Jasmine, Chai, Sinon, Jest, Selenium, and WebDriver. Implemented code-testing for Angular, React, and Node.js.
  • Developed with Cordova and Ionic for HTML5 JavaScript mobile web applications.
  • Created native Android applications which included unit testing with JUnit, Robolectric, and Espresso.
  • Worked with native iOS development working with Objective-C and Swift; including keyboard extension. Developed an Apple Watch app on a hack day. Performed unit testing with Kiwi.
  • Overhauled/improved and led the development of CSS in our front-end applications.
  • Overhauled the Bitstrips mobile app comic editor to switch from Flash to HTML5 Canvas to help alleviate tech debt.
  • Worked with a variety of build tools and package managers. For the mobile web: NPM, Grunt, Gulp, Bower, Webpack, Browsersync, CSS pre-processors, Babel, Browserify, Gradle (Android), iOS (CocoaPods, Carthage) and so on.
  • Worked on Hack Day projects which included coding in Meteor and Ruby/Sinatra; and also working with the Google Maps API and image processing.
Technologies: Swift, Objective-C, iOS, Test-driven Development (TDD), UI Testing, Unit Testing, Chrome Extensions, Stylus, Sass, CSS, Cordova, React, AngularJS, Node.js, JavaScript, REST APIs, Mocha, Functional Programming, Functional Reactive Programming, Redux, Karma, Jasmine, NPM, Sinatra, React Redux, Android, Kiwi

CEO | Technical Lead

2013 - 2014
Team Atomic, Inc.
  • Co-founded a company with my business partner at the time as the technical lead and CEO.
  • Created pixel-perfect web development from PSD mockups; including custom CSS, HTML, and JavaScript.
  • Solved client problems as efficiently as possible.
  • Developed the business; performed client acquisition and administration.
Technologies: JavaScript, CSS, HTML, REST APIs, Functional Programming, Functional Reactive Programming

Front-end Developer

2013 - 2014
Tangerine Bank of Canada
  • Implemented responsive web design using Bootstrap and custom CSS.
  • Developed a custom plugin using jQuery and jQuery UI.
  • Single-handedly developed all of the client-side functionality for the new Tangerine's "Forward Banking" blog using the AngularJS JavaScript framework. The application uses WordPress as a REST service, allowing users to read and write to the blog through the API. Created custom directive development to add support in AngularJS for the existing libraries and plugins, including Modernizr for feature detection, as well as the official Angular support for the popular Picturefill plugin for responsive images.
  • Developed and implemented client-side JavaScript templating solutions using AngularJS and Handlebars.js; included core structural template logic as well as a library of reusable components for rapid development.
  • Supported the front-end team with front-end frameworks, build tools, problem solving, troubleshooting, and version control with Git.
Technologies: AngularJS, JavaScript, jQuery, Less, CSS, HTML, REST APIs, Functional Programming, Functional Reactive Programming

Front-end Developer

2012 - 2013
Sheridan College
  • Managed the front-end development for the Sheridan College redesign 2013 project. This included the development of a custom CSS framework by extending a basic semantic grid system, adding an object-oriented approach to CSS for decoupling style declarations from semantic markup, a custom jQuery scripting, developing a custom Accessibility widget including High-Contrast and on-page text re-sizing controls. All this and also implementing the challenging design vision provided by a third-party agency for desktop and mobile.
  • Developed a custom WordPress theme design including CMS development.
  • Created and developed a custom HTML email newsletter generator that queries the right posts based on post authoring requirements. For use with email campaign software for the Sheridan Insider, a custom-developed WordPress solution.
  • Developed a custom microsite front-end using cutting-edge practices with CSS pre-processing and jQuery including advanced and efficient implementation of responsive web design.
  • Implemented corporate training for end-users on the SiteCore content management system including training workshops, technical support via email and phone, and technical support document authoring.
  • Configured and authored the content of a Wiki setup in an effort to standardize web development practices at Sheridan. The wiki acts as a hub of information and a guide for best practices for Sheridan’s scalable web development.
  • Created a template for the rapid development of pages to be implemented into an existing site theme.
Technologies: JavaScript, jQuery, CSS, HTML, REST APIs, Functional Programming, Functional Reactive Programming

Web Designer | Web Developer

2011 - 2013
Funding Matters
  • Developed the Funding Matters Inc.'s website and sister company websites.
  • Designed, developed, and enhanced the websites for Funding Matters’ clients.
  • Created the custom Content Management System design and development in WordPress and ProcessWire.
  • Designed and developed accessible websites as per the web content accessibility guidelines (WCAG 2.0) for government-funded websites.
Technologies: WordPress, jQuery, CSS, HTML, JavaScript

Mobile App for Tattoo Artists and Clients

https://tinaciousdesign.com/portfolio/mobile-app-tattoo-artists-piercers-android
A local tattoo shop in Canada hired me as their tech lead and primary developer for a new mobile app project. The app is geared towards tattoo artists and other body modification service providers (piercers, brow artists, scalp micro-pigmentation artists, etc.) The goal of the app is to help service providers and clients find each other. Their in-house designer designed the app, and my role was technical leadership and full-stack development on the back end (Ruby on Rails), the website, and Android.

Jewelry Curation Tool for Body Piercings

https://tinaciousdesign.com/portfolio/jewelry-curation-tool-body-piercings
A luxury body jewelry wholesale company that works directly with piercers approached me to develop an ear piercing jewelry curation tool that they can embed in their existing Shopify website in their existing mobile apps on Android and iOS. Body piercers would use the company's new ear curation tool with their clients to help them visualize what new jewelry can look like alongside their existing pieces.

Wealthsimple for Advisors

I handled full-stack development on the Wealthsimple for Advisors product, Wealthsimple's B2B offering that enables financial advisors to focus on delivering value to their clients.

I helped turn the product from a desktop-only proof-of-concept to a solid enterprise-level product that advisors use every day to run their business on desktop and mobile. The product includes robust client onboarding, activity feeds, dashboards, and graphs.

Since I joined, the B2B business went from being a small contributor to become a major player in the company's growth and success.

White labeling: key player to our internal design system of themeable React components, eliminating theme-related bugs.

Associate role: this feature saves Advisors time by allowing them to invite colleagues to securely manage their clients. Supports many-to-many relationships so advisors of a company can share associates. It supports onboarding new and existing users. This project helped set up the foundation to support additional roles.

Rewriting the "Log in as client" functionality: the feature allows advisors to perform actions on behalf of their clients. This feature is also foundational to the day-to-day operations.

Bitmoji (iOS, Android, Chrome, Back-end API)

https://tinaciousdesign.com/portfolio/bitmoji/
One of the core team (under five-to-ten developers) who developed the Bitmoji mobile application for iOS, Android, Chrome, and Slack.

The front-end was built JavaScript using React, Angular, native Android (Java), native iOS (Swift, Objective-C), Apple Watch prototype, and iOS keyboard app extension.

The back-end development was done with Node.js using Express.js and Hapi.js, OAuth, MySQL, PostgreSQL. The back-end API development was done in Java using the Google AppEngine.

Test-driven development included unit tests (Karma, Jasmine, Mocha, Sinon, Chai, XCTests for iOS, JUnit for Android), integration tests (Python, Node.js), UI tests (Selenium, XCUITests for iOS, Espresso for Android).

Canned Replies

https://cannedreplies.com
Canned Replies is a Chrome extension and Android app that makes it quicker and easier to send the messages you send often. It integrates seamlessly with Gmail, the clipboard, and the user's context menu.

Initially just a productivity tool for myself, it turned into a product people use every day. Canned Replies currently has 6,000+ users on Chrome and hundreds on Android with an average rating of 4+ stars.

The project is live and currently under feature development.

Tangerine Bank of Canada Website

http://tangerine.ca
I developed the front-end with a small team for the ING Direct to Tangerine rebranding and website redesign project.

The new Tangerine website was the first bank website in Canada to be fully responsive. I also added accessible support for Internet Explorer 7 and a wide variety of mobile devices including Windows, Android, BlackBerry, and Apple. In addition, I developed the Google Maps API.

Tangerine Bank of Canada Forward Banking Blog

https://www.tangerine.ca/forwardthinking
I single-handedly developed the front-end of the Forward Thinking blog and content marketing platform, an AngularJS application that uses WordPress as a service.

Sheridan College Redesign

https://tinaciousdesign.com/portfolio/sheridan-college-redesign/
I was the hired gun on a team of three front-end developers working on the Sheridan College redesign project. I did front-end development in HTML, CSS, jQuery, and JavaScript. I also handled the quick pixel-perfect design implementation of agency-provided designs.

ISM at the University of Quebec in Montreal

https://tinaciousdesign.com/portfolio/ism-uqam/
A fully responsive, bilingual (French, English) CMS-powered website in ProcessWire to help Institut des Sciences Mathématiques (Institute of Science and Math), a higher-education client in Montreal, Quebec, Canada, manage the content on their website. Including but not limited to programs, courses, and blog items. It involved complex relationships between content types and taxonomies. The website is very quick and easy for the client to maintain.

Responsive Web Application for a Recruiting Company

https://tinaciousdesign.com/portfolio/responsive-web-app/
I created the user interface design and the front-end development for an application that helps a staffing agency manage their candidates and clients. I also worked with the CakePHP MVC framework and handled the custom jQuery development.

The application features dynamic forms that animate form sections in, as needed. The forms were designed to be enjoyable and quick to fill out. Forms were designed with the power user in mind, allowing tech savvy staff to quickly fill out forms with keyboard-friendly input.

Lesson Planning Application Prototype

http://tinaciousdesign.com/portfolio/tinacious-teaching-lesson-planning-web-app/
I developed a productivity for myself to log in and manage lesson plans when I needed to teach workshops on how to use content management systems. The application features the creation of classes, lesson plans, and features like file upload, lessons of the day (loading on the front page), and mobile and printer-friendly templates.

Freelancer Resume Website

https://tinaciousdesign.com/portfolio/resume-website/
A resume website built in the ProcessWire content management system for protecting and managing a resume. It has a password-protected resume, is fully responsive, provides PDF generation, and allows the download of dynamic content.

Social Network Activity Feed Design and Development

https://tinaciousdesign.com/portfolio/social-media-website-design/
I designed and developed an activity feed for an attendance-based social media network. It's fully responsive.

Languages

Ruby, JavaScript, CSS, Sass, SCSS, TypeScript, Java, Swift, Objective-C, Go, HTML, Less, PHP, Kotlin, CSS3

Frameworks

Redux, Angular, Jasmine, Ruby on Rails (RoR), Sinatra, AngularJS, Next.js, Ember.js, React Native, Nuxt.js, Express.js

Libraries/APIs

REST APIs, React Redux, React, jQuery, Node.js, Ruby on Rails API, Vue, D3.js, OpenAPI, Kiwi

Tools

Mocha, Karma, NPM, Stylus, Adobe Photoshop, Adobe Illustrator, Git, Prisma, Bower, Yeoman

Paradigms

Functional Reactive Programming, Functional Programming, Agile Software Development, Unit Testing, Test-driven Development (TDD)

Platforms

WordPress, Vercel, Android, iOS, Drupal, Drupal 7, Firebase, MacOS, Linux, Drupal 8, Google Cloud Platform (GCP), YouTube, Shopify

Other

UI Testing, Chrome Extensions, Styled-components, Full-stack Development, Kotlin Multiplatform Mobile (KMM), WebSockets, Serverless, Chromecast, ProcessWire CMS, Cordova, Redis Streams, Redis Pub/Sub, Vimeo, Plugins, Feature Flags, GitHub Actions, CI/CD Pipelines, Maps, Geolocation, Push Notifications

Storage

PostgreSQL, MongoDB, MySQL, Cloud Firestore, Redis, RoomDB

2009 - 2010

Bachelor's Degree in Education

University of British Columbia - Vancouver, BC, Canada

2004 - 2008

Bachelor of Arts Degree in French and Spanish

York University - Toronto, ON, Canada

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