Independent products

Project Gesicht

A local garage console bringing resin-printer telemetry, a camera feed, and operational health into one interface.

My role
Developer & Maintainer
Context
Independent hardware-integrated software · Local garage deployment
Toolkit
FastAPI · React · OpenCV · WebSocket · pytest
My contribution
A local FastAPI/React garage console, receive-only printer telemetry, camera integration, and failure-state handling.
Evidence shown
Dated implementation records and selected packet fixtures. The dashboard preview is disconnected from the printer backend.

The garage console

Project Gesicht is a personally tailored operations console for a garage resin-printer setup. Its purpose is practical: put printer observations, a camera feed, and system health in one place for the operator.

The documented foundation combines a FastAPI backend with React/Vite and local operational persistence. Hardware access stays behind the backend, while mock states make the interface and error paths usable without a live printer.

  1. Printer + USB camera
  2. FastAPI hardware adapters
  3. Telemetry + health + events
  4. React garage console
Architecture illustration · Simplified local architecture reconstructed from the recorded implementation; not a dashboard screenshot.

Printer telemetry and stale states

The recorded V5 work progressed from an unavailable-state endpoint to a receive-only SDCP WebSocket listener, parsed telemetry, and a garage live-print validation report. Selected real packet fixtures are preserved in the archive.

Progress, layers, elapsed time, remaining time, and missing fields need clear semantics. A missing filename should read as not reported, rather than a guessed value. A stale feed is also different from a printer failure.

Event history and Discord alerts respond to transitions rather than repeating the same notification for every frame. Runtime health surfaces telemetry separately from basic connectivity.

Receive-only integration boundaries

The documented listener observes printer-originated status frames and keeps the latest snapshot in memory with staleness information. It does not upload, delete, start, pause, or otherwise control a print.

The repository analysis reports parser/listener tests and garage validation, but the archive contains only selected source and fixtures. Later controlled actions, voice, AI, and inventory ideas are roadmap items, not implemented features shown here.

A camera crash is an architecture problem

One recorded failure came from overlapping OpenCV camera access. Serializing capture and making camera capabilities aware of an active stream addressed the contention at the shared resource rather than merely hiding the error.

The operational work also covers saved settings, local sessions, bounded event history, health checks, troubleshooting summaries, and Windows startup behavior. Those details turn a demonstration into a tool another person can understand and recover.

Make failure legible

A local hardware tool must explain when it is disconnected, stale, unavailable, or recovering. Gesicht’s strongest engineering story is the behavior around those states, rather than a speculative list of future controls.

The implementation history is a dated account of development and garage testing. It is not a claim that the archived snapshot describes today’s live hardware state.