← Graph

Yippee

project 10 connections

New Ruby web application framework being designed and prototyped by Stephen Margheim and Joel Drapper over roughly three years. Also spelled Yippi/Yippy in spoken transcript. As of March 2025 it is 'vaporware' — private repo, half-working experiments, many working code experiments across Joel's and Stephen's machines but no public release. Defining constraints set on day one and non-negotiable: (1) SQLite-only for all persistent data (primary, cache, jobs, pub/sub, full-text search — many SQLite databases, only SQLite databases); (2) single-machine deployments with a persistent file system. Core design elements: repository-pattern-inspired model layer with named roles (resource / model / table / data source) and first-class query building (plus a pure-Ruby-hash AST representation of SQL that adds composability on top of SQL); routing-tree controllers with zero boot-time route parsing, built for single-digit-millisecond boot regardless of app size; view layer fully built on Phlex (views, components, kits) and Literal::Properties, exploiting selective rendering to noop unused method calls; quickdraw-powered testing targeting 10,000 tests in under a second via core saturation, per-thread in-memory SQLite DBs cloned from a single-fixture template, and test-mode shortcuts like Phlex producing a queryable AST instead of HTML; deployment managed by the framework itself, spinning up Digital Ocean or Hetzner VMs from an API key and orchestrating isolated app/infrastructure/schema deployment types through a built-in deployment queue (sub-second deploys; Docker for infrastructure, no Docker for app deploys); batteries-included exception monitoring (incl. CSP violations), performance monitoring, job monitoring, logs, and database inspection. Guided by an 'aggressive love of simplicity' and an 'accordion of complexity' that lets each part of an app collapse to one file or expand to many well-named layered files as needed. Wild vaporware ideas still on the table include a Bootsnap-replacement that writes Ruby VM instructions into one SQLite file used as the deployment artifact, purely declarative migrations, and CI+deploy completing in under a second from a laptop.

status
active
license
closed-source
language
Ruby
alternative_spellings
Yippi, Yippy, Yippee
about
Yippee project
Talk is a vision pitch for the Yippee web framework.
project Yippee
uses
Plume project
Yippee uses Plume to enable its SQL query-builder and Ruby-hash SQL AST features.
project Yippee
uses
SQLite tool
Yippee is SQLite-only — primary data, cache, job queue, pub/sub, and full-text search each in separate SQLite databases.
project Yippee
uses
Phlex tool
Yippee's view layer is built entirely on Phlex — every Yippee view and component is a Phlex class.
project Yippee
uses
Literal tool
Every Yippee component/view extends Literal::Properties, aligning Yippee with Joel Drapper's runtime-typing gem.
project Yippee
uses
Quickdraw tool
Yippee's testing strategy relies on quickdraw's core-saturating test runner to target 10,000 tests/second.
project Yippee
uses
Yippee is explicitly designed only for single-machine deployments with persistent file systems.
project Yippee
uses
Routing Tree concept
Yippee's controller layer is a ground-up-rebuilt routing tree.
works_on
Yippee project
Co-designer of Yippee, building it with Joel Drapper for roughly three years as of March 2025.
role: co-creator
person Joel Drapper
works_on
Yippee project
Co-designer of Yippee alongside Stephen Margheim, bringing shared taste from many offline conversations and the Rooftop Ruby podcast.
role: co-creator

Provenance

Read by
1 extraction