Joe Tyler's Portfolio

Take a tour around my coding projects

View on GitHub

🎭 Brat Snaps Webcam Widget

A playful retro-styled webcam app, ‘Brat Snaps’ built with p5.js, featuring custom visual filters, simple ML-powered face detection, and a grid-based snapshot gallery.

🧠 Concept

Brat Snaps is a lightweight javascript graphics app designed around a deliberately kitschy ‘brat-summer green’ aesthetic. The idea was simple: take a webcam photo, then instantly generate a 3x6 grid of stylised variations of your face.

Each tile applies a different visual effect - some built using p5.js native tools, others implemented from scratch after researching analogue video systems (PAL), colour-space transformations (CMYK), gamma adjustment, and blur techniques. One tile uses a machine-learning model (objectdetect) to detect a face and let the user swap it for something else, adding a playful, slightly chaotic twist.

🧩 My Role

🛠️ Tech Stack

p5.js • VS Code • JavaScript • HTML • objectdetect (ML model) • Custom image-processing algorithms

🔧 Process

Goal

To build a simple, browser-based webcam app that generates a playful grid of stylised self-portraits using both built-in and custom image-processing techniques.

Constraints

Approach

Key Decisions

🎥 Media

bratsnaps application grid view
BratSnaps Demo
colourspace algorithm code snippet
Code snippit for PAL colourspace conversion algorithm
bratsnaps face found image
Face Detected
bratsnaps filter effects on face tracked livefeed
Face Tracking Filters
screenshot of moving filters and mixing colours
Extra Filters

⭐ Reflections

What worked

What I’d improve

What I learned