← Extractions

On the Tasteful Journey to Yippee — Stephen Margheim at wroclove.rb 2025

Stephen Margheim teases Yippee, a new Ruby web framework he is building with Joel Drapper from first principles — SQLite-only, single-machine-deployment, with a repository-style model layer, routing-tree controllers, Phlex + Literal views, quickdraw testing, and batteries-included monitoring. He presents it as 'vaporware' aligned by shared taste with Joel, grounded in an aggressive love of simplicity that yields leverage, and envisioning applications where tests plus deployment complete in under a second.

Model
claude-opus-4-7
Ingestion
1a14d2a8
Input tokens
433,833
fresh
271,505
cached
146,126
cache write
16,202
Output tokens
17,204
Duration
286.9s
Roundtrips
8
Tool calls
20
Cost
$0.00
Nodes/edges extracted
26 / 50
Read set (nodes/edges)
145 / 2

Nodes (26)

create Declarative Migrations concept
kind (empty) concept
name (empty) Declarative Migrations
slug (empty) declarative-migrations
attrs (empty) {"category" => "pattern"}
description (empty) Yippee vaporware idea: instead of writing imperative migrations, the developer declares the desired schema (schema A ...
short_description (empty) Describe the desired schema; framework synthesises safe migration steps.
update On the tasteful journey to Yippee talk
attrs {"type" => "talk"} {"date" => "2025-03-14", "type" => "talk", "duration_spoken" => "57 minutes"}
description Talk at wroclove.rb 2025. Stephen Margheim's wroclove.rb 2025 single-speaker 'teaser trailer' talk for Yippee (aka Yippi/Yippy), a new Ruby web...
short_description Talk at wroclove.rb 2025. Stephen Margheim's wroclove.rb 2025 talk teasing the Yippee web framework.
create Yippee project
kind (empty) project
name (empty) Yippee
slug (empty) yippee
attrs (empty) {"status" => "active", "license" => "closed-source", "language" => "Ruby", "alternative_spellings" => "Yippi, Yippy, ...
description (empty) New Ruby web application framework being designed and prototyped by Stephen Margheim and Joel Drapper over roughly th...
short_description (empty) Opinionated Ruby web framework by Stephen Margheim and Joel Drapper — SQLite-only, single-machine.
create Plume project
kind (empty) project
name (empty) Plume
slug (empty) plume
attrs (empty) {"status" => "active", "license" => "open-source", "language" => "Ruby"}
description (empty) Stephen Margheim's newest Ruby open-source project as of March 2025: a parser for SQLite's dialect of SQL, written in...
short_description (empty) Stephen Margheim's Ruby parser for SQLite's dialect of SQL.
create High Leverage Rails resource
kind (empty) resource
name (empty) High Leverage Rails
slug (empty) high-leverage-rails
attrs (empty) {"url" => "highleveragerails.com", "type" => "course"}
description (empty) Paid course created in early 2025 by Stephen Margheim with Aaron Francis, available at highleveragerails.com (pronoun...
short_description (empty) Paid course by Stephen Margheim and Aaron Francis on building high-leverage Rails apps.
create Aaron Francis person
kind (empty) person
name (empty) Aaron Francis
slug (empty) aaron-francis
description (empty) Developer educator who co-created the 'High Leverage Rails' paid course with Stephen Margheim in early 2025.
short_description (empty) Developer educator; co-creator of the High Leverage Rails course with Stephen Margheim.
create RubyKaigi event
kind (empty) event
name (empty) RubyKaigi
slug (empty) rubykaigi
attrs (empty) {"format" => "in-person"}
description (empty) Japan's flagship annual Ruby conference ('Ruby Kai' in the spoken transcript). Stephen Margheim planned to introduce ...
short_description (empty) Japan's flagship annual Ruby language conference.
update Stephen Margheim person
attrs {"role" => "Head of Engineering at test.io", "twitter" => "@fractaledmind", "location" => "Berlin, Germany"} {"blog" => "fractaledmind.github.io", "role" => "Head of Engineering at test.io", "twitter" => "@fractaledmind", "loc...
description American developer living in Berlin, Germany since ~2019. Head of engineering at test.io (a crowd-driven QA testing c... American developer living in Berlin, Germany since ~2019. Head of engineering at test.io (a crowd-driven QA testing c...
update Joel Drapper person
description Ruby developer passionate about meta-programming and 'dark' corners of the language. Creator of the Phlex view-compon... Ruby developer passionate about meta-programming and 'dark' corners of the language. Creator of the Phlex view-compon...
short_description Ruby developer; creator of Phlex and Literal; meta-programming enthusiast. Ruby developer; creator of Phlex, Literal, Quickdraw; co-designer of Yippee.
create Colin person
kind (empty) person
name (empty) Colin
slug (empty) colin
description (empty) Co-host of the Rooftop Ruby podcast alongside Joel Drapper. Mentioned by Stephen Margheim as the other voice on the p...
short_description (empty) Co-host of the Rooftop Ruby podcast alongside Joel Drapper.
create N+1 Queries as a Feature on SQLite concept
kind (empty) concept
name (empty) N+1 Queries as a Feature on SQLite
slug (empty) n-1-queries-as-a-feature-on-sqlite
attrs (empty) {"category" => "pattern"}
description (empty) Argument Stephen Margheim advances in the Yippee talk: on an embedded engine like SQLite, where an indexed read from ...
short_description (empty) With SQLite, many small simple queries outperform fewer complex joined queries.
create Routing Tree concept
kind (empty) concept
name (empty) Routing Tree
slug (empty) routing-tree
attrs (empty) {"category" => "architecture"}
description (empty) Architectural approach to HTTP routing pioneered by Roda and adopted (with a ground-up reimplementation) by Yippee. I...
short_description (empty) Routing architecture that walks executable code paths at request time instead of a parsed route table.
create Ruby Hash as SQL AST concept
kind (empty) concept
name (empty) Ruby Hash as SQL AST
slug (empty) ruby-hash-as-sql-ast
attrs (empty) {"category" => "pattern"}
description (empty) Yippee design idea demonstrated by Stephen Margheim: represent SQL queries as Ruby hashes whose keys and values (cons...
short_description (empty) Representing SQL queries as composable Ruby hashes built from constants, hashes, arrays, and primitives.
create Single-Machine Deployment concept
kind (empty) concept
name (empty) Single-Machine Deployment
slug (empty) single-machine-deployment
attrs (empty) {"category" => "architecture"}
description (empty) Deployment constraint adopted as one of Yippee's two immovable day-one decisions (the other being SQLite-only). The f...
short_description (empty) Philosophy of deploying a whole web app to one server with a persistent file system.
create Isolate Deployment Types concept
kind (empty) concept
name (empty) Isolate Deployment Types
slug (empty) isolate-deployment-types
attrs (empty) {"category" => "practice"}
description (empty) Yippee deployment philosophy: the primitives most teams use today are too coarse-grained, mixing application-code cha...
short_description (empty) Separate app, infrastructure, and schema deployments through a framework-managed queue.
create SQLite as Deployment Artifact concept
kind (empty) concept
name (empty) SQLite as Deployment Artifact
slug (empty) sqlite-as-deployment-artifact
attrs (empty) {"category" => "architecture"}
description (empty) Vaporware idea in the Yippee talk: combine Bootsnap's trick of caching Ruby VM instructions with SQLite's 'faster tha...
short_description (empty) Compile all of an app's Ruby to VM instructions stored in one SQLite file, shipped as the deployment.
create Locality of Behavior in Views concept
kind (empty) concept
name (empty) Locality of Behavior in Views
slug (empty) locality-of-behavior-in-views
attrs (empty) {"category" => "practice"}
description (empty) Design principle Yippee encourages: because SQLite makes query overhead negligible, views are the right place to fetc...
short_description (empty) Put data fetching next to data usage inside views when per-query cost is negligible.
create Selective Rendering concept
kind (empty) concept
name (empty) Selective Rendering
slug (empty) selective-rendering
attrs (empty) {"category" => "pattern"}
description (empty) Phlex capability Yippee leans into: a rendering pass can declaratively short-circuit — noop'ing every method call unr...
short_description (empty) Phlex feature where a view renders only a subset of its output (e.g. one Turbo Frame).
create Resource / Model / Table concept
kind (empty) concept
name (empty) Resource / Model / Table
slug (empty) resource-model-table
attrs (empty) {"category" => "architecture"}
description (empty) Yippee's renamed take on the repository pattern. Distinct, clearly-contracted classes: **resource** (the entity prese...
short_description (empty) Yippee's named slicing of a repository-pattern-inspired model layer.
create Tests and Deployment in Under One Second takeaway
kind (empty) takeaway
name (empty) Tests and Deployment in Under One Second
slug (empty) tests-and-deployment-in-under-one-second
attrs (empty) {"type" => "recommendation"}
description (empty) Stephen Margheim's stated bar for Yippee and modern developer experience: an application suite of 10,000 tests (unit,...
short_description (empty) Yippee's aspirational bar: 10,000 tests and a full deploy each complete in under a second.
create Simplicity Yields Leverage Yields Value takeaway
kind (empty) takeaway
name (empty) Simplicity Yields Leverage Yields Value
slug (empty) simplicity-yields-leverage-yields-value
attrs (empty) {"type" => "insight"}
description (empty) Yippee's guiding philosophy articulated by Stephen Margheim: simplicity correctly applied produces leverage, leverage...
short_description (empty) Yippee's philosophy: aggressive simplicity earns leverage, which converts into developer value.
create No YAML Configuration takeaway
kind (empty) takeaway
name (empty) No YAML Configuration
slug (empty) no-yaml-configuration
attrs (empty) {"type" => "recommendation"}
description (empty) Public promise Stephen Margheim makes about Yippee: it will not use YAML for configuration ('a scourge and a cancer; ...
short_description (empty) Yippee will ship with no YAML config and minimal generated configuration.
create Batteries-Included Observability takeaway
kind (empty) takeaway
name (empty) Batteries-Included Observability
slug (empty) batteries-included-observability
attrs (empty) {"type" => "recommendation"}
description (empty) Stephen Margheim's claim that modern web frameworks should be more generous. Yippee will include out-of-the-box excep...
short_description (empty) Yippee will ship exception, performance, job monitoring, logs and DB inspection out of the box.
create Colocate Data Fetching with Data Usage takeaway
kind (empty) takeaway
name (empty) Colocate Data Fetching with Data Usage
slug (empty) colocate-data-fetching-with-data-usage
attrs (empty) {"type" => "insight"}
description (empty) Stephen Margheim's design recommendation for Yippee: the only reason Rails pushes queries into controllers is to avoi...
short_description (empty) When per-query cost is negligible, fetch data inside views next to where it is rendered.
create How do routing trees find the right controller at request time? question
kind (empty) question
name (empty) How do routing trees find the right controller at request time?
slug (empty) how-do-routing-trees-find-the-right-controller-at-request-time
attrs (empty) {"answer_summary" => "Ruby is fast enough, only the touched code paths are walked, and hash-based dispatch is availab...
description (empty) An attendee unfamiliar with Roda asks how a request finds its controller in a routing tree, since the cost has been m...
short_description (empty) Attendee asks about the per-request cost tradeoff of Yippee's routing-tree approach.
update Rooftop Ruby resource
description Ruby podcast co-hosted by Joel Drapper. Mentioned in his speaker introduction at wroclove.rb 2025. Ruby podcast co-hosted by Joel Drapper and co-host Colin. Two years or so before wroclove.rb 2025, Stephen Margheim j...
short_description Ruby podcast co-hosted by Joel Drapper. Ruby podcast co-hosted by Joel Drapper and Colin.

Edges (50)

update Stephen MargheimauthoredOn the tasteful journey to Yippee
context (empty) Stephen Margheim delivered this talk as a teaser trailer for the Yippee framework.
update On the tasteful journey to Yippeepresented_atwroclove.rb 2025
context (empty) Talk presented at the March 2025 edition of wroclove.rb.
update Stephen Margheimattendedwroclove.rb 2025
context Part of the after-hours Friday-night crew mentioned in the talk's opening and closing story. Speaker at the conference.
create On the tasteful journey to YippeeaboutYippee
context (empty) Talk is a vision pitch for the Yippee web framework.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 9d3a5fb9-7574-4418-ad85-0df8c30c0854
create Stephen Margheimworks_onYippee
attrs (empty) {"role" => "co-creator"}
context (empty) Co-designer of Yippee, building it with Joel Drapper for roughly three years as of March 2025.
relation (empty) works_on
source_node_id (empty) f8314bba-5263-4bd3-9174-6613ee5fef9e
target_node_id (empty) 9d3a5fb9-7574-4418-ad85-0df8c30c0854
create Joel Drapperworks_onYippee
attrs (empty) {"role" => "co-creator"}
context (empty) Co-designer of Yippee alongside Stephen Margheim, bringing shared taste from many offline conversations and the Rooft...
relation (empty) works_on
source_node_id (empty) af49a23b-6658-4fc4-a29e-a0edd1d8c83a
target_node_id (empty) 9d3a5fb9-7574-4418-ad85-0df8c30c0854
create Stephen Margheimworks_onPlume
attrs (empty) {"role" => "author"}
context (empty) Plume is Stephen's newest project — a SQLite SQL dialect parser in Ruby.
relation (empty) works_on
source_node_id (empty) f8314bba-5263-4bd3-9174-6613ee5fef9e
target_node_id (empty) 4d3ad760-ff9d-4b49-a182-f87a506c80f9
create PlumeaboutSQLite
context (empty) Plume parses SQLite's dialect of SQL.
relation (empty) about
source_node_id (empty) 4d3ad760-ff9d-4b49-a182-f87a506c80f9
target_node_id (empty) a65d4872-7d76-4774-a7d5-e29e615de75a
create Plumepresented_atRubyKaigi
context (empty) Stephen plans to introduce Plume to the world at RubyKaigi the week after wroclove.rb 2025.
relation (empty) presented_at
source_node_id (empty) 4d3ad760-ff9d-4b49-a182-f87a506c80f9
target_node_id (empty) de013fe8-fbae-44c8-975c-8964ca43c7d8
create YippeeusesPlume
context (empty) Yippee uses Plume to enable its SQL query-builder and Ruby-hash SQL AST features.
relation (empty) uses
source_node_id (empty) 9d3a5fb9-7574-4418-ad85-0df8c30c0854
target_node_id (empty) 4d3ad760-ff9d-4b49-a182-f87a506c80f9
create Stephen MargheimauthoredHigh Leverage Rails
context (empty) Stephen created the High Leverage Rails paid course with Aaron Francis earlier in 2025.
relation (empty) authored
source_node_id (empty) f8314bba-5263-4bd3-9174-6613ee5fef9e
target_node_id (empty) 8f251a22-ed02-4a42-9b14-c48267d51294
create Aaron FrancisauthoredHigh Leverage Rails
context (empty) Co-creator of the High Leverage Rails course with Stephen Margheim.
relation (empty) authored
source_node_id (empty) 06628ab2-2ed4-4541-a11f-8aa3cbcfd20a
target_node_id (empty) 8f251a22-ed02-4a42-9b14-c48267d51294
create High Leverage RailsaboutRuby on Rails
context (empty) Course teaches how to build high-leveraged applications with Rails.
relation (empty) about
source_node_id (empty) 8f251a22-ed02-4a42-9b14-c48267d51294
target_node_id (empty) 7aac705a-0987-49f2-b665-9d4e08a6acee
create Stephen MargheimrecommendsHigh Leverage Rails
context (empty) Stephen plugged the course from stage (openly disclosed as an ad).
relation (empty) recommends
source_node_id (empty) f8314bba-5263-4bd3-9174-6613ee5fef9e
target_node_id (empty) 8f251a22-ed02-4a42-9b14-c48267d51294
update Joel Drapperworks_onRooftop Ruby
context Co-hosts the Rooftop Ruby podcast. Joel co-hosts the Rooftop Ruby podcast with Colin.
create Colinworks_onRooftop Ruby
attrs (empty) {"role" => "co-host"}
context (empty) Colin is Joel Drapper's co-host on Rooftop Ruby.
relation (empty) works_on
source_node_id (empty) ec6abe06-9102-4641-88c7-15a1197fba2a
target_node_id (empty) e8f977c4-3321-4296-a330-5e5eb542a92b
create Stephen Margheimrelated_toRooftop Ruby
context (empty) Stephen was a guest on Rooftop Ruby in a conversation with Joel that helped seed the Yippee project.
relation (empty) related_to
source_node_id (empty) f8314bba-5263-4bd3-9174-6613ee5fef9e
target_node_id (empty) e8f977c4-3321-4296-a330-5e5eb542a92b
create YippeeusesSQLite
context (empty) Yippee is SQLite-only — primary data, cache, job queue, pub/sub, and full-text search each in separate SQLite databases.
relation (empty) uses
source_node_id (empty) 9d3a5fb9-7574-4418-ad85-0df8c30c0854
target_node_id (empty) a65d4872-7d76-4774-a7d5-e29e615de75a
create YippeeusesPhlex
context (empty) Yippee's view layer is built entirely on Phlex — every Yippee view and component is a Phlex class.
relation (empty) uses
source_node_id (empty) 9d3a5fb9-7574-4418-ad85-0df8c30c0854
target_node_id (empty) 6bb19a01-47fc-4521-83c9-874cd58c606a
create YippeeusesLiteral
context (empty) Every Yippee component/view extends Literal::Properties, aligning Yippee with Joel Drapper's runtime-typing gem.
relation (empty) uses
source_node_id (empty) 9d3a5fb9-7574-4418-ad85-0df8c30c0854
target_node_id (empty) c8b9e593-e990-460b-aa69-c3f4259bcd8c
create YippeeusesQuickdraw
context (empty) Yippee's testing strategy relies on quickdraw's core-saturating test runner to target 10,000 tests/second.
relation (empty) uses
source_node_id (empty) 9d3a5fb9-7574-4418-ad85-0df8c30c0854
target_node_id (empty) 9a9d18ed-4f5e-46d7-a340-89fc8425bcf9
create On the tasteful journey to YippeeaboutSQLite
context (empty) The talk's first immovable design decision is that Yippee uses SQLite exclusively.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) a65d4872-7d76-4774-a7d5-e29e615de75a
create On the tasteful journey to YippeeaboutPhlex
context (empty) Talk devotes its view-layer section to Phlex views, components, kits, and selective rendering.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 6bb19a01-47fc-4521-83c9-874cd58c606a
create On the tasteful journey to YippeeaboutLiteral
context (empty) Talk explains that Yippee components extend Literal::Properties.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) c8b9e593-e990-460b-aa69-c3f4259bcd8c
create On the tasteful journey to YippeeaboutQuickdraw
context (empty) Talk proposes using quickdraw to run 10,000 tests in under a second.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 9a9d18ed-4f5e-46d7-a340-89fc8425bcf9
create On the tasteful journey to YippeeaboutRoda
context (empty) Talk acknowledges Roda as the inspiration for Yippee's routing-tree controller model, while rebuilding the tree from ...
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 297b342f-a3ad-4553-8598-60c3bb20324f
create On the tasteful journey to YippeeaboutRuby on Rails
context (empty) Talk contrasts Yippee with Rails throughout (routes file parsing, controllers per resource, convention over configura...
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 7aac705a-0987-49f2-b665-9d4e08a6acee
create On the tasteful journey to YippeeaboutHanami
context (empty) Talk cites Hanami as the exemplar of one-controller-per-action, which Yippee wants to support alongside other control...
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 9e549b38-6071-4b4d-88ea-ca5c3d86afa7
create On the tasteful journey to YippeeaboutBootsnap
context (empty) Talk uses Bootsnap's VM-instruction caching as the reference point for the wild idea of shipping a SQLite file of VM ...
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 0f3bcade-fdcd-4274-a837-7a35013df067
create On the tasteful journey to YippeeaboutN+1 Queries as a Feature on SQLite
context (empty) Stephen devotes several minutes to arguing that with SQLite, N+1s become a feature.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) eb5ece13-2590-4785-8ced-a33753fdb213
create On the tasteful journey to YippeeaboutRouting Tree
context (empty) Controller layer section is built around the routing-tree idea with zero boot-time route parsing.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) e7a06b3c-db45-408a-8add-a83f91ae53a8
create On the tasteful journey to YippeeaboutRuby Hash as SQL AST
context (empty) Code sample demonstrates representing SQL queries as composable Ruby hashes.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 8eec4402-0fc5-48a8-9997-6d6f3ce9f8ec
create On the tasteful journey to YippeeaboutSingle-Machine Deployment
context (empty) Talk declares single-machine deployment with a persistent file system as Yippee's second immovable constraint.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 323a8438-ed11-4600-a5ad-17f77890efc7
create On the tasteful journey to YippeeaboutIsolate Deployment Types
context (empty) Hosting/deployment section advocates separating application, infrastructure, and schema deployments via a framework-m...
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 8beb176d-e75c-4f39-81fc-3734c8190885
create On the tasteful journey to YippeeaboutDeclarative Migrations
context (empty) Listed in the full-vaporware section as one of the wild ideas.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 9ed2481e-2973-4c7b-8003-c9c39ac1768a
create On the tasteful journey to YippeeaboutSQLite as Deployment Artifact
context (empty) Full-vaporware idea of writing Ruby VM instructions to a SQLite file and shipping that single file as the deploy arti...
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) 6471df13-5bd3-4f57-9831-d27669619d0e
create On the tasteful journey to YippeeaboutSelective Rendering
context (empty) Yippee's view layer exploits Phlex's selective rendering to return tiny payloads.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) ae5bd44c-94c6-4a90-b9bc-64bec90127b3
create On the tasteful journey to YippeeaboutLocality of Behavior in Views
context (empty) Talk argues for co-locating data fetching with data usage once SQLite removes the latency risk.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) fe126e78-d078-4c9c-b49f-ae21a3d6c329
create On the tasteful journey to YippeeaboutResource / Model / Table
context (empty) Model layer section introduces the resource / model / table / data-source distinction as a renamed repository pattern.
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) b54ce8fc-9670-403b-ba05-4d05ad57ac2f
create On the tasteful journey to YippeeaboutAccordion of Complexity
context (empty) Talk concludes by framing Yippee's whole design around letting developers expand or collapse layers as needed — 'play...
relation (empty) about
source_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
target_node_id (empty) fb07dfa3-8cc3-4771-9946-54c856e9f78d
create Resource / Model / Tablerelated_toAccordion of Complexity
context (empty) The named layers exist precisely so they can be collapsed (1:1:1 Active-Record-style) or expanded (3 models for 1 tab...
relation (empty) related_to
source_node_id (empty) b54ce8fc-9670-403b-ba05-4d05ad57ac2f
target_node_id (empty) fb07dfa3-8cc3-4771-9946-54c856e9f78d
create Tests and Deployment in Under One Secondfrom_talkOn the tasteful journey to Yippee
context (empty) Aspirational bar stated on stage for Yippee's developer experience.
relation (empty) from_talk
source_node_id (empty) d4a4753b-5abb-4438-a59a-010e98af34a5
target_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
create Simplicity Yields Leverage Yields Valuefrom_talkOn the tasteful journey to Yippee
context (empty) Philosophy chant used to close the talk's philosophy section.
relation (empty) from_talk
source_node_id (empty) 21d37d22-32a1-4873-8183-8503c78e81bf
target_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
create No YAML Configurationfrom_talkOn the tasteful journey to Yippee
context (empty) Explicit on-stage promise about Yippee's configuration approach.
relation (empty) from_talk
source_node_id (empty) 90f0624d-9f9c-4776-8adc-d6e320415626
target_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
create Batteries-Included Observabilityfrom_talkOn the tasteful journey to Yippee
context (empty) Accessories section commits Yippee to shipping monitoring, logs, and DB inspection out of the box.
relation (empty) from_talk
source_node_id (empty) 21c1b214-78aa-496d-a9ac-b08c2d6501c4
target_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
create Colocate Data Fetching with Data Usagefrom_talkOn the tasteful journey to Yippee
context (empty) Design recommendation justified by SQLite's negligible query overhead.
relation (empty) from_talk
source_node_id (empty) 44d149c9-4e72-4aec-9cd3-e7f3768cab7e
target_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
create How do routing trees find the right controller at request time?asked_atOn the tasteful journey to Yippee
context (empty) Single Q&A question taken at the end of the talk.
relation (empty) asked_at
source_node_id (empty) ba9f2a55-8790-4004-9923-2f4bee8e9ad6
target_node_id (empty) 822bc0ad-4ee7-43c2-be44-13c93f0fcabe
create How do routing trees find the right controller at request time?aboutRouting Tree
context (empty) Question asks how cost-moved-to-request-time works in the routing-tree approach.
relation (empty) about
source_node_id (empty) ba9f2a55-8790-4004-9923-2f4bee8e9ad6
target_node_id (empty) e7a06b3c-db45-408a-8add-a83f91ae53a8
create YippeeusesSingle-Machine Deployment
context (empty) Yippee is explicitly designed only for single-machine deployments with persistent file systems.
relation (empty) uses
source_node_id (empty) 9d3a5fb9-7574-4418-ad85-0df8c30c0854
target_node_id (empty) 323a8438-ed11-4600-a5ad-17f77890efc7
create YippeeusesRouting Tree
context (empty) Yippee's controller layer is a ground-up-rebuilt routing tree.
relation (empty) uses
source_node_id (empty) 9d3a5fb9-7574-4418-ad85-0df8c30c0854
target_node_id (empty) e7a06b3c-db45-408a-8add-a83f91ae53a8

Read set

145 nodes

person Stephen Margheim search_nodes takeaway Name Things To Find Their Properties search_nodes concept xkcd Dependency / Nebraska Problem search_nodes concept AI Agent search_nodes tool ChatGPT search_nodes tool langchainrb search_nodes concept Tethered Cat Fallacy search_nodes concept Retrieval Augmented Generation search_nodes project Check search_nodes concept Vector Embeddings search_nodes tool sqlite3-ruby search_nodes concept Custom SQLite Functions in Ruby search_nodes takeaway Add enhanced-sqlite3-adapter for production SQLite on Rails search_nodes tool sqlpkg search_nodes tool enhanced-sqlite3-adapter search_nodes talk From PostgreSQL to SQLite in Rails search_nodes talk How (and why) to run SQLite in production search_nodes question Is starting with SQLite a lock-in if I later need Postgres? search_nodes talk Fantastic Databases and Where to Find Them search_nodes takeaway Adopt SQLite to cut Rails infrastructure cost and DevOps overhead search_nodes person Joel Drapper search_nodes company Clear Scope search_nodes tool Literal search_nodes concept Type As Description Of A Set search_nodes resource Rooftop Ruby search_nodes takeaway Be kind and build useful things search_nodes tool left-pad search_nodes tool Quickdraw search_nodes concept Rubber Duck Debugging search_nodes event wroclove.rb 2025 search_nodes event Rails World search_nodes talk Rewrite with confidence search_nodes takeaway Support Your Local Ruby Community search_nodes event wroclove.rb 2019 search_nodes talk On the tasteful journey to Yippee search_nodes+get_node_edges event EmberConf search_nodes talk No 'Pundit' Intended search_nodes event wroclove.rb 2026 search_nodes event wroclove.rb 2018 search_nodes tool ViewComponent search_nodes question How do you test rendered Phlex components? search_nodes takeaway ViewComponent Checklist search_nodes tool Phlex search_nodes takeaway Phlex is only faster than ERB at scale search_nodes concept ViewComponent Slots search_nodes project Ruby UI search_nodes takeaway Borrow From Non-Rails View Approaches search_nodes tool Lookbook search_nodes talk Building Beautiful UIs with Ruby A Rails-Native Approach search_nodes project Music Education SaaS search_nodes resource Rails Architect Master Class search_nodes resource The Rails and Hotwire Codex search_nodes talk Mentoring the Rails World Website Lightning Talk search_nodes talk Securing Rails applications search_nodes resource Painless Rails search_nodes talk Counterintuitive Rails pt. 1 search_nodes takeaway Rails Way vs Design Way search_nodes tool Roda search_nodes concept Tree Shaking search_nodes takeaway Avoid params-driven development search_nodes concept Rails RouteSet clear search_nodes tool ROM search_nodes project Ruby News search_nodes tool Hanami View search_nodes tool Deface search_nodes concept Partial Rendering Overhead search_nodes tool Cells search_nodes tool Hanami search_nodes concept Cynefin Framework search_nodes project monolith framework search_nodes tool hanami-events search_nodes talk Extracting logic from templates with Hanami Views search_nodes tool Rack search_nodes tool Ruby on Rails search_nodes talk Towards the post framework future search_nodes tool Bootsnap search_nodes tool Rails 8.1 search_nodes tool Rails 5.2 search_nodes tool cssbundling-rails search_nodes tool Packwerk search_nodes tool Jumpstart Pro search_nodes concept Fixtures over Factories search_nodes tool jsbundling-rails search_nodes concept Rails Reload-Safe ES Configuration search_nodes tool Webpacker search_nodes resource Ruby parse.y search_nodes tool SQLite search_nodes tool Sequel search_nodes talk Code Golfing in Ruby Lightning Talk search_nodes talk Scientific Ruby Lightning Talk search_nodes project Ruby Romania search_nodes talk Rubyana Gems and the Ractorous Rubetta Stones! search_nodes talk To Refine or Not to Refine search_nodes talk Game Hunter JRuby Roguelike Lightning Talk search_nodes person Adam Okoń search_nodes talk Developer, Programmer, and AI search_nodes resource awesome-ddd search_nodes concept Developer vs Programmer search_nodes talk Ever shorter feedback loop search_nodes takeaway Mentor by Guiding, Not Coding search_nodes resource tips.rstankov.com search_nodes tool Render search_nodes concept GitHub Self-Hosted Runner search_nodes takeaway Dockerize Exotic Dependencies search_nodes takeaway Sign serverlessforruby.org petition search_nodes tool GitHub Actions search_nodes takeaway Buy Faster Hardware search_nodes tool Heroku search_nodes talk Kamal is not harder than your PaaS search_nodes tool CircleCI search_nodes company OVH search_nodes concept N+1 Queries search_nodes concept Active Record search_nodes question Is Active Record N+1 still a problem on SQLite? search_nodes concept Active Record Custom Types search_nodes question Aren't query optimizations a better first step than caching? search_nodes concept Domain Model (vs Active Record Model) search_nodes concept find_each vs each search_nodes concept Isolated Reader/Writer Connection Pools search_nodes concept destroy_all vs delete_all search_nodes talk LATERAL Joins Rails Performance Lightning Talk search_nodes resource My Ruby Story search_nodes resource Ruby Rogues search_nodes project Just a Spec search_nodes resource Stack Overflow Podcast Episode with Max Howell on tea search_nodes person Emiliano Della Casa search_nodes resource Short Ruby Newsletter search_nodes talk Events events events search_nodes concept GraphQL max_depth search_nodes tool webpagetest.org search_nodes tool RealtimeBoard search_nodes concept Retry Error Wrapper Pattern search_nodes concept Aggregate Root Anti-Pattern search_nodes resource Patterns of Enterprise Application Architecture search_nodes concept CQRS search_nodes concept Event-Driven CRUD Hybrid search_nodes project aggregates repository search_nodes concept Flat Query Structure search_nodes takeaway Don't Conflate Entity, Handler and Projection search_nodes concept Accordion of Complexity search_nodes concept Stalling For Time search_nodes resource shadcn/ui search_nodes takeaway Avoid complexity before fighting it search_nodes concept Boolean Flags as Implicit State search_nodes tool Speaker Deck search_nodes

2 edges