Hi, I'm Curtis
As a Vancouver BC-based web developer, I'm currently enriching the tech team at 14 Oranges. My journey to web development started at Apple, where I held a Lead position. There, I orchestrated product releases, managed repair initiatives, and facilitated new store inaugurations. My driving force? A dynamic team and engaging challenges that ignite my passion every day. I'm always looking for new opportunities to learn and grow.
Coffee Shops - Discover and Favourite Coffee Shops near you!
This project served as a learning tool for me to get more familiar with the advanced features of Next.js and to learn more about the use of Airtable as a database. I also wanted to learn more about the use of SWR to handle data fetching and caching. I wanted to learn about creating API routes and using Airtable to store data.
Nextjs Tailwind Template
This is a Next.js, Tailwind CSS starter template intended to be used as a portfolio or personal website. It comes out of the box configured with the latest technologies, tools, and best practices. It's built to be easily configured, customized and extended. It's also fully responsive and mobile friendly.
E-commerce Website with TypeScript, React, Redux and Firebase
This is a project that I built while learning React and Redux. It is a fully functional e-commerce website that allows users to sign in with their Google account, add items to their cart, and make payments with Stripe. It is built with TypeScript, React, Redux, Firebase, Stripe, and Tailwind.
React Hooks: useRef & forwardRef
I never truly understood when I should use Reacts useRef hook. It felt similar to useState, but I never really understood the difference. I also never understood when I should use forwardRef. I will explain both of these hooks and when you should use them.
I was reading some code and saw this nullish coalescing operator (??) which I had never seen these before, so I decided to look them up and write a blog post about them. I have always used the logical OR (||) operator to check for null or undefined values, but I learned that there is a better way to do it.
This article will help you get started making GraphQL queries and mutations. It covers the basics of creating a schema, queries, and mutations.
Basics of Go
Go is a programming language that is gaining popularity. It is a statically typed language that is compiled and has a garbage collector. It is a language that is easy to learn and has a lot of resources available for learning. In this article, we will learn the basics of Go.