~/todd-fleeman/portfolio — session log

Todd Fleeman

Technical Product Manager · Front-End Developer · Product Engineer

I build the things I wish existed, then I ship them.

description of me

Ten years of shipping proof-of-concepts first and asking permission never. This is the log of the latest one.

01 — about

entry, ongoingggg

Most job descriptions ask for a PM or an engineer. I've never been able to split the two apart, and after ten years of trying, I've stopped pretending I should. The PM half decides what's worth building and why. The engineer half builds it well enough to actually learn something. Neither one works without the other — a roadmap I can't prototype is a guess, and code without a reason to exist is a hobby.

The pattern underneath all of it is: build the smallest real thing first, then argue from evidence instead of opinion. I've run that same loop at three separate jobs across eleven years, and I ran it again building this site's flagship project. It's not a philosophy I adopted for interviews — it's just how the work gets done.

what i'm looking for

A team that hires on the work itself — portfolios and pull requests over take-home puzzles and whiteboard trivia. Ideally somewhere a technical PM is expected to open a PR, not just file a ticket for one.

02 — projects
01 - project: Betwixt

You've got neighbors. You should meet ours.

The 2000s cartoon style isn't accidentally kid-coded — it's nostalgia-coded, for people who were kids when Kim Possible/Danny Phantom/Ben 10 aired. Those people are 28-35 now. That's not a mismatch with your concept, that's a second, completely real audience: adults who grew up on that visual language and will feel an immediate, specific pull toward it — the same instinct driving the huge adult market for "kidcore" aesthetics, nostalgic merch, adult coloring books, Stranger Things-era 80s/90s throwback demand. These are people with disposable income who buy things for themselves, not just for kids.

Link me baby!
Betwixt
roles: PM + sole engineer + developer
stack: React + SanityIO
window: 2026 — ongoing
Hanging Card
entry — HTML5
Resolved

Hanging Card

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

CSS Micro Animations
entry — Graphics
Ongoing

CSS Micro Animations - Butterflies

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

TetherComm Demo
entry — Canvas
In Progress

Tether Comm

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Betwixt Radio
entry — HTML5
Resolved

Betwixt Radio

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

02 - project: Lab

Lab

Phasellus id enim placerat, venenatis erat at, pharetra diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Integer faucibus hendrerit dictum. In vel sapien vel lacus dictum tempor. Suspendisse vestibulum facilisis iaculis. Curabitur eget metus risus. Nunc fermentum viverra lorem, vel ullamcorper arcu facilisis a. Etiam facilisis, sapien id imperdiet sodales, ligula tortor vestibulum dui, eget sagittis tortor orci id sem. Maecenas blandit porta ligula sed porta. Morbi mollis dignissim molestie. Ut dictum dapibus neque, vel posuere est. Nullam consequat sit amet elit ut fermentum. Duis vestibulum metus eu ultricies hendrerit. Sed erat quam, pulvinar sit amet tempor ut, tempus non tortor.

Link me baby!
Lab
Roles: Architecture + PM + Developer
Window: 2011 - ongoing
Analog Clock
entry — D3JS
Resolved

Analog Clock

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Shadow Box One
entry — React Three Fiber
Ongoing

Shadow Box One

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Video Visualizer
entry — HTML5 Video
Resolved

Video Visualizer

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Web GL Shapes
entry — Three JS
Ongoing

Web GL Shapes

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Audio Visualizer
entry — Web Audio API
Resolved

Frequency-reactive Visualizer

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Polar Clock
entry — D3JS
Resolved

Polar Clock

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Equirectangular Map
entry — D3JS
Resolved

Equirectangular Map

Scatter Plot One
entry — D3JS
In Progress

Scatter Plot One

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Arc Tween Clock
entry — D3JS
Ongoing

Arc Tween Clock

note —

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

03 - project: Dawgnation

Dawgnation

Curabitur lacinia ex id ex consectetur, sit amet scelerisque turpis bibendum. Vestibulum nunc risus, eleifend auctor laoreet fringilla, congue sit amet dui. Vestibulum at venenatis mauris. Nullam sed tellus id lorem porttitor semper at eget dolor. Aenean ullamcorper massa non aliquam feugiat. Suspendisse tincidunt faucibus mattis. In a dui quis eros sollicitudin vestibulum a ut erat. Phasellus sit amet lacinia tortor, id tempor urna. Phasellus feugiat, urna et consectetur tincidunt, leo dolor auctor velit, nec scelerisque massa lectus in massa. Mauris in lorem turpis.

Link me baby!
Dawgnation
Roles: Product Manager + Developer + QA + Producer
Stack: React + Arc CMS + Payload
Window: 2022 - 2026
03 — case studies
Equirectangular Map
entry — D3JS
Resolved

Equirectangular Map

Analog Clock
entry — D3JS
Resolved

Analog Clock

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Polar Clock
entry — D3JS
Resolved

Polar Clock

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Arc Tween Clock
entry — D3JS
Ongoing

Arc Tween Clock

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Video Visualizer
entry — HTML5 Video
Resolved

Video Visualizer

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

TetherComm Demo
entry — Canvas
In Progress

Tether Comm

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Audio Visualizer
entry — Web Audio API
Resolved

Frequency-reactive Visualizer

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Shadow Box One
entry — React Three Fiber
Ongoing

Shadow Box One

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Web GL Shapes
entry — Three JS
Ongoing

Web GL Shapes

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Scatter Plot One
entry — D3JS
In Progress

Scatter Plot One

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

CSS Micro Animations
entry — Graphics
Ongoing

CSS Micro Animations - Butterflies

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Betwixt Radio
entry — HTML5
Resolved

Betwixt Radio

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.

Hanging Card
entry — HTML5
Resolved

Hanging Card

Note - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis, ligula et dictum faucibus, risus justo tristique libero, ornare hendrerit erat diam ut ante.