Post your examples or open source projects

Name : hickory-cricket
Github repo : n/a,!/hickory-cricket
Link to Live app :
Is it a project in production? : Demo only
Comments: Javascript selection via CSS
Owner: true


I :heart::heart::heart: Stimulus!

Here is the demo of uploading progress using rails-ujs + Stimulus.

Source code can be found here:

It is as simple as it should be.


Name : Stimulus Controllers for Mapbox-GL
Github repo :
Link to Live app : no, sorry : )
Is it a project in production? : not yet, buit it will
Owner : me / $dayjob


  • Name : Sticky Table Headers
  • Github repo :
  • Link to Live app : It’s only in the admin section of a private app I run. I have a blog post about it here and it’s on NPM here.
  • Is it a project in production? : Yes
  • Comments: This is a small port of a JQuery plugin I was using. I have a couple pages with a lot of records, so it’s nice to keep those headers as context for what all the data means. Please submit bugs if you find any, I’m sure there are a lot of missing edge cases.
  • Owner: me
1 Like

Name : StimulusJS with Rails Action Cable and a bit of Sidekiq
Github repo :
Link to Live app : n/a
Is it a project in production? : No Demo only - version of it is in prod internally used

1 Like
  1. Name: Conway’s Game Of Life on Rails with Stimulus.js
  2. Github repo:
  3. Link to Live app:
  4. Is it a project in production? : It’s a Demo :wink:
  5. Comments: Even if the architecture is kind of ridiculous, I’m really impressed with the result.
  6. Owner: Me :slight_smile:
  1. alonetone
  4. Open source production rails app since 2007 (!!), stimulus app since 2018
  5. Comments: I finally migrated a bunch of old js behavior hanging around from 2008 to a handful of stimulus controllers. All playback wrangling and js sugar is done with stimulus. The core part of the mp3 player is playback_controller.js and inherited by the other flavors of playback behavior on the site:

You haven’t updated in six months! I’m also building something like this also :slight_smile:

not great but this is my first stimulus controller:

  1. name: parameters
  2. repo: none
  3. url: none
  4. prod?: kind of but not really
  5. comments: from an hash (spec) and initial parameters, it will create form inputs dynamically depending on some other input (handles default, autocomplete, types, deepness of the spec, etc.)
  6. owner: me
class window.Parameters extends Stimulus.Controller
  @targets = ['spec', 'parameters', 'select', 'initial']

  connect: ->
    @spec = JSON.parse(@specTarget.textContent)
    @deepness = u.toI(@data.get('deepness'))
    @change(initial: true)

  change: (options = {}) ->
    @parametersTarget.innerHTML = @parametersHTML(options)

  currentSpec: ->
    return unless @deepness and @value()

    if @deepness == 2
      service = @value().split(" ")[0]
      kind = @value().split(" ")[1]

  value: ->

  baseName: ->
    baseName = @selectTarget.attributes['name'].value
    baseName.split("[").slice(0, -1).join("[")

  nameFor: (key) ->

  initial: (key) ->

  parametersHTML: (options = {}) ->, (key, spec) =>
      if options.initial
        value = @initial(key) || spec.default || ""
        value = spec.default || ""

      html = "<label><p>#{key}"
      html += "  <span class=\"form--hint\">#{spec.hint}</span>" if spec.hint
      html += "  <span class=\"form--hint\">"
      html += "     (#{u.toArray(spec.type).join(', ')})"
      html += "  </span>"
      html += "  </p><p>"
      html += "  <input list=\"parameters-#{key}\""
      html += "         name=\"#{@nameFor(key)}\""
      html += "         value=\"#{escape(value)}\""
      html += "         class=\"parameters--input\" />"
      html +  "</p></label>"

  escapeValues: ->
    @parametersTarget.querySelectorAll('.parameters--input').forEach (input) ->
      input.value = unescape(input.value)

window.application.register 'parameters', window.Parameters

(not using webpack/npm, I prefer the assets pipeline)

1 Like
Github repo : (mirror of
Link to demo app :
Is it a project in production? : Yes
Comments: A material design & modern admin for Django
Owner: jpic
1 Like

Name: Hacker News Progressive Web App
Link to demo app:
Is it a project in production?: Yes!
Comments: Written up here -
Owner: Me, but MIT Licensed. Enjoy!

  1. Partial page rendering with CakePHP
  2. GitHub repo:
  3. Link to Live app:
  4. Is it a project in production? : It’s an example :smirk:
  5. Comments: See repo README.
  6. Owner: Me. MIT Licensed.
1 Like

Not really a “project”, just a gist that shows how I was able to get the HelloController example working in my Sinatra app without a build system but with a Babel transpilation step.



name: Stimulus.js Demo
Githugb repo:
Link to live:
Production: no
Comments: This is a simple multi page demo application (MPA) with pre-rendered HTML using Stimulus.js.

Hope it helps!

1 Like
  1. Name: Telepub
  2. Github:
  3. production: no!
  4. Comments: Please share feedback, do you need this? would you help ?
1 Like

Nice example. Did you know though that instead of declaring getters for your targets that you can just access them with this.nameTarget?

  1. Cart Example - Stimulus (Building the Same UI Three Modest Ways)
  2. Github repo :
  3. Link to Live app :
  4. Is it a project in production? : Demo only
  5. Comments: I built the same sample Shopping Cart app UI using three different ways. This example is for the Stimulus version, and there are two other versions done in vanilla JS and using spot view-models (vue.js). Detailed in the chapter called Building the Same UI Three Modest Ways of a book I wrote called Modest JS Works.
  6. Owner :

Name : LearnAwesome
Github repo :
Link to Live app :
Is it a project in production? : Yes
Comments: It uses TailwindCSS and AlpineJS so that components are fully described within their HTML markup. We will now start implementing Hotwire / Turbo support. Should be simple because many of our components are already using SJR for partial page updates. Excited about the prospects of only having to worry about state management on the server.

1 Like

Name: Audiotrails
Live app:
In production? Yes (side project)

Podcast app. Uses Django backend and Turbolinks/StimulusJS on frontend (just updated to new Hotwire/Turbo and Stimulus2) with Tailwind CSS. Uses an HTML5 audio player and machine learning to create podcast recommendations.