Makes your Rails app tick — effortless, durable workflows.

class SignupWorkflow < GenevaDrive::Workflow
  step :send_welcome_email do
    WelcomeMailer.welcome(hero).deliver_later
  end

  step :send_reminder, wait: 2.days do
    ReminderMailer.remind(hero).deliver_later
  end

  step :complete_onboarding, wait: 7.days do
    hero.update!(onboarding_completed: true)
  end
end

Geneva Drive is a Ruby library that turns long, fragile procedures into sequences of discrete, durable steps. Each step begins and ends at rest; failures resume where they stopped; retries do not double-run.

Get started

$ bundle add geneva_drive
$ bin/rails generate geneva_drive:install && bin/rails db:migrate

Why the name?

The Geneva drive is a watchmaker's mechanism: a small, stubborn piece of mechanical engineering. It has outlasted its era in watches and cinema projectors alike because the geometry alone does the work. No springs, no detents, no overshoot. Find out more →

Read the manual → Browse the API GitHub