Vinnie
Garcia

windows into an alternate perception, made by a creative technologist

My apps Lightdab ↗ VeganSwap ↗

Things I make & write

Newest first

Experiment

Echo tuner

Shape an echo with delay time, feedback, mix, and tone. Try a synthesized test sound or use your microphone with headphones on your phone, tablet, or computer.

Article

Chasing Waking Life

how my WebGL camera experiments became Lightdab

A movie, a browser camera, and the jump to an iPhone app that paints photos and video.

A sunset beach painted by Lightdab's Ink & Color look.
Interactive explainer

How a painting filter works

How the Kuwahara filter turns a photo into a painting: compare it with a blur, tap any pixel to watch it choose, and see the eight-sector version run live.

A sunset beach and the four neighborhoods around one pixel in the Kuwahara explainer.
Experiment

Perspective figure

Explore figure and head perspective with posable models, construction boxes, camera lenses and vanishing-point guides. Export a drawing reference or transparent overlay.

A posed figure surrounded by blue perspective construction boxes.
Experiment

Light study

Study light and shadow on a white sphere. Adjust light direction, size, reflected light and camera lens, then compare contours, blurred values and value bands.

A white sphere lit from the left, with its cast shadow and light guide.
Experiment

Trip simulator

Explore psychedelic-inspired camera art with breathing warps, melting feedback, motion trails, and repeating edges. A visual effect, not a drug simulation.

Experiment

Sumi ink camera

Turn a camera image into sumi-e-inspired ink washes. Learn how smoothing, tapered edge strokes, dry-brush texture, and simulated paper bleed create the look.

Experiment

Pencil sketch

Explore a live pencil sketch filter with directional contours, tone-driven hatching, cross-hatched shadows, colored pencil, and procedural paper texture.

Experiment

Watercolor camera

Explore a live watercolor camera filter built from Kuwahara smoothing, soft tone layers, simulated wet edges, pigment variation, and procedural paper.

Experiment

Value finder

Study a camera image as two to five gray values. Use squint blur, a lightness split, and a pixel probe to explore notan and painting composition.

Experiment

Skate cam

Make a live skate-video look with fisheye-style distortion, VHS color smear, scanlines, tape noise, and a date stamp. Learn how the WebGL effects combine.

Experiment

Live visuals

Create audio-reactive camera visuals with glowing edges, posterized colors, and feedback trails. Learn how frequency bands and onset detection drive the image.

Experiment

How a computer finds edges

Learn Sobel edge detection with a live camera walkthrough: grayscale, Gaussian blur, horizontal and vertical gradients, edge strength, and thresholding.

Experiment

Cel shade camera

Turn a live camera image into a cartoon with Kuwahara smoothing, tone bands, and Sobel outlines. Explore how each stage shapes the cel-shaded look.

Experiment

Assist cam

Compare color vision deficiency simulation, experimental daltonization, and bold camera outlines. Learn the color transforms and their accessibility limits.

Experiment

3D anaglyph camera

Try a red-cyan anaglyph camera filter and learn how channel separation creates binocular disparity from one image, without reconstructing scene depth.

Experiment

Composition analyzer

Compare composition grids on photos and artwork. Overlay thirds, golden spirals and diagonals, with optional object-detection alignment scores, not beauty ratings.

Experiment

Mantis shrimp vision simulator

A mantis shrimp-inspired camera effect with vivid color and animated edge shimmer. Explore its WebGL shaders and why it is not literal animal vision.

Experiment

Dog vision simulator

Explore a simplified dog color vision filter, with blue-yellow color mapping and illustrative blur and contrast controls. Learn what it cannot simulate.

Experiment

Heartbeat synthesizer

Explore camera-based pulse detection as a sound experiment with synth clicks, stereo tones, and MIDI clock. An educational demo, not a medical heart-rate monitor.

Experiment

Tape measure: thirds & tenths

Compare thirds, tenths, and decimal inches with 1/16-inch tape marks. See the nearest fraction and rounding difference on an illustrative, uncalibrated screen ruler.

Experiment

Barnstone studio

Compare cage spheres, interlocking bands and an Escher-inspired sphere in one interactive drawing studio, with adjustable geometry and construction guides.

Experiment

Camera color sampler

Sample nine points in a camera image and explore approximate Munsell-style hue, value, and chroma labels. Learn the limits of this RGB-based demonstration.

Experiment

Particle physics simulator

Experiment with bouncing spheres, gravity, elasticity, friction, and air resistance in a 3D box. Learn how overlap correction and collision impulses work.

Experiment

Ambient audio visualizer

See microphone sound as colored frequency bars. Learn how a Web Audio analyser turns short sound samples into a spectrum, and how that differs from a waveform.

Experiment

3D audio visualizer

Turn microphone input into rotating 3D frequency bars with Web Audio and Three.js. Explore how frequency bins control bar height and color.

Experiment

Value slides

Adjust lightness and chroma in a CSS OKLCH color wheel. Compare neutral and colorful regions and learn why Munsell labels are only a conceptual reference.

Experiment

Interactive OKLCH color explorer

Explore OKLCH hue, lightness, and chroma in 3D. Adjust the color grid, click spheres for coordinates and hex values, and learn how OKLCH differs from Munsell.

Experiment

Customizable particle pulse

Create branching particle trails with adjustable pulse intervals, colors, and particle counts. Learn how eight launch directions and random turns make the pattern.

Article

Things I believe about technology in 2025

Here are some things I believe about technology in 2025. I've had varying beliefs about it over my ~25 year career, and it will change again, so this is a snapshot in time. Here goes: Technology is for things or...

Article

You are a human

You are a human. You are not a robot. You are not a machine. You are not a computer. You are not a program. You are not code. You are not a script. You are not data. You are not...

Article

Tending to the garden

You have to get organized, Vinnie! My dad seared these words into my brain when I was a teenager. I didn't understand them at the time, or maybe I didn't want to understand. But not being organized has bitten me...

Article

Habituation

Watch your thoughts, they become your words; watch your words, they become your actions; watch your actions, they become your habits; watch your habits, they become your character; watch your character, it becomes your destiny. - Lao Tzu I'm a...

Article

Rules for being human

handed down from ancient Sanskrit

You will receive a body. You will learn lessons. There are no mistakes, only lessons. A lesson is repeated until it is learned. Learning lessons does not end. "There" is no better than "Here." Others are merely mirrors of you....

Article

Just start

I often think of an idea. Then I write it down. Then I make plans to work on it. Then I don't work on it. I made plans to work on this site for 10 years. I haven't touched it....

Experiment

Posable figure

Pose a sculpted figure with named movement controls. Study construction boxes, cut a section through the posed surface, and save a drawing reference or outline.

About me

I make things: the experiments above, other code for other reasons, plus music, art, long walks, and more. Husband to an artist, father to two young men, dog dad to three. The people and the making feed each other.

All writing → Photo of Vinnie Garcia