Skip to content
What I've built

Frontend Projects and more

React, Next.js, TypeScript, Sanity and Shopify builds — each one with the problem, the solution and the result.

Unique Fabric Panels — Shopify Store — Work project preview
Work

Unique Fabric Panels — Shopify Store

A custom Shopify store that moved a fabric business off social media and into a clear, search-ready online shop.

Shopify
Liquid
Figma
Diana Voloshina — Wedding Planner — Freelance project preview
Freelance

Diana Voloshina — Wedding Planner

A calm, editorial site that lets couples compare packages and send fully qualified enquiries.

Next.js
TypeScript
Sanity
Find Your Spot — Travel App — Personal project preview
Personal

Find Your Spot — Travel App

A mood-first discovery app that turns “what should we do?” into three quick choices and a curated deck of Ottawa spots.

React
JavaScript
Tailwind CSS
CICan — Campus Living Labs Report — Work project preview
Work

CICan — Campus Living Labs Report

An interactive report that turns eight micro-grant projects into a filterable, bilingual case-study collection.

React
TypeScript
Tailwind CSS
Personal Portfolio — Personal project preview
Personal

Personal Portfolio

A custom-built portfolio that pairs case studies with a performance- and accessibility-first React stack.

React
TypeScript
Tailwind CSS
CAOT — Advocacy Website — Work project preview
Work

CAOT — Advocacy Website

A new advocacy platform for CAOT — brand direction, prototypes and a custom-coded Squarespace build.

Squarespace
Figma
JavaScript
Loopstudios Landing Page — Study project preview
Study

Loopstudios Landing Page

A 1:1 recreation of a VR brand landing page, built with semantic HTML, CSS and vanilla JavaScript.

JavaScript
HTML
CSS
Contact Book — Study project preview
Study

Contact Book

A Vue single-page contact manager with search, sorting and edits that persist in local storage.

Vue
Vite
JavaScript
Notifications App — Study project preview
Study

Notifications App

A compact React app for triaging notifications: dismiss one, clear all, and watch the count update.

React
Vite
JavaScript
Let's talk