Marnus Weststrate, Developer in Royal Tunbridge Wells, United Kingdom
Marnus is available for hire
Hire Marnus

Marnus Weststrate

Verified Expert  in Engineering

Full-stack Developer

Location
Royal Tunbridge Wells, United Kingdom
Toptal Member Since
May 23, 2016

Marnus is a full-stack JavaScript, React, and React Native developer with 14+ years of experience in web development, performance optimization, and architecture design. He has led teams of different sizes and development paradigms and managed and built multiple products from inception to production. Marnus is passionate about building and improving products that make the work of others more efficient and enjoyable. He communicates well and is active in the open source community.

Portfolio

Flix Premiere
MySQL, Apollo, Redux, Node.js, React, React Native, React Native for Web...
BioSort
TypeScript, React, Node.js, REST APIs, CSS, HTML5, Material UI, Konva...
PropertyClan
React Native, Expo, TypeScript, React, React Native for Web, Node.js, TypeORM...

Experience

Availability

Part-time

Preferred Environment

Git, Node.js, Redux, React, JavaScript, TypeScript, React Apollo, React Native, SQL

The most amazing...

...product I've built is Flix Premiere, a video streaming app for independent film spanning 19 different platforms across web, iOS, Android, and smart TV/OTT.

Work Experience

VP of Software Engineering

2016 - PRESENT
Flix Premiere
  • Led the design and development teams in building an enterprise video streaming platform for independent film distribution on 19 different platforms across web, iOS, Android, and smart TV/OTT, with 280,000+ user sign-ups to date.
  • Managed and worked in the development team comprising in-house developers and contractors that released the initial product in four months on the web and native mobile at the 2016 Cannes Film Festival.
  • Rewrote the front-end web app from scratch after the initial launch using React and Redux, reducing the bounce rate by more than 60%.
  • Rewrote the mobile and smart TV/OTT apps in React Native and React Native web to consolidate all apps in a single codebase with a reusable API client and business logic. Increased maintainability and reduced the codebase by over 50%.
  • Led the improvement and build-out of admin and CMS features for effective content management of thousands of films and actors and added integrated release scheduling, video ingest and encoding, email campaigns, and blog and press release management.
  • Implemented a basic video and subtitles editor for clipping from films and splicing these together to form trailers to post on social media. Reduced the time spent by content creators by as much as 40% per asset.
  • Created an image editor with Konva and HTML5 Canvas to quickly convert film screenshots to social media assets with cropping, text, and other overlays, such as logo images, and automatic resizing to the specs of different social platforms.
  • Mentored junior developers to become productive team members.
Technologies: MySQL, Apollo, Redux, Node.js, React, React Native, React Native for Web, Bootstrap, CSS3, Video Streaming, JavaScript, Styled-components, Canvas, Canvas 2D, Linux, Functional Programming, NGINX, Amazon S3 (AWS S3), REST APIs, CSS, HTML5, React Redux, Express.js, Konva, Jira, HTML5 Canvas, APIs, API Integration, Docker, Responsive UI, JSON, Full-stack, UX Design, Video Encoding, Media Encoding, Stripe, Stripe API, Laravel, PHP MVC, HTML, Amazon Simple Email Service (SES), Twitter API, Amazon Web Services (AWS), Microservices, Serverless, Web Development, Agile, Architecture, Leadership, DevOps, Software Design, Requirements Analysis, Mobile, Streaming, Scalable Architecture, Blockchain, REST, Cloud, Integration, Scalability, Performance

React Developer

2022 - 2022
BioSort
  • Collaborated with BioSort's computer vision team and back-end engineers, actively driving the UX design of the annotation front end and influencing the back-end API design.
  • Added an easy-to-use segmentation tool for creating segmented outlines around fish using React Konva and HTML5 Canvas.
  • Extended the React front end with an image browser to quickly review and tag large image datasets containing thousands of images for creating annotation tasks.
  • Rewrote more than 95% of the Redux logic to untangle interdependent reducer functions, ensuring good performance with even tens of thousands of annotations, reducing the surface area for bugs by over 50%, and ensuring long-term maintainability.
  • Modernized the integration with the REST API back end by moving data fetching out of Redux and using React Query for a simple, elegant, and optimized solution.
  • Refactored and simplified numerous React components, particularly those for rendering the actual annotations and tools for creating them. By encapsulating this logic, enhancements and bug fixes now take minutes rather than hours.
Technologies: TypeScript, React, Node.js, REST APIs, CSS, HTML5, Material UI, Konva, React Redux, HTML5 Canvas, Docker, Image Annotation, Computer Vision, APIs, HTML, Git, Swagger, UX Design, Functional Programming, Redux, Canvas, Canvas 2D, Web Development, Agile, REST

Co-founder and CTO

2019 - 2022
PropertyClan
  • Led the product design and development of the PropertyClan iOS and Android apps for individual property investors to discover and invest in new property developments, selling 40+ properties in the first 1.5 years.
  • Implemented extensive financial modeling and projections of property investment opportunities, the back-end infrastructure, admin interfaces, and push notification services.
  • Created a chatbot by integrating WhatsApp with the IBM Watson Assistant chatbot AI and Intercom for manual intervention while storing data inputs in the PropertyClan system and augmenting the conversation.
  • Built a web scraper for crawling property websites to analyze thousands of daily listings and aggregate property value and rental figures over time by area.
  • Integrated Freshsales CRM to capture Facebook and landing page leads and app sign-ups in real-time and send Slack notifications to sales agents.
Technologies: React Native, Expo, TypeScript, React, React Native for Web, Node.js, TypeORM, SQL, Next.js, Styled-components, Amazon Web Services (AWS), GraphQL, Apollo, NGINX, Functional Programming, Linux, Express.js, Apollo Server, APIs, API Integration, JSON, Full-stack, UX Design, Real Estate, Residential Real Estate, Software Design, Requirements Analysis, Mobile, Scalable Architecture, Firebase, REST, Cloud, Integration, Web Scraping, Scraping

Lead Developer

2014 - 2016
Inventorsspace
  • Designed the workflows and user experience of the Inventorsspace web app.
  • Implemented the web front end in React, initially using the Fluxible framework and later migrating to Redux with Sass and CSS3 for the style sheets.
  • Created the REST API of the app in Node.js using the Sails.js MVC framework.
  • Experimented with a client-side data layer that could use GraphQL introspection for effective querying and normalization of data into a normalized client-side cache.
Technologies: SQL, Sass, Node.js, React, JavaScript, CSS3, Redux, CSS, React Redux, REST APIs, SCSS, HTML

Owner | Lead Developer

2013 - 2014
MW Consult (Self-employed)
  • Wrote an AngularJS application for exporting data and configuring an embedded missile subsystem via an API built with the above MVC framework, including a Java applet for managing queued downloads of many large files.
  • Coded an embedded MVC framework to enable easy implementation of web APIs for embedded systems in C++, using the Mongoose web server written in C.
  • Wrote the initial API and admin interface for hearscreen.co.za, part of the hearX Group, for storing audiology screening test results online using AngularJS and PHP, Zend Framework 2, and MySQL.
Technologies: SQL, PHP, JavaScript, C, C++, CSS3, AngularJS, Zend Framework, REST APIs, CSS, HTML, Full-stack, PHP MVC, UX Design, JSON, APIs, Software Design, Requirements Analysis

Co-founder | Lead Developer

2009 - 2013
Property Frontier
  • Collaborated with a chartered accountant to conceptualize and design the propertyfrontier.com application and workflow, which allows property investors to view financial projections and track portfolio performance.
  • Wrote a financial modeling module for projecting investment property performance any number of years into the future with parameters that can be configured over time.
  • Architected and implemented the server-side code and API in PHP using the Zend Framework with CouchDB for storage.
  • Coded the client-side app using JavaScript MVC, including a custom client-side data layer and cache and the integrated financial modeling module.
Technologies: CouchDB, PHP, Sass, JavaScript, JavaScript MVC, Zend Framework, CSS, HTML5, REST APIs, SCSS, HTML, APIs, API Integration, JSON, Full-stack, PHP MVC, UX Design, UI Design, NoSQL, Real Estate, Residential Real Estate, Requirements Analysis, Software Design, REST

Electronic and Software Engineer

2010 - 2011
Denel Dynamics
  • Created measurement automation software in LabVIEW for measuring and storing on-wafer micro-sensor response characteristics with multiplexed probes.
  • Wrote a C++ application for parsing raw flight test data files with fully configurable data types into structured HDF5 files that could be analyzed with MATLAB.
  • Rewrote an embedded bootloader that could be used to reprogram various embedded devices in a system over a network in C.
Technologies: LabVIEW, Embedded Systems, C, C++, UI Design, UX Design

Flix Premiere

https://flixpremiere.com
Flix Premiere is an enterprise streaming platform for independent film. It's available in the US and UK, and 250,000+ users have signed up. As VP of engineering, I oversaw the design and development teams, comprising in-house developers and various contractors, in developing video streaming apps covering 19 different platforms across web, mobile, and smart TV/OTT.

I wrote the bulk of the code for the client apps, including a React web app, React Native iOS and Android apps, and smart TV/OTT apps for Apple TV, Android TV, LG, Samsung, Xbox, and many more. Because we used react-native-web, most of the UI components and business logic can be reused across all these apps, which improves maintainability. We used React Apollo to implement a single API client shared across all the apps for normalized, client-side data caching.

The admin and CMS back end allows for effective content management of thousands of films and actors. We also added integrated release scheduling, video ingest and encoding, email campaigns, and blog and press release management. The back end is written in PHP using the Laravel framework, and it uses an event sourcing and CQRS architecture.

Date-fns-tz Open Source Library

https://www.npmjs.com/package/date-fns-tz
This library provides time zone support for the popular date-fns JavaScript library and currently has more than 2,000,000 downloads per week from npm.

Working with ISO date strings and JavaScript dates is easy when all times are displayed in a user's local time in the browser. The difficulty comes when working with a local time zone that differs from the current system's time zone; for example, on a Node.js server or when showing the time of an event in a specific time zone, such as an event in Los Angeles at 8:00 PM PST, regardless of where a user resides.

In this library, I used the JavaScript Intl API in a novel way to enable dates to be formatted for any time zone without bundling any time zone database files. This solution keeps the browser code bundle size to a minimum.

React-css-transition-replace

https://www.npmjs.com/package/react-css-transition-replace
A React component to animate the replacement of one element with another. While ReactCSSTransitionGroup does a great job of animating changes to a list of components and can even be used to animate the replacement of one item with another, proper handling of the container height in the latter case is not built-in. I designed this component to do exactly that with an API closely following the ReactCSSTransitionGroup API. This library currently has more than 13,000 downloads per week from npm.

Property Frontier

https://propertyfrontier.com
Property Frontier is a web app that helps property investors take control of their property portfolios and choose the best properties to buy. It provides detailed financial modeling for projecting investment property performance over any number of years with parameters that can be varied over time.

I built the full-stack app single-handedly, from the ground up, using the JavaScriptMVC framework, Zend PHP, and CouchDB. This was the first major web project I worked on with a chartered accountant.

When server-side apps were the norm and client-side JavaScript frameworks for building client-heavy apps were only emerging, we achieved fast response times by running all the app logic in the client after initial data fetching. The app logic included financial modeling and projections.

Languages

CSS3, Sass, JavaScript, CSS, HTML5, SCSS, HTML, C, C++, PHP, SQL, TypeScript, GraphQL

Frameworks

Redux, Express.js, React Native, Bootstrap, JavaScript MVC, Next.js, Swagger, Zend Framework, AngularJS, Laravel, PHP MVC, Material UI

Libraries/APIs

React, Node.js, React Native for Web, React Redux, REST APIs, Konva, HTML5 Canvas, Stripe, Stripe API, Twitter API, Facebook API

Tools

React Apollo, Git, Amazon Simple Email Service (SES), Canvas, Canvas 2D, Expo, Jira, LabVIEW, Amazon Simple Queue Service (SQS), NGINX

Paradigms

Functional Programming, Requirements Analysis, REST, UX Design, Agile, DevOps, UI Design, Microservices

Storage

Amazon S3 (AWS S3), JSON, PostgreSQL, MySQL, CouchDB, NoSQL

Other

Apollo, Video Streaming, Styled-components, TypeORM, APIs, API Integration, Full-stack, Responsive UI, Web Development, Real Estate, Residential Real Estate, Software Design, Streaming, Embedded Systems, Apollo Server, Electronics, Computer Engineering, Architecture, Leadership, Image Annotation, Scalable Architecture, Video Encoding, Media Encoding, Cloud, Integration, Web Scraping, Scraping, Performance, Serverless, Computer Vision, Scalability

Platforms

Linux, Docker, Amazon Web Services (AWS), Mobile, Firebase, Blockchain

2009 - 2011

Ph.D. in Microelectronic Engineering

University of Pretoria - Pretoria, South Africa

2008 - 2008

Honor's Degree in Microelectronic Engineering

University of Pretoria - Pretoria, South Africa

2004 - 2007

Bachelor's Degree in Computer Engineering

University of Pretoria - Pretoria, South Africa

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