DEV Community

Crane Zhou profile picture

Crane Zhou

Independent researcher at The Companion Lab — testing LLM companion apps, network payloads, and bank statement descriptors.

A site that has to change at midnight: daily data with GitHub Actions and static hosting

A site that has to change at midnight: daily data with GitHub Actions and static hosting

1
Comments
2 min read
Why "Optimized" GIFs Turn Into Haunted Sprite Sheets (And 4 Tiny Canvas Fixes for 2D Game Devs)

Why "Optimized" GIFs Turn Into Haunted Sprite Sheets (And 4 Tiny Canvas Fixes for 2D Game Devs)

1
Comments
7 min read
Single elimination, double elimination or round robin: pick by the numbers

Single elimination, double elimination or round robin: pick by the numbers

Comments
1 min read
What one SeniorMatch account saw free and paid, on the same day

What one SeniorMatch account saw free and paid, on the same day

Comments
2 min read
Measuring reaction time in the browser: six things that went wrong

Measuring reaction time in the browser: six things that went wrong

Comments
2 min read
3 Weird Bugs I Hit Rendering Typing-Text GIFs in Plain Canvas (Clipped g's, 1-Bit Halos, and Classic Outlook)

3 Weird Bugs I Hit Rendering Typing-Text GIFs in Plain Canvas (Clipped g's, 1-Bit Halos, and Classic Outlook)

1
Comments 1
6 min read
The Weirdly Petty Engineering Behind Printing a Straight Barcode Sticker

The Weirdly Petty Engineering Behind Printing a Straight Barcode Sticker

1
Comments 1
5 min read
What makes a custom Yu-Gi-Oh! card look real

What makes a custom Yu-Gi-Oh! card look real

Comments
4 min read
CSS sprite sheet animation: getting steps() right

CSS sprite sheet animation: getting steps() right

Comments
6 min read
Reading Phantom Blade Zero's PBZS v3 save container in the browser

Reading Phantom Blade Zero's PBZS v3 save container in the browser

Comments
3 min read
CSS typing animation: a typewriter effect that survives any font, any length and line wraps

CSS typing animation: a typewriter effect that survives any font, any length and line wraps

Comments
6 min read
Inside Phantom Blade Zero's PBZS v3 Save Format (AES-256-GCM + Oodle Kraken in the Browser)

Inside Phantom Blade Zero's PBZS v3 Save Format (AES-256-GCM + Oodle Kraken in the Browser)

Comments
4 min read
I Know Nothing About Barcodes. Here Is Why I Built a Barcode Website Anyway.

I Know Nothing About Barcodes. Here Is Why I Built a Barcode Website Anyway.

Comments
5 min read
Amazon Ended FBA Commingling on March 31, 2026: How to Print Multi-SKU FNSKU Sheets Without Wasting 60% of Your Avery 5160 Stock

Amazon Ended FBA Commingling on March 31, 2026: How to Print Multi-SKU FNSKU Sheets Without Wasting 60% of Your Avery 5160 Stock

Comments
3 min read
Everyone Is Building AI Wrappers. So I Built a 72-pt PostScript Barcode Engine for Angry Warehouse Sellers.

Everyone Is Building AI Wrappers. So I Built a 72-pt PostScript Barcode Engine for Angry Warehouse Sellers.

Comments
3 min read
Why 30-Up Avery 5160 Barcode Sheets Drift by 4.2mm (and How We Built a 1:1 PostScript Point Imposition Engine)

Why 30-Up Avery 5160 Barcode Sheets Drift by 4.2mm (and How We Built a 1:1 PostScript Point Imposition Engine)

Comments
4 min read
Building an Open-Source AI Agent for Self-Hosted Media Acquisition & Multi-Drive Routing

Building an Open-Source AI Agent for Self-Hosted Media Acquisition & Multi-Drive Routing

Comments
4 min read
Benchmarking 7 Cloud Storage Providers for Streaming Encrypted Manga on Android (123 ms on Bunny, 30s Stalls on Drive)

Benchmarking 7 Cloud Storage Providers for Streaming Encrypted Manga on Android (123 ms on Bunny, 30s Stalls on Drive)

Comments
5 min read
I Read a 179KB Inline Chat Bundle on an AI Companion App: 4 API Bugs the UI Hid (Updated: All 4 Fixed in 48 Hours)

I Read a 179KB Inline Chat Bundle on an AI Companion App: 4 API Bugs the UI Hid (Updated: All 4 Fixed in 48 Hours)

Comments
6 min read
Best Character.AI, Replika & CrushOn Alternatives (2026): We Sent 9 Apps the Same 6 Messages & Checked Our Bank Statement

Best Character.AI, Replika & CrushOn Alternatives (2026): We Sent 9 Apps the Same 6 Messages & Checked Our Bank Statement

Comments
4 min read
What 7 AI Companion Apps Actually Put on Your Bank Statement (And What Runs Under the Hood)

What 7 AI Companion Apps Actually Put on Your Bank Statement (And What Runs Under the Hood)

Comments
4 min read
I built a coding agent skill that writes you a course and quizzes you on it

I built a coding agent skill that writes you a course and quizzes you on it

Comments 2
5 min read
I gave an LLM agent write access to my cloud drive. Three bugs taught me how to constrain it.

I gave an LLM agent write access to my cloud drive. Three bugs taught me how to constrain it.

Comments 1
6 min read
loading...