An open workshop / Rochester, NY
The web is a material.
The screen is a place.
We experiment with photography, typography, color, code, and emerging technology to find new ways to make and share things.
What happens in the Lab?
Sometimes the result is a website. Sometimes it’s a television, electronic paper, a small computer, or a radio network.
Some experiments become reusable tools for client work. Others become independent projects. This is a working record of what we’re learning—not a catalog of finished products.
Material study / Type
Live in this browserType specimen: Make room.
A small, working example. Change the words, spacing, or impression. On a pointer, the letters respond to proximity. Nothing is uploaded.
From the Lab / Working prototype
G Screen
A phone becomes a mixing board.
A browser becomes a display.
The television is optional.
Inspect a component to see what it does. Trace a change to follow words and color from the phone, through shared room state, to the browser that makes the image.
Choose a component, or send a change one step at a time.
Server acceptedNot sent
Display appliedNot applied
Physical screenVisibility not verified
Explore the systemComponents & connections
Netlify delivers the app. Cloudflare coordinates the room. The computer renders the visuals. HDMI carries the computer’s output to a physical screen.
NetlifyApplication delivery
Delivers the interface files to the phone and computer browsers. Once the application is loaded, room commands follow a different path.
Netlify is not the room coordinator and does not stream the finished screen.
Phone browserMixing board
The controller chooses words, colors, and scene settings. It sends a command to the room; sending is not the same as acceptance or display application.
The small preview represents settings, not a camera feed from the television.
WorkerConnection routing
The Cloudflare Worker routes room requests and connections to the appropriate room logic. This is the connection boundary, not a graphics renderer.
This drawing explains roles. It does not inspect the deployed transport, authentication, or network traffic.
Durable ObjectShared room state
The room coordinates accepted settings for its connected controller and display. A server acceptance means the room accepted a change—not that the display or television has shown it.
Persistence and recovery policy are implementation details not verified by this explanatory model.
Computer browserVisuals render here
The display browser receives room settings and renders the visual scene locally. A display-applied acknowledgment is separate from server acceptance.
An acknowledgment from the browser is not proof that an attached physical screen is visible.
TV / projectorOptional physical output
A television or projector can show the computer’s output over HDMI. The computer alone is enough; the larger physical screen is optional.
There is no TV acknowledgment in this model. Visibility, input selection, and cabling are not verified.
Read the paths without the drawing
Application delivery: Netlify serves HTML, CSS, and JavaScript to the phone browser and the computer browser.
Shared room control: Both browsers connect through the Cloudflare Worker and the room’s Durable Object. Commands, settings, and acknowledgments are not rendered video.
Physical output: The computer browser renders the image. HDMI can carry the computer’s output to a television or projector. The television is optional.
A separate local demonstration: The G Screen landing page describes two windows in the same browser profile. That is not the same as pairing a phone with another computer. Its local coordination mechanism is not specified here.
The library / Code, context & recipes
Open the notebook.
Methods, materials, and possibilities.
Expand what interests you.
Working principles / Open researchBorrow the knowledge.
Build with care. Share what works.
The Lab is part workshop, part library: a place to discover existing tools, understand their methods, and adapt what is useful.
We begin with the native web and what is already available: HTML, CSS, JavaScript, free and open-source tools, inexpensive hardware, and techniques shared by other makers. We research licenses and give credit. We prefer understandable systems to unnecessary complexity.
- Discover / Understand
- Study working examples, published techniques, platforms, and open-source tools.
- Adjust / Experiment
- Make controls visible: sliders, parameters, variants, and before/after comparisons.
- Test / Document
- Check accessibility, mobile behavior, performance, maintenance, and provenance.
- Reuse / Share
- Turn successful studies into repeatable recipes and adaptable web packages.
Research index / Six connected areasAreas of investigation
- 01 / Image & type
- Bitmap, halftone, dithering, photographic color, responsive typography
- 02 / Web & code
- Browser-native graphics, shaders, interaction, portable website recipes
- 03 / Screens
- Televisions, projectors, e-paper, remote signage, slow publishing
- 04 / Computing
- Mini computers, sensors, microcontrollers, inexpensive hardware
- 05 / Radio & networks
- LoRa, mesh, local-first communication, distributed publishing
- 06 / Emerging tools
- Open-source creative applications and new production methods
Research areas are not interchangeable transport systems. A browser-rendered scene, an e-paper image, and a radio message have different technical requirements.
Working philosophy / From a library to a websiteA website is a composition.
We don’t build every website from scratch.
We don’t make every website look the same.
We collect proven foundations and deeper research packages: responsive type, image treatments, color systems, navigation, motion, publishing components, and platform-specific adaptations. Think of it a little like DJing a website: select, mix, tune, test, and refine the materials for the particular work.
Collection / Context
Systems that travel
Responsive layouts, accessible menus, color variables, type scales, image handling, and tested CSS/JS patterns.
Useful when a sound foundation lets the project’s individual character take the lead.
Working status — This is a curated index of research directions, not a claim that every recipe is released or production-ready.
From the Lab / Into practice
Design Week.
Build Week.
Anna × Lemon Juice
Making creativity work.
The Lab supports a growing set of adaptable website packages. We select useful foundations and make room for what is specific to each client.
Light / Lemon JuiceEstablish the visual language
Photography, identity, typography, color, and creative direction. Design Week establishes how the website should communicate and feel, starting with the people and work it represents.
Lens / Anna YatesMake the system work
Strategy, structure, systems, and development. Build Week carries the agreed direction into a functioning website, with practical decisions about editing, publishing, and upkeep.
Strategy and design inform each other throughout. The library helps us avoid rebuilding every foundation; it does not replace understanding the project. Custom code belongs where it improves the experience, not where it merely shows off.
From research to practice
One experiment.
Many possible forms.
The Lab helps us develop reusable components for websites and other publishing environments. We use custom code when it serves the material, the people, and the work—not because every page needs another effect.

