Tina Holly
Verified Expert in Engineering
Full-stack Web and Mobile Developer
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
Experience
Availability
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
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.
Senior Full-stack Software Developer | Founding Developer
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.
Principal Software Engineer
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.
Tech Lead
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.
Senior Software Engineer
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.
Lead Instructor – Web Development
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.
Software Developer
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.
Software Developer
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.
CEO | Technical Lead
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.
Front-end Developer
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.
Front-end Developer
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.
Web Designer | Web Developer
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.
Experience
Mobile App for Tattoo Artists and Clients
https://tinaciousdesign.com/portfolio/mobile-app-tattoo-artists-piercers-androidJewelry Curation Tool for Body Piercings
https://tinaciousdesign.com/portfolio/jewelry-curation-tool-body-piercingsWealthsimple for Advisors
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/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.comInitially 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.caThe 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/forwardthinkingSheridan College Redesign
https://tinaciousdesign.com/portfolio/sheridan-college-redesign/ISM at the University of Quebec in Montreal
https://tinaciousdesign.com/portfolio/ism-uqam/Responsive Web Application for a Recruiting Company
https://tinaciousdesign.com/portfolio/responsive-web-app/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/Freelancer Resume Website
https://tinaciousdesign.com/portfolio/resume-website/Social Network Activity Feed Design and Development
https://tinaciousdesign.com/portfolio/social-media-website-design/Skills
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
Education
Bachelor's Degree in Education
University of British Columbia - Vancouver, BC, Canada
Bachelor of Arts Degree in French and Spanish
York University - Toronto, ON, Canada
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring