I'm a software developer with a focus on high-interactivity web apps.
I love building things that do stuff.
I leverage my unconventional background in client care and 3D product design to create user-centric, accessible UI for delightful user experiences. I believe in the power of the internet to connect people, and seek to build and foster online spaces that empower genuine communities.
My favourite tools include TypeScript, React, Svelte, Node.js, Redis, and PostgreSQL, but nothing makes me more excited than learning something new.
As of Sept 2024, I have gone back to school to formalize my computer science education and expand my industry-relevant knowledge-base to other areas of software development, including Python, Java, and C.
I'm passionate about science and science communication; queer culture, fan culture, and the intersection of the two; musical theatre; and Dungeons & Dragons.
Interested in working with me? Drop me a line. I am currently looking for a 4-8 month co-op/internship position starting May 2025.
Why "VCat"? I often work in communities with a culture of pseudonymity. In the interest of having all my work in one place, I have chosen to present this portfolio under the name I use for dev work in those communities.
-
Role: Steering Team Member, Engineering Team Member, Contractor
Tech: TypeScript, React, Next.js, React Query, Storybook, Jest, Node.js, Express, PostgreSQL
BobaBoard is an Open Source project building a decentralized social media platform for fandom communities, with the larger goals of promoting a free and open web, and helping people from marginalized communities get into tech by making web development skills and education accessible to people from transformative fandom.
I have been involved with BobaBoard since 2021 as both a volunteer and paid contributor. I was responsible for building our Realm invite system and Realm permissions (full stack), as well as numerous modular contributions throughout the codebases, including debugging history navigation issues and making the editor modal minimizable.
"I've been continuously impressed by VCat's ability to deliver consistently high-quality work with little guidance. When faced with a new codebase, programming language or library, they have demonstrated an uncanny ability to dive in, independently get up to speed, and quickly become familiar with all that's needed to make progress."
-
Role: Maintainer
Tech: TypeScript, React, Storybook, TipTap/Prosemirror, TurboRepo, Vite
Astrolabe is a new Open Source WYSIWYG editor (extending TipTap/Prosemirror) that we intend to both use for BobaBoard and ensure is easily accessible to other fandom projects of all sizes (including both large community projects and individuals building independent personal sites), with the goal of better data-sharing and portability amongst community infrastructure. For more information on our goals, please see the design doc.
Boba Editor Next (BEN) is our initial experimental implementation of the design for Astrolabe.
-
Role: Contractor - Project Lead
Tech: TypeScript, React, Next.js, Tailwind, Shopify
I project-managed and led programming of a new e-commerce front-end, including overhauling and restructuring the Next.js commerce template to align with mockup from designer and meet evolving business requirements.
I also coordinated and executed the migration of the existing e-commerce back-end from Ecwid to Shopify to minimize work needed from the client to ensure the new store was ready for the target launch date.
-
Personal Solo Project
Tech: TypeScript, Svelte, Sveltekit, Socket.IO, Redis, Prisma, Zod, PostgreSQL
A party game for adults with an emphasis on consent and negotiation. All the fun of Truth or Dare or Spin the Bottle, but each player gets to curate their own dare pool, letting everyone relax and not worry they are going to be asked to do something outside their limits or put unwelcome pressure on anyone else.
Both the game design and the website are currently in the alpha stage, with on-going development of all features and a number of additional features planned for the future.
-
Role: Contractor
Tech: TypeScript, Astro, SCSS
I designed, built, and deployed this marketing website for a small business specializing in t-shirt printing.
I leveraged SCSS to generate a semi-random rainbow gradient of stars for the hero background that is slightly different with each build of the website.
-
Academic Solo Project, continued as Personal Solo Project
Tech: Python
A CLI game of time-travel and weaving rainbows. I developed an algorithm for sorting colour sequences based on the player’s response sequence to create a unique play experience, and implemented a 9x3 (X, Y) coordinate system using a 2D list to create a map and allow the player to win clues to whether they are getting closer or farther from the randomly located level goal.
As this is an academic project, please contact me directly for the GitHub link.
-
Academic Group Project
Tech: JavaScript, jQuery, HTML, CSS, Bootstrap, Firebase Auth, Firebase Firestore
I led our three-person Agile team in building a demo for a web app to help Canadians find and track healthcare information across government agencies and websites. I designed and implemented the Firebase Firestore database structure, leveraging keyword aliases to group related information and allowing users to subscribe to fine-grained subsets of results. Future work towards a full implementation could include the webcrawler needed to gather the page data from the source sites.
As this is an academic project, please contact me directly for the GitHub link.
-
Solo Project
Tech: TypeScript, Svelte, Vite
A Dungeons & Dragons initiative tracker for our homebrew initiative system. This initiative system was created by my DM's DM in the 1980's for 1st edition AD&D. I have adapted it for 5E using the house rules described on the site.
A quick little app put together with Svelte and Vite that has made running my game a whole lot easier.