Web designer turned front-end developer.
Looking for full-time or contract work.

About me

Summary

Currently studying and building apps with Vue, Nuxt, Pinia, Next, TypeScript and React. I've completed full-stack React, Redux & MongoDB, as well as Modern React/Redux, and JavaScript, Node & Express, and PHP and MySQL courses over the last few years.

Completed a one year contract for North Western Melbourne Primary Health Network as a front-end developer in June 2023. I currently volunteer with TreeProject, a Victorian NGO, run a web-startup, and design and host websites via my agency EA Digital.

Work Experience

I worked at North Western Melbourne Primary Health Network as a front-end web developer until June 2023. I created custom components for a system that clinicians use to make assessments and referrals, improved the system's UI/UX, and created wireframes and design briefs. The stack was built on AWS and included Python, Flask, and Jinja; I mainly worked with JavaScript and Bootstrap. We used CI/CD, agile techniques and collaborated via Git and Github.

I've also volunteered at TreeProject since 2020 as a web designer and developer. I design and host WordPress and Joomla websites for various clients through EA Digital. I also run an eco-startup called Echo Active in my spare time.

Background

I've got degrees in Science and Law and have worked as a lawyer, in small and large businesses, and have run a successful consulting business. See my LinkedIn for more about my work history.

My Apps

My latest app, growBook, was built with Nuxt, Vue, Prisma and Tailwind. I've also listed apps that I've built with Next and TypeScript, the MERN stack, and React.

App Showcase


App icongrowBook

App widescreen screenshot

An app that lets growers upload images and info about their favourite plants. growBook was built with Javascript frameworks Nuxt and Vue, Prisma and Tailwind CSS.

App mobile screenshot

Plant images and info are stored via a PostgreSQL database, cloud-hosted on Supabase. Supabase also takes care of user authentication and image storage. The app connects to PostgreSQL via Prisma ORM.

Feel free to register and login via email and add a plant.

Key skills

  • Nuxt, Vue, Prisma ORM
  • SSR (server side rendered)
  • Supabase Authentication, Google OAuth
  • PostgreSQL database, images hosting via Supabase
  • Site hosting via Vercel

View Code: My Github

App iconMyHaiku

App widescreen screenshot

MyHaiku lets users create and share haiku. It was built with NextJS, TypeScript and Tailwind CSS.

App mobile screenshot

Haiku text and author data is stored online via a PostgreSQL database hosted on Vercel. The app connects to this database via Prisma ORM.

Feel free to login via Google and add your own haiku!

Key skills

  • TypeScript, NextJS, SSR
  • Prisma ORM and CLI
  • NextAuth and Google authentication
  • Vercel hosted site and PostgreSQL database

View Code: My Github

App iconVoteNow

App widescreen screenshot

VoteNow lets users send single click email surveys to a mailing list and monitor feedback.

App mobile screenshot

Users log in using Google, add credit via Stripe and create a survey that they send to an email list. Recipients then vote by clicking a link in the email and the resulting webhook click data is stored in MongoDB.

This app was adapted from a Node with React: Fullstack Web Development course.

Key skills

  • MERN Stack: Mongo, Express, React/Redux, Node
  • Stripe, Google, SendGrid and MongoDB APIs
  • User accounts and credit, and surveys details and clicks are stored in MongoDB
  • Webhooks via SendGrid

View code: My Github

App iconThis Portfolio Website

App widescreen screenshot

App mobile screenshot

This site was built with a JS framework called Gatsby. Gatsby uses React components and JSX, but unlike typical React apps, it features server-side-rendering to speed up loading times and improve SEO.

Key skills

  • GatsbyJS framework and plugins
  • SSR (Server side rendering)
  • SASS (Syntactically awesome style sheets)
  • MDX (Markdown components)
  • Hosting via Netlify

View Code: My Github

App iconMyBooks

App widescreen screenshot

MyBooks lets users create a personal book collection.

App mobile screenshot

The app was adapted from a React/Redux course. Users can authenticate via Google, search via the Google Books API and add links, and edit, update and delete books.

Key skills

  • React, React Hooks, ES5 and ES6 syntax
  • Redux, Redux-Thunk
  • Google Auth, Google Books API via Axios
  • React Final Form
  • Heroku CLI & hosting

View Code: My Github

App iconKurzTube

App widescreen screenshot

Kurztube connects to the YouTube API and lets users search for and play a video.

App mobile screenshot

It was adapted from a React course and features a custom hook that extracts video-fetching logic and makes it available to all components. A key adaptation made was to create mobile and widescreen modes set via component state.

Key skills

  • React, React Custom Hooks
  • Google YouTube API calls
  • Netlify hosting

View Code: My Github

App iconPlants 'n Things

App widescreen screenshot

Plants 'n Things is a plant shop, built with vanilla-JS, a custom Node server, Express and HTML templates.

App mobile screenshot

The app was adapted from a JS course. Forms are validated manually, cookies allow users to add items to a cart without signing in. Encryption lets admins securely create an account and add products and images.

Product data, users, shopping carts and images are stored in JSON.

Key skills

  • Node, Express, HTML templating
  • Cookie-session (Node module), user management
  • Encryption, secure passwords (salting and hashing)
  • Heroku CLI & hosting

View Code: My GitHub

Thanks for visiting!