Welcome to

Hiring Stu

You’re busy. So here’s the important info about me to help you know if I’m a good fit in your team within the next 115 seconds.

By Stuart Robinson

Fullstack developer.

6 years professional experience.

3 years with React.

Full Stack

from start to finish

First, here’s a look at a highlight reel of SAAS tools I’ve built (independently, from concept through to design and coding)

Yoga studiomanagement andbookings platform

React

Next.js

TypeScript

Tailwind CSS

MySQL

Framer Motion

Stripe

Mailgun

Vitest

Playwright

  • Responsive calendar view

  • Recurring class editor

  • Custom subscriptions and trials

  • Email reminders

  • Team permissions

  • Bank payouts built with Stripe Connect

  • Webhooks to trigger marketing flows

  • Over 150+ yoga students managed

Example
UX Flows

Creating a recurring class (as a teacher)
Making a guest booking (as a student)
Creating a subscription (as a teacher)

Google Driveupload managerwith shareableupload links

React

Next.js

TypeScript

Tailwind CSS

Framer Motion

Google Cloud API

Stripe

Mailgun

Google Drive API

Vitest

Playwright

  • Secure file uploading to Google

  • Customizable form builder

  • Google Sheets integration

  • Team access with multiple organizations

  • Email reminders

  • HIPAA compliance

  • 2500 monthly active users

Example
UX Flows

Editing an upload form (as an admin)
Uploading files (as a user)
Updating subscription seats (as an admin)
React Logo

Frontend Dev

without limits

Next, I’ve prepared a selection of my components from existing projects for you. Each gives a solution to an advanced frontend problem.

Keeping the virtual DOMin sync with the DOM withconditional re-rendering

Goal

A segmented textarea with drag control to adjust the segments.

Problems

We can’t control or style children elements within a regular textarea.

Solution

  • We render each segment as a span within a contenteditable div.
  • We parse the DOM to update the React state when the user inputs text into any segment span.
  • And use React.memo to keep the DOM in sync with React without unnecessary re-renders.
  • (We also use a keyboard controllable cursor for accessibility when in drag or split mode)

Type

Drag

Split

A drop-in replacementfor input withauto-formatting

Goal

A simple-to-use input component that automatically formats the user’s input for phone numbers, currencies, credit cards, etc.

Problems

  • If we just overwrite the input value with formatting we lose the original value.
  • There are lots of edge cases to handle when handling selection ranges, deletes, inserts, and pastes.

Solution

  • We keep a record of the underlying value at all times and convert all user changes made to the formatted input back to what the actual change to the real value will be.
  • We use extensive testing to ensure all edge cases are handled.

( 12 ) 345 - 6789

29 / 07 / 1954

12,345,678.90

AB1 # XY2 // 1234

Workin’ with Stu

what’s it like?

Finally, here’s 3 things I think you’ll value having in your team...

Code fundamentals

20 years of coding (started making games at age 8). Genuine passion for problem solving and deep expertise in the domain.

Big picture mindset

I work from the top down starting with biz goals, to architecture trade-offs, to which button to use.

Independent team player

Crystal-clear communication. Zero hand holding required.

Stu has consistently been able to increase efficiency, reduce risk, and improve accuracy significantly in all algorithms and mathematical models I have with him worked on.

Flynn Valentine-Robertson

Senior Statistical Analyst

Reserve Bank NZ logo

Stuart has demonstrated highly developed business understanding, project management skills, and superior communication ability.

Emil Eldevig

Business Development Rep

Salesforce logo

Stu has a really sharp problem solving mindset. And he always has insightful ideas, exceptional attention to detail, and always has a positive attitude too.

Diego Pineda

Account Manager

apollo.io logo

Stuart has been a fantastic hire for us. We’re so happy he’s joined the team. He tackles problems head-on, communicates clearly, and is always looking for ways to improve our systems.

You?

GitHubLinkedIn