Open source

Small Rails and JavaScript tools for everyday development.

We built these libraries for recurring jobs in Rails applications, including metadata, form objects, and JavaScript lifecycle behavior. They are available for other teams to use.

Available releases

Tools you can use in your own Rails app.

3gems released on RubyGems
MITlicensed for use under the MIT license
For Rails appsbuilt for Rails and Turbo applications
Projects

Tools for the jobs that keep coming up.

Each tool handles a specific job inside a Rails app. You can use the one you need.

Rails + Turbo JavaScript lifecycle

Achilles

Released on RubyGems

A JavaScript lifecycle layer for Rails and Turbo apps, with component classes as an alternative to Stimulus.

Why it exists

Use it for class-based browser behavior, Turbo lifecycle hooks, and importmap-based JavaScript inside a Rails app.

Rails engineTurboImportmapJavaScript
SEO metadata and JSON-LD for Rails

PageStructuredData

Released on RubyGems

A Rails gem that renders page titles, meta tags, Open Graph tags, Twitter cards, breadcrumbs, and Schema.org JSON-LD from page objects.

Why it exists

Keep metadata consistent across pages without writing the same tags in every template.

RailsSEOSchema.orgMetadata
Form objects without database persistence

PassiveModel

Released on RubyGems

A Rails gem for getting model-like behavior without saving records to the database.

Why it exists

Use it for contact forms, request objects, and other inputs that need validation but do not need their own database records.

RailsActiveModelFormsValidation
Engineering principles

How we look after the tools.

We write examples, test changes, and document releases so other teams can understand and use the tools.

Ship useful releases

We keep the gems small, with releases, changelogs, tests, and README examples to help people use them.

Use them in real apps

These tools grew out of work on metadata, form objects, Turbo behavior, and Rails engine integration in our applications.

Keep the API easy to maintain

We aim for small, documented APIs that are easier to understand and maintain through Rails upgrades.

Use our tools

Need help keeping your Rails app understandable?

We can help your team work on Rails code, shared libraries, and upgrades with clear interfaces, tests, and documentation.

Discuss your Rails app