Ruby HTML Other
Latest commit 6d8dfcf Aug 25, 2016 @robinjam robinjam committed on GitHub Merge pull request #2707 from alphagov/fix-sff-checksums-data
Regenerate regression test artefacts (Student Finance Forms)
Failed to load latest commit information.
app Remove July's AB testing code. Aug 22, 2016
bin Fix Style/ExtraSpacing violations Apr 19, 2016
config Restructure JS to use standard application.js Aug 12, 2016
db Initial blank rails app. Oct 27, 2011
doc Document the use of the "In code review" label Jul 29, 2016
lib Content change to misleading CNI statement (Marriage abroad) Aug 24, 2016
log Initial blank rails app. Oct 27, 2011
public Remove dangling symlinks Aug 13, 2012
script Enable Lint/AssignmentInCondition cop & fix violations Jun 1, 2016
test Regenerate regression test artefacts (Student Finance Forms) Aug 25, 2016
vendor Fix js errors in chrome 35 May 27, 2014
.gitignore Don't track coverage directory Jun 29, 2012
.rubocop.yml Remove .rubocop_todo.yml and related documentation Jun 1, 2016
.ruby-version Upgrade Ruby from v2.2.4 to 2.3.0 Mar 10, 2016 Merge pull request #2013 from alphagov/update-documentation-about-con… Oct 15, 2015
Gemfile Upgrade rails to (CVE-2016-6316) Aug 12, 2016
Gemfile.lock Update sass-rails gem to remove deprecation warning Aug 16, 2016 Correct attribution of copyright Mar 11, 2015 Add link to Analytics doc from README Jul 25, 2016
Rakefile Disable logging in test Jul 10, 2012
app.json Add basic app.json for Heroku deployments Jul 21, 2016 Fix Style/ExtraSpacing violations Apr 19, 2016 Make executable Dec 8, 2014 Exclude existing Rubocop violations using auto-generated config Mar 30, 2016 Add Apr 2, 2014 Add a handy script to start up the app in development. Feb 2, 2012 Update Heroku settings from preview to integration Jan 21, 2016

Smart Answers

Smart answers are a great tool for content designers to present complex information in a quick and simple way. Defining what they are – decision trees? calculators? tools? is immaterial – what they do is provide a reusable technical framework to build a quick and simple answer to a complex question.

Read more in Lisa Scott's GDS blog post.



Student Finance Forms screenshot

Live examples


  • Smart Answer: The flow, questions and outcomes.

  • Flow: Defines the questions, outcomes and the rules for navigating between them.

  • Landing page: Contains a description of the Smart Answer and the "Start now" button that leads to the first question.

  • Question page: Contains an individual question that's asked in order to help arrive at at an outcome.

  • Outcome page: Contains the result of the Smart Answer based on responses to individual questions.

Technical documentation

This is a Ruby on Rails application that contains:

  • A Rails application to serve Smart Answers
  • A DSL for creating Smart Answers
  • The Smart Answers that appear on GOV.UK

NOTE. This application doesn't use a database and as such it does not include the ActiveRecord Railtie in application.rb.


  • alphagov/static: provides static assets (JS/CSS) and the GOV.UK templates.
  • nodejs/node: provides JS runtime for precompiling assets for deployment

Running the application


Running the test suite

$ bundle exec rake

Smart Answers

 Smart Answer flow development

Smart Answers app development



MIT License