Tina Holly, Full-stack Web and Mobile Developer in Vancouver, BC, Canada
Tina Holly

Full-stack Web and Mobile Developer in Vancouver, BC, Canada

Member since November 5, 2015
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.
Tina is now available for hire

Portfolio

  • Tinacious Design
    ProcessWire CMS, REST APIs, Node.js, React, Angular, Drupal, WordPress, PHP...
  • Bunch Live
    Kotlin, React, React Native, KMM, Kotlin Multiplatform Mobile, Objective-C...
  • A Digital Agency
    JavaScript, TypeScript, Ruby on Rails API, Ruby on Rails (RoR), React, Redux...

Experience

Location

Vancouver, BC, Canada

Availability

Part-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.

Employment

  • 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
  • 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 full and express onboarding, deep linking, and conditional handling for Android and iOS in the common 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 around how Bunch's systems work internally, as I can easily 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 were able to 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 both on back-end and native mobile clients.
    Technologies: Kotlin, React, React Native, KMM, Kotlin Multiplatform Mobile, Objective-C, Swift, Java, Node.js, Google Cloud Platform (GCP), Firebase, Cloud Firestore, Redis, Redis Streams, Redis PubSub, 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, Android Development, 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
  • 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

Experience

  • 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.

  • Animated Progress Bar Plugin
    http://tinacious.github.io/goalProgress/

    An animated progress bar jQuery plugin with 80+ stars on GitHub. Available as a package on Bower.

Skills

  • Languages

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

    Redux, Angular, Jasmine, Mocha.js, Ruby on Rails (RoR), Sinatra, AngularJS, Next.js, Ember.js, React Native, Nuxt.js
  • Libraries/APIs

    REST APIs, React Redux, React, jQuery, Node.js, Ruby on Rails API, Vue.js, D3.js
  • Tools

    Mocha, Karma, NPM, Stylus, Adobe Photoshop, Adobe Illustrator, Git, Prisma
  • Paradigms

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

    WordPress, Android, iOS, Drupal, Drupal 7, Firebase, MacOS, Linux, Drupal 8, Google Cloud Platform (GCP)
  • Other

    UI Testing, Chrome Extensions, Styled-components, KMM, Kotlin Multiplatform Mobile, WebSockets, Serverless, Chromecast, ProcessWire CMS, Cordova, Redis Streams, Redis PubSub
  • Storage

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

Education

  • Bachelor's degree in Education
    2009 - 2010
    University of British Columbia - Vancouver, BC, Canada
  • Bachelor of Arts degree in French and Spanish
    2004 - 2008
    York University - Toronto, ON, Canada

To view more profiles

Join Toptal
Share it with others