← Extractions

Forms Are Dead: Building Agentic Workflows in Ruby — Adam Okoń at wroclove.rb 2026

Adam Okoń presents a pattern for augmenting complex B2B forms with LLM-driven analysis — users paste requirements as text and the agent translates them into pre-filled form state for human review. Covers monolith vs. microservice architectures with Ruby LLM, async/fibers for heavy IO workloads, and observability via OpenTelemetry, with a production case study showing dramatic time reduction and higher adoption of supporting features.

Model
claude-opus-4-7
Ingestion
f15b33e0
Input tokens
434,528
fresh
126,418
cached
130,066
cache write
178,044
Output tokens
9,183
Duration
163.2s
Roundtrips
5
Tool calls
13
Cost
$0.00
Nodes/edges extracted
17 / 31
Read set (nodes/edges)
444 / 2

Nodes (17)

update Adam Okoń person
attrs (empty) {"role" => "independent consultant / tech lead / product developer", "community_role" => "co-organizer of local Ruby ...
description Ruby developer building agentic AI workflows. Independent consultant working mostly as a tech lead / product developer building B2B solutions. Ruby developer of 17...
short_description Ruby developer, agentic workflows. Independent Ruby consultant, tech lead building B2B solutions, agentic workflows.
update Forms Are Dead: Building Agentic Workflows in Ruby talk
attrs {"type" => "talk"} {"date" => "2026-04-17", "type" => "talk"}
description Talk on agentic AI workflows. Adam Okoń's first big-stage talk, delivered at wroclove.rb 2026. Argues that complex forms are a bottleneck for non-t...
short_description Talk on agentic AI workflows. Adam Okoń's wroclove.rb 2026 talk on augmenting B2B forms with LLM-driven agentic workflows in Ruby.
create Augmented Form Workflow concept
kind (empty) concept
name (empty) Augmented Form Workflow
slug (empty) augmented-form-workflow
attrs (empty) {"category" => "pattern"}
description (empty) Pattern introduced by Adam Okoń for complex B2B forms that are primarily used to translate requirements (e.g. email f...
short_description (empty) Two-step form pattern: paste requirements as text, LLM analyzes and pre-fills the form for user review.
create Consolidation Window concept
kind (empty) concept
name (empty) Consolidation Window
slug (empty) consolidation-window
attrs (empty) {"category" => "pattern"}
description (empty) Insight from Adam Okoń's talk: while waiting for LLM tokens during the analysis phase, the same background job can pr...
short_description (empty) Using the LLM analysis phase to prepare state for subsequent screens, amortizing cost across features.
create Baseline Metrics Before Building AI Features takeaway
kind (empty) takeaway
name (empty) Baseline Metrics Before Building AI Features
slug (empty) baseline-metrics-before-building-ai-features
attrs (empty) {"type" => "recommendation"}
description (empty) Before building an AI-augmented workflow, record baseline metrics (especially time of the operation) over some period...
short_description (empty) Measure operation time and token cost baselines before and after to decide if an AI feature has impact.
create Use async for Heavy IO LLM Workloads takeaway
kind (empty) takeaway
name (empty) Use async for Heavy IO LLM Workloads
slug (empty) use-async-for-heavy-io-llm-workloads
attrs (empty) {"type" => "recommendation"}
description (empty) For LLM-heavy, IO-bound background work in Ruby, prefer fibers over threads. The async community provides an adapter ...
short_description (empty) Switch Active Job adapter to async and use async's barrier to scale concurrent LLM IO calls.
create Best UI Is No UI takeaway
kind (empty) takeaway
name (empty) Best UI Is No UI
slug (empty) best-ui-is-no-ui
attrs (empty) {"type" => "insight"}
description (empty) Adam Okoń's personal opinion delivered in Q&A when asked why he chose an AI approach rather than splitting the comple...
short_description (empty) Adam Okoń's opinion that the best user interface is the absence of one.
create Community Distinguishing Heavy CPU vs Heavy IO takeaway
kind (empty) takeaway
name (empty) Community Distinguishing Heavy CPU vs Heavy IO
slug (empty) community-distinguishing-heavy-cpu-vs-heavy-io
attrs (empty) {"type" => "insight"}
description (empty) Observation from Adam Okoń: across wroclove.rb 2026 talks and recent Ruby tooling, the community is increasingly dist...
short_description (empty) Ruby community increasingly separates heavy-CPU and heavy-IO concurrency patterns.
update Ruby LLM tool
description Ruby gem providing a cleaner, more readable wrapper over LLM APIs than early LangChain-style scanning for magic marke... Ruby gem providing a cleaner, more readable wrapper over LLM APIs than early LangChain-style scanning for magic marke...
update async tool
description Newer Ruby concurrency framework based on fibers. Not available when David Halasz started the project; he notes he wo... Newer Ruby concurrency framework based on fibers. Not available when David Halasz started his VNC proxy project; he n...
update Puma tool
description Concurrent Rack web server used by David Halasz to run the PURR demo server. Concurrent Rack web server used by David Halasz to run the PURR demo server. At wroclove.rb 2026 Adam Okoń noted that...
update Anthropic company
description AI company that coined the term 'many-shot jailbreaking' and published the corresponding paper on LLM jailbreaking te... AI lab that publishes frontier LLMs and coined the term 'many-shot jailbreaking'. Referenced in Adam Okoń's wroclove....
short_description AI safety company that published the many-shot jailbreaking paper. AI safety company and LLM lab; publisher of Claude and the many-shot jailbreaking paper.
create Why AI backend instead of optimizing the UI into smaller steps question
kind (empty) question
name (empty) Why AI backend instead of optimizing the UI into smaller steps
slug (empty) why-ai-backend-instead-of-optimizing-the-ui-into-smaller-steps
attrs (empty) {"answer_summary" => "Personal opinion: the best UI is no UI."}
description (empty) Audience member referenced an earlier talk showing a complex form split into multi-step pages each containing only a ...
short_description (empty) Why not split the 20-field form into multi-step pages of 2–5 fields instead of adding AI?
create Why server-side AI instead of in-browser WebLLM question
kind (empty) question
name (empty) Why server-side AI instead of in-browser WebLLM
slug (empty) why-server-side-ai-instead-of-in-browser-webllm
attrs (empty) {"answer_summary" => "In regulated markets the security department will likely ban client-side AI; server-side keeps ...
description (empty) Audience member suggested running the LLM in the browser (WebLLM, future embedded Chrome models) to prefill forms dir...
short_description (empty) Why run AI on the backend when modern browsers (and WebLLM, future embedded Chrome LLM) can do it client-side?
create Measured async performance vs sequential and threads question
kind (empty) question
name (empty) Measured async performance vs sequential and threads
slug (empty) measured-async-performance-vs-sequential-and-threads
attrs (empty) {"answer_summary" => "Sequential ~50s → async ~15–20s; async's abstraction is easy to extend and scale further."}
description (empty) Audience question on whether Adam could quantify the gain from using fibers and async over a traditional thread-based...
short_description (empty) Did switching from sequential/thread-based calls to async+fibers show measurable IO gains?
create Preserving user options when AI-prefills a constrained form question
kind (empty) question
name (empty) Preserving user options when AI-prefills a constrained form
slug (empty) preserving-user-options-when-ai-prefills-a-constrained-form
attrs (empty) {"answer_summary" => "Keep the form — AI only pre-fills state; users still see/pick options manually, and you need a ...
description (empty) Audience question: complex forms communicate to the user the structure and the options available for each field; how ...
short_description (empty) Forms give users the structure/options they can pick — how do you preserve that with AI?
create Walking users through nested conditional forms with AI question
kind (empty) question
name (empty) Walking users through nested conditional forms with AI
slug (empty) walking-users-through-nested-conditional-forms-with-ai
attrs (empty) {"answer_summary" => "First audit/simplify nested paths; then show the user a live preview of the LLM's understanding...
description (empty) Audience question about complex forms where selecting one option scopes subsequent options, and how to help users con...
short_description (empty) How do you guide users through deeply nested conditional forms so they know the AI understands them correctly?

Edges (31)

update Adam OkońauthoredForms Are Dead: Building Agentic Workflows in Ruby
context (empty) Adam Okoń delivered this talk as his first big-stage presentation.
update Forms Are Dead: Building Agentic Workflows in Rubypresented_atwroclove.rb 2026
context (empty) Delivered on day 1 of wroclove.rb 2026.
create Adam Okońhas_skillRuby
attrs (empty) {"level" => "expert", "years" => "17+"}
context (empty) Uses Ruby after 17 years and still uses it mostly as his tech stack.
relation (empty) has_skill
source_node_id (empty) 668173b1-698e-4806-852f-79ba9803b350
target_node_id (empty) c7f25b33-06c9-460e-aca7-fe993123ebee
create Forms Are Dead: Building Agentic Workflows in RubyaboutAugmented Form Workflow
context (empty) Core pattern introduced in the talk.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) f30bf9a9-61f4-4fec-93d9-e76063c3da0f
create Forms Are Dead: Building Agentic Workflows in RubyaboutAI Agent
context (empty) The talk is framed around building agentic workflows.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) 54eb5591-9778-4e71-b4d1-e195e22bd70f
create Forms Are Dead: Building Agentic Workflows in RubyaboutConsolidation Window
context (empty) Introduces the idea that the LLM analysis phase can also prepare state for other screens.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) 59c06790-0315-4620-97dc-c94111732ee0
create Forms Are Dead: Building Agentic Workflows in RubyaboutRuby LLM
context (empty) Recommended as the monolith LLM integration gem with agent/tool abstractions.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) c18812ec-95b1-460a-a4a9-ced4cdba2a83
create Forms Are Dead: Building Agentic Workflows in Rubyaboutasync
context (empty) Recommended for heavy IO-bound LLM workloads using fibers and the barrier abstraction.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) 4d8e2014-65dc-4a6f-bc12-9ff52b673763
create Forms Are Dead: Building Agentic Workflows in RubyaboutOpenTelemetry
context (empty) Recommended as an observability tool to inspect long-running LLM workflows.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) 39ce1c2f-63e7-4a8d-859f-40e7f1bd6d4b
create Forms Are Dead: Building Agentic Workflows in RubyaboutSidekiq
context (empty) Cited as the typical background-job engine in the monolith path.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) 2365c22d-c83e-4553-b865-ec22d0b5b225
create Forms Are Dead: Building Agentic Workflows in RubyaboutSolid Queue
context (empty) Cited as an alternative background-job engine in the monolith path.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) bc443bd9-cc27-4641-8b44-b26cbc448fde
create Forms Are Dead: Building Agentic Workflows in RubyaboutTurbo Streams
context (empty) Cited as the real-time mechanism for pushing analyzed state back to the user.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) 49fa87f7-e960-4281-8be7-62c36bbd270b
create Forms Are Dead: Building Agentic Workflows in RubyaboutRuby on Rails
context (empty) Primary framework for the monolith implementation of the workflow.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) 7aac705a-0987-49f2-b665-9d4e08a6acee
create Forms Are Dead: Building Agentic Workflows in RubyaboutPuma
context (empty) Cited as evidence the community is adopting fiber pools for IO concurrency.
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) 39300066-39d4-4bb3-b15b-0fb67a3d3867
create Forms Are Dead: Building Agentic Workflows in RubyaboutAnthropic
context (empty) Referenced as part of the LLM lab release cycle and recent issues (Claude code source exposure, subscription cancella...
relation (empty) about
source_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
target_node_id (empty) 8a4c3ea5-b30a-4f01-a987-c584b8e991ab
create Baseline Metrics Before Building AI Featuresfrom_talkForms Are Dead: Building Agentic Workflows in Ruby
context (empty) Adam Okoń's closing recommendation to measure KPIs before and after.
relation (empty) from_talk
source_node_id (empty) 2385d3be-9b87-4405-b8f6-b4cd5eb1233c
target_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
create Use async for Heavy IO LLM Workloadsfrom_talkForms Are Dead: Building Agentic Workflows in Ruby
context (empty) Adam Okoń's recommendation to adopt async for LLM-heavy IO workloads.
relation (empty) from_talk
source_node_id (empty) 1770a29d-b5a9-4e80-b29d-106e1d743230
target_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
create Best UI Is No UIfrom_talkForms Are Dead: Building Agentic Workflows in Ruby
context (empty) Adam Okoń's Q&A answer when asked why he chose AI over UI optimization.
relation (empty) from_talk
source_node_id (empty) fdc787ba-9c4a-4a3b-9c84-58eb60527f25
target_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
create Community Distinguishing Heavy CPU vs Heavy IOfrom_talkForms Are Dead: Building Agentic Workflows in Ruby
context (empty) Observation from the talk's closing section, citing Puma's new fiber pool as evidence.
relation (empty) from_talk
source_node_id (empty) ade32e6e-5bf5-42ea-ac91-625b14edebe8
target_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
create Use async for Heavy IO LLM Workloadsaboutasync
context (empty) Recommends adopting the async gem for LLM workflows.
relation (empty) about
source_node_id (empty) 1770a29d-b5a9-4e80-b29d-106e1d743230
target_node_id (empty) 4d8e2014-65dc-4a6f-bc12-9ff52b673763
create Baseline Metrics Before Building AI FeaturesaboutOpenTelemetry
context (empty) Recommends OpenTelemetry to verify what's happening inside AI workflows.
relation (empty) about
source_node_id (empty) 2385d3be-9b87-4405-b8f6-b4cd5eb1233c
target_node_id (empty) 39ce1c2f-63e7-4a8d-859f-40e7f1bd6d4b
create Why AI backend instead of optimizing the UI into smaller stepsasked_atForms Are Dead: Building Agentic Workflows in Ruby
context (empty) Audience Q&A.
relation (empty) asked_at
source_node_id (empty) 926e518d-a0a0-40f9-a376-e6172e64addd
target_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
create Why server-side AI instead of in-browser WebLLMasked_atForms Are Dead: Building Agentic Workflows in Ruby
context (empty) Audience Q&A about running AI client-side in the browser.
relation (empty) asked_at
source_node_id (empty) 115e5a1a-74e3-42fa-a146-90c57bf980bf
target_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
create Measured async performance vs sequential and threadsasked_atForms Are Dead: Building Agentic Workflows in Ruby
context (empty) Audience Q&A about measured async/fiber performance gains.
relation (empty) asked_at
source_node_id (empty) da0a87fa-a8f3-4a63-b289-6822d8afe503
target_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
create Preserving user options when AI-prefills a constrained formasked_atForms Are Dead: Building Agentic Workflows in Ruby
context (empty) Audience Q&A about how forms still communicate options to users under AI prefill.
relation (empty) asked_at
source_node_id (empty) 7fb4378f-c54d-4ee0-930b-a698a0f88a22
target_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
create Walking users through nested conditional forms with AIasked_atForms Are Dead: Building Agentic Workflows in Ruby
context (empty) Audience Q&A about guiding users through nested conditional forms.
relation (empty) asked_at
source_node_id (empty) 155d4b5b-47fb-4624-803e-8cb976d32194
target_node_id (empty) 6aa05410-b147-4989-8474-def4cd6f0ab4
create Measured async performance vs sequential and threadsaboutasync
context (empty) Question specifically about async's performance characteristics.
relation (empty) about
source_node_id (empty) da0a87fa-a8f3-4a63-b289-6822d8afe503
target_node_id (empty) 4d8e2014-65dc-4a6f-bc12-9ff52b673763
create Why server-side AI instead of in-browser WebLLMaboutAnthropic
context (empty) Answer mentions Anthropic cancelling a company's subscription as backup-plan justification.
relation (empty) about
source_node_id (empty) 115e5a1a-74e3-42fa-a146-90c57bf980bf
target_node_id (empty) 8a4c3ea5-b30a-4f01-a987-c584b8e991ab
create Adam OkońrecommendsRuby LLM
context (empty) Recommends Ruby LLM for monolith LLM integration with agent/tool abstractions.
relation (empty) recommends
source_node_id (empty) 668173b1-698e-4806-852f-79ba9803b350
target_node_id (empty) c18812ec-95b1-460a-a4a9-ced4cdba2a83
create Adam Okońrecommendsasync
context (empty) Recommends async and fibers over threads for heavy IO-bound LLM workloads.
relation (empty) recommends
source_node_id (empty) 668173b1-698e-4806-852f-79ba9803b350
target_node_id (empty) 4d8e2014-65dc-4a6f-bc12-9ff52b673763
create Adam OkońrecommendsOpenTelemetry
context (empty) Recommends OpenTelemetry for observing LLM workflows.
relation (empty) recommends
source_node_id (empty) 668173b1-698e-4806-852f-79ba9803b350
target_node_id (empty) 39ce1c2f-63e7-4a8d-859f-40e7f1bd6d4b

Read set

444 nodes

event 2NIT Nerds on Lakes Sailing Trip list_nodes_by_kind event Advent of Code list_nodes_by_kind event Brighton Ruby list_nodes_by_kind event EmberConf list_nodes_by_kind event Eventide Summit 2023 list_nodes_by_kind event Hacktoberfest list_nodes_by_kind event KanDDDinsky list_nodes_by_kind event Rails World list_nodes_by_kind event RubyKaigi list_nodes_by_kind event wroclove.rb 2018 list_nodes_by_kind event wroclove.rb 2019 list_nodes_by_kind event wroclove.rb 2022 list_nodes_by_kind event wroclove.rb 2023 list_nodes_by_kind event wroclove.rb 2024 list_nodes_by_kind event wroclove.rb 2025 list_nodes_by_kind event wroclove.rb 2026 list_nodes_by_kind tool Abbrev list_nodes_by_kind tool Action Cable list_nodes_by_kind+search_nodes tool action_policy list_nodes_by_kind tool actions/checkout list_nodes_by_kind tool actions/upload-artifact list_nodes_by_kind tool Active Admin list_nodes_by_kind tool activerecord-multi-tenant list_nodes_by_kind tool Active Storage list_nodes_by_kind+search_nodes tool acts_as_api list_nodes_by_kind tool acts_as_paranoid list_nodes_by_kind tool acts_as_tenant list_nodes_by_kind tool AES list_nodes_by_kind tool aggregate_root list_nodes_by_kind tool Akamai list_nodes_by_kind tool Amazon CloudFront list_nodes_by_kind tool Amazon ECS list_nodes_by_kind tool Amazon Elastic Transcoder list_nodes_by_kind tool Amazon Route 53 list_nodes_by_kind tool Amazon S3 list_nodes_by_kind tool Amazon Web Services list_nodes_by_kind tool Android Studio list_nodes_by_kind tool Angular list_nodes_by_kind tool anyway_config list_nodes_by_kind tool Apache HTTP Server list_nodes_by_kind tool Apache Kafka list_nodes_by_kind tool Apartment list_nodes_by_kind tool Apollo GraphQL list_nodes_by_kind tool Apollo GraphQL Platform list_nodes_by_kind tool Apple QuickTime list_nodes_by_kind tool AppSignal list_nodes_by_kind tool Argon2 list_nodes_by_kind tool async list_nodes_by_kind+search_nodes tool Automatic Signed Exchanges list_nodes_by_kind tool Avo list_nodes_by_kind tool awk list_nodes_by_kind tool AWS CloudWatch list_nodes_by_kind tool AWS DataSync list_nodes_by_kind tool AWS Elastic Load Balancer list_nodes_by_kind tool AWS Lambda list_nodes_by_kind tool AWS SDK for Ruby list_nodes_by_kind tool Axon Framework list_nodes_by_kind tool Babel list_nodes_by_kind tool Baron list_nodes_by_kind tool bcrypt list_nodes_by_kind tool BME280 list_nodes_by_kind tool Bootsnap list_nodes_by_kind tool Brotli list_nodes_by_kind tool Browserslist list_nodes_by_kind tool bump gem list_nodes_by_kind tool C++ list_nodes_by_kind tool CanCan list_nodes_by_kind tool Capybara list_nodes_by_kind tool CarrierWave list_nodes_by_kind+search_nodes tool carrierwave_backgrounder list_nodes_by_kind tool carrierwave-video list_nodes_by_kind tool Cassandra list_nodes_by_kind tool Cells list_nodes_by_kind tool Celluloid list_nodes_by_kind tool ChatGPT list_nodes_by_kind+search_nodes tool chess.com list_nodes_by_kind tool Chrono list_nodes_by_kind tool CircleCI list_nodes_by_kind tool Citus list_nodes_by_kind tool ClickHouse list_nodes_by_kind tool Clojure list_nodes_by_kind tool ClojureScript list_nodes_by_kind tool Cloudflare R2 list_nodes_by_kind+search_nodes tool Cloudflare Workers list_nodes_by_kind tool CockroachDB list_nodes_by_kind tool Codecov list_nodes_by_kind tool colors.js list_nodes_by_kind tool concurrent-ruby list_nodes_by_kind tool Cordova list_nodes_by_kind tool core-js list_nodes_by_kind tool Crystal list_nodes_by_kind tool Crystal Ball list_nodes_by_kind tool cssbundling-rails list_nodes_by_kind tool curl list_nodes_by_kind tool curses list_nodes_by_kind tool Datadog list_nodes_by_kind tool DBM / SDBM / GDBM list_nodes_by_kind tool decide_rb list_nodes_by_kind tool Deface list_nodes_by_kind tool Dependency list_nodes_by_kind tool Devise list_nodes_by_kind tool devise_token_auth list_nodes_by_kind tool devise_token_authenticatable list_nodes_by_kind tool devise-two-factor list_nodes_by_kind tool Discourse list_nodes_by_kind tool Distributed Ruby list_nodes_by_kind tool Django list_nodes_by_kind tool Docker list_nodes_by_kind tool Docker Compose list_nodes_by_kind tool dry-cli list_nodes_by_kind tool dry-container list_nodes_by_kind tool dry-struct list_nodes_by_kind tool dry-types list_nodes_by_kind tool dry-validation list_nodes_by_kind tool EDN list_nodes_by_kind tool Elasticsearch list_nodes_by_kind tool Electron list_nodes_by_kind tool Elixir list_nodes_by_kind tool Elm list_nodes_by_kind tool Ember.js list_nodes_by_kind tool enhanced-sqlite3-adapter list_nodes_by_kind tool Entity Store list_nodes_by_kind tool Erlang list_nodes_by_kind tool esbuild list_nodes_by_kind tool ESLint list_nodes_by_kind tool ESP32 list_nodes_by_kind tool ESP-IDF list_nodes_by_kind tool Ethereum list_nodes_by_kind tool EventMachine list_nodes_by_kind tool Express.js list_nodes_by_kind tool FactoryBot list_nodes_by_kind tool Faker list_nodes_by_kind tool Faker.js list_nodes_by_kind tool FakeWeb list_nodes_by_kind tool Falcor list_nodes_by_kind tool Faraday list_nodes_by_kind tool FFmpeg list_nodes_by_kind tool ffprobe list_nodes_by_kind tool file (Unix command) list_nodes_by_kind tool find-slow script list_nodes_by_kind tool Fingerprint list_nodes_by_kind tool fish shell list_nodes_by_kind tool flag_shih_tzu list_nodes_by_kind tool floating-ui list_nodes_by_kind tool Flow list_nodes_by_kind tool FreeRTOS list_nodes_by_kind tool Fulcro list_nodes_by_kind tool Fulcro Inspect list_nodes_by_kind tool git bisect list_nodes_by_kind tool GitHub Actions list_nodes_by_kind tool GitHub Releases list_nodes_by_kind tool Glimmer list_nodes_by_kind tool Go list_nodes_by_kind tool Golf Script list_nodes_by_kind tool Google Analytics list_nodes_by_kind tool Google Search Console list_nodes_by_kind tool Grafana list_nodes_by_kind tool granity list_nodes_by_kind tool GraphQL list_nodes_by_kind tool graphql-batch list_nodes_by_kind tool graphql-preload list_nodes_by_kind tool graphql-ruby list_nodes_by_kind tool graphql-ruby-fragment-cache list_nodes_by_kind tool gRPC list_nodes_by_kind tool Guard list_nodes_by_kind tool gzip list_nodes_by_kind tool Hanami list_nodes_by_kind tool hanami-events list_nodes_by_kind tool Hanami View list_nodes_by_kind tool Hatchbox list_nodes_by_kind+search_nodes tool heapy list_nodes_by_kind tool Heckle list_nodes_by_kind tool Heroku list_nodes_by_kind tool Homebrew list_nodes_by_kind tool Honeycomb list_nodes_by_kind+search_nodes tool Hotwire list_nodes_by_kind+search_nodes tool htmx list_nodes_by_kind tool HTTP/2 list_nodes_by_kind tool HTTP gem list_nodes_by_kind tool ImageMagick list_nodes_by_kind tool image_processing gem list_nodes_by_kind tool Initializer list_nodes_by_kind tool interactor list_nodes_by_kind+search_nodes tool Iodine list_nodes_by_kind tool IronRuby list_nodes_by_kind tool iTerm2 list_nodes_by_kind tool Java list_nodes_by_kind tool Jekyll list_nodes_by_kind tool JIRA list_nodes_by_kind tool jq list_nodes_by_kind tool JRuby list_nodes_by_kind tool jsbundling-rails list_nodes_by_kind tool JSON API Resources list_nodes_by_kind tool Jumpstart Pro list_nodes_by_kind tool Kerbal Space Program list_nodes_by_kind tool Klaviyo list_nodes_by_kind tool knapsack_pro list_nodes_by_kind+search_nodes tool Kotlin list_nodes_by_kind tool Kubernetes list_nodes_by_kind tool langchainrb list_nodes_by_kind+search_nodes tool Laravel list_nodes_by_kind tool Leela Chess Zero list_nodes_by_kind tool left-pad list_nodes_by_kind+search_nodes tool Lexer and Parser Generators list_nodes_by_kind tool libSQL list_nodes_by_kind tool libvips list_nodes_by_kind tool Lichess list_nodes_by_kind tool LiteFS list_nodes_by_kind tool Literal list_nodes_by_kind tool Litestream list_nodes_by_kind tool litestream-ruby list_nodes_by_kind tool llama.cpp list_nodes_by_kind tool llamafile list_nodes_by_kind tool LLVM list_nodes_by_kind tool log4j list_nodes_by_kind tool Logux list_nodes_by_kind tool Lookbook list_nodes_by_kind tool macOS say command list_nodes_by_kind tool Matrix (Ruby stdlib) list_nodes_by_kind tool merb list_nodes_by_kind tool MessageDB list_nodes_by_kind+search_nodes tool Metabase list_nodes_by_kind tool methods gem list_nodes_by_kind tool Midjourney list_nodes_by_kind tool Mimic list_nodes_by_kind tool mini_magick list_nodes_by_kind tool MinIO list_nodes_by_kind tool minitest list_nodes_by_kind tool Miro list_nodes_by_kind tool MobX list_nodes_by_kind tool Mockito list_nodes_by_kind tool MongoDB list_nodes_by_kind tool mruby list_nodes_by_kind tool Mutant list_nodes_by_kind tool MySQL list_nodes_by_kind tool neighbor list_nodes_by_kind tool .NET list_nodes_by_kind tool Net::HTTP list_nodes_by_kind tool New Relic list_nodes_by_kind tool Next.js list_nodes_by_kind tool nginx list_nodes_by_kind tool Node.js list_nodes_by_kind tool npm list_nodes_by_kind tool OHA list_nodes_by_kind tool Opal list_nodes_by_kind tool OpenAI Ada list_nodes_by_kind tool OpenAI GPT-4 list_nodes_by_kind tool OpenAI Tokenizer list_nodes_by_kind tool OpenFGA list_nodes_by_kind tool OpenTelemetry list_nodes_by_kind+search_nodes tool OptionParser list_nodes_by_kind tool Oso list_nodes_by_kind tool Outlook list_nodes_by_kind tool Packwerk list_nodes_by_kind tool PagerDuty list_nodes_by_kind+search_nodes tool Paperclip list_nodes_by_kind tool paper_trail list_nodes_by_kind tool parallel_tests list_nodes_by_kind tool Parrot VM list_nodes_by_kind tool Passenger list_nodes_by_kind tool Pathom list_nodes_by_kind tool Perl list_nodes_by_kind tool permit.io list_nodes_by_kind tool pganalyze list_nodes_by_kind tool PgBouncer list_nodes_by_kind+search_nodes tool PgHero list_nodes_by_kind tool Phlex list_nodes_by_kind tool Phoenix list_nodes_by_kind tool Phoenix LiveView list_nodes_by_kind tool PHP list_nodes_by_kind tool Plezi list_nodes_by_kind tool PostgreSQL list_nodes_by_kind tool PostHog list_nodes_by_kind tool power_assert list_nodes_by_kind tool Power BI list_nodes_by_kind tool Preact list_nodes_by_kind tool Prime (Ruby stdlib) list_nodes_by_kind tool PR Labeler list_nodes_by_kind tool Prometheus list_nodes_by_kind tool Protocol Buffers list_nodes_by_kind tool PStore list_nodes_by_kind tool Puma list_nodes_by_kind+search_nodes tool Pundit list_nodes_by_kind tool PureScript list_nodes_by_kind tool Python list_nodes_by_kind tool QEMU list_nodes_by_kind tool Quickdraw list_nodes_by_kind tool Rack list_nodes_by_kind tool Rack::Static list_nodes_by_kind tool Rails 5.2 list_nodes_by_kind tool Rails 8.1 list_nodes_by_kind tool rails_event_store list_nodes_by_kind+search_nodes tool Rails Event Store Event Browser list_nodes_by_kind tool RBI list_nodes_by_kind tool RBS list_nodes_by_kind tool rbspy list_nodes_by_kind tool React list_nodes_by_kind tool React Native list_nodes_by_kind tool RealtimeBoard list_nodes_by_kind tool Redis list_nodes_by_kind tool Redmine list_nodes_by_kind tool Redux list_nodes_by_kind tool Refile list_nodes_by_kind tool Reform list_nodes_by_kind tool Relay list_nodes_by_kind tool Release Drafter list_nodes_by_kind tool Render list_nodes_by_kind tool Representable list_nodes_by_kind tool Requestly list_nodes_by_kind tool RequestStore list_nodes_by_kind tool reviewdog list_nodes_by_kind tool Roda list_nodes_by_kind tool ROM list_nodes_by_kind tool RSpec list_nodes_by_kind tool Rubinius list_nodes_by_kind tool RuboCop list_nodes_by_kind tool Ruby list_nodes_by_kind tool Ruby Browser Detection Gem list_nodes_by_kind tool ruby-contracts list_nodes_by_kind tool Ruby Event Store list_nodes_by_kind+search_nodes tool RubyGems list_nodes_by_kind tool Ruby LLM list_nodes_by_kind+search_nodes tool Ruby on Rails list_nodes_by_kind tool ruby-openai list_nodes_by_kind+search_nodes tool Ruby Packer list_nodes_by_kind tool ruby/setup-ruby list_nodes_by_kind tool Rust list_nodes_by_kind tool Segment list_nodes_by_kind tool Semantic Logger list_nodes_by_kind tool Sentry list_nodes_by_kind tool Sequel list_nodes_by_kind tool server-engine list_nodes_by_kind tool Shrine list_nodes_by_kind tool Sidekiq list_nodes_by_kind+search_nodes tool SigLIP list_nodes_by_kind tool Solidus list_nodes_by_kind tool Sonic Pi list_nodes_by_kind tool Sorbet list_nodes_by_kind tool Speaker Deck list_nodes_by_kind tool Speedscope list_nodes_by_kind tool Spree list_nodes_by_kind tool Spring list_nodes_by_kind tool SQLite list_nodes_by_kind tool sqlite3-ruby list_nodes_by_kind tool sqlpkg list_nodes_by_kind tool Standard RB list_nodes_by_kind tool Steep list_nodes_by_kind tool Stimulus list_nodes_by_kind tool StimulusReflex list_nodes_by_kind tool Stockfish list_nodes_by_kind tool Strada list_nodes_by_kind tool streamio-ffmpeg list_nodes_by_kind tool Stripe list_nodes_by_kind tool Sumo Logic list_nodes_by_kind tool Swift list_nodes_by_kind tool SXG Validator list_nodes_by_kind tool Sync Space VR list_nodes_by_kind tool Tailwind CSS list_nodes_by_kind tool Tapioca list_nodes_by_kind tool TestBench list_nodes_by_kind tool test-prof list_nodes_by_kind tool ThingSpeak list_nodes_by_kind tool Thor list_nodes_by_kind tool Trailblazer list_nodes_by_kind tool Traveling Ruby list_nodes_by_kind tool TruffleRuby list_nodes_by_kind tool TSort list_nodes_by_kind tool TTY toolkit list_nodes_by_kind tool Turbo list_nodes_by_kind+search_nodes tool Turbo Drive list_nodes_by_kind tool Turbo Frames list_nodes_by_kind+search_nodes tool Turbo Laravel list_nodes_by_kind+search_nodes tool Turbo Native list_nodes_by_kind+search_nodes tool Turbo Streams list_nodes_by_kind+search_nodes tool TypeScript list_nodes_by_kind tool Typhoeus list_nodes_by_kind tool Tyrant list_nodes_by_kind tool Unicorn list_nodes_by_kind tool Uppy list_nodes_by_kind tool VCR list_nodes_by_kind tool Vernier list_nodes_by_kind tool ViewComponent list_nodes_by_kind tool WebMock list_nodes_by_kind tool WebP list_nodes_by_kind tool Webpacker list_nodes_by_kind tool webpagetest.org list_nodes_by_kind tool Wolfram Language list_nodes_by_kind tool Workspaces list_nodes_by_kind tool Xcode list_nodes_by_kind tool Yacc list_nodes_by_kind tool YARV list_nodes_by_kind tool YJIT list_nodes_by_kind tool Zencoder list_nodes_by_kind tool Zoom list_nodes_by_kind person Adam Okoń search_nodes+get_node_edges person Emiliano Della Casa search_nodes person Julik Tarkhanov search_nodes takeaway Mentorship Grows Both Sides search_nodes project Ruby Romania search_nodes resource My Ruby Story search_nodes talk Scientific Ruby Lightning Talk search_nodes takeaway Port Python Libraries With ChatGPT search_nodes talk Forms Are Dead: Building Agentic Workflows in Ruby search_nodes+get_node_edges talk Building LLM powered applications in Ruby search_nodes concept Trailblazer Workflow search_nodes question Generate code once vs instruct LLM per request search_nodes takeaway Prefer a simple top-to-bottom worker search_nodes project Solid Queue search_nodes question Why not use Solid Queue for heavy migrations? search_nodes takeaway Prefer Small Sidekiq Jobs search_nodes concept Sidekiq Batches search_nodes question Scaling Sidekiq Elastically search_nodes question Application-Level Back Pressure For Sidekiq search_nodes takeaway Keep Sidekiq Job Parameters Simple search_nodes question Wrapper Job vs Logic In Job search_nodes concept Queue Time search_nodes company Anthropic search_nodes concept Retrieval Augmented Generation search_nodes takeaway Name Things To Find Their Properties search_nodes concept AI Agent search_nodes concept LLM Tokens search_nodes concept Vector Embeddings search_nodes concept Structured LLM Output search_nodes concept HTTP Turbo Streams vs WebSocket Turbo Streams search_nodes question What licenses do Turbo Native libraries use? search_nodes talk Cables! Cables! Cables! search_nodes project Petri Nets Performance Prediction Gem search_nodes concept Auto-yielding Fibers search_nodes concept Connection Pool for Redis search_nodes concept Pareto Filter Combinations search_nodes concept Direct Upload to Cloud search_nodes company Zendesk search_nodes concept Logux Proxy search_nodes concept Unique Per-Site Email Leak Detection search_nodes project Scattergun search_nodes company Transloadit search_nodes talk GoHiring Observability Story search_nodes concept OpenTelemetry Semantic Conventions search_nodes person Tomas (OpenTelemetry speaker) search_nodes concept Wide Event search_nodes concept Trace ID Propagation search_nodes takeaway OpenTelemetry lowers vendor lock-in but switching costs remain search_nodes concept Logs vs Traces vs Metrics search_nodes takeaway Connect engineers to observability costs search_nodes

2 edges