← Back to Awesome

Sections

Cycle.js

GitHub repository ↗ synced 2026/8/9

Awesome Cycle.js [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

Learn
Tools
Libraries
Community

A collection of awesome Cycle.js tools, resources, videos and shiny things.

  • Documentation
  • Tutorials
  • Videos
  • Slides
  • Example Applications
  • CLI
  • Drivers
  • Boilerplates
  • Testing
  • Debugging
  • Components

Learn

Documentation

  • cycle.js.org - Cycle.js official tutorial and documentation.

Tutorials

  • What Developers Need to Know about MVI (Model-View-Intent) - Post on MVI architecture.
  • Cycle.js: a reactive framework - Introduction to Cycle.js with real time data example.
  • Building realtime applications with CycleJS and RxJS - Learn how to build realtime applications with CycleJS and RxJS
  • Working with HTTP Streams with Cycle.js - Learn how to use Cycle.js to handle HTTP requests and responses

Videos

  • What if the user was a function? - Presentation at JSConf BP2015 by Andre Staltz
  • Unidirectional data flow architectures - Presentation AtTheFrontend Conference by Andre Staltz
  • Cycle.js and functional reactive user interfaces - Presentation at ReactiveConf 2015 by Andre Staltz
  • Intro to Functional Reactive Programming with Cycle.js - Presentation by Nick Johnstone
  • Cycle.js Fundamentals - Playlist at egghead.io
  • Cycle.js was built to solve problems - by Andre Staltz at Frontend.fi
  • Brains as Building Blocks - by Andre Staltz at CycleConf 2016
  • Back to the Future, Hot reloading with Cycle.js - by Nick Johnstone at CycleConf 2016
  • From MVC to FRP - by Gleb Bahmutov at CycleConf 2016
  • Cycle.js on the bash side - by Hadrien de Cuzey at CycleConf 2016
  • Reactive Programming with Cycle.js - by Luca Mezzalira at JSDay 2016
  • Learning how to ride: an introduction to Cycle.js - by Fernando Macias Pereznieto at JS Monthly London
  • User Interfaces as Pure Functions of Time - Lightning talk by Thomas Belin at dotjs 2016

Slides

  • Cycle.js an honestly reactive framework for web user interfaces - by Eryk Napierała
  • Intro to Cycle.js - by Arye Lukashevki
  • Reactive Programming with Cycle.js - by Luca Mezzalira
  • Cycle.js - building apps with streams only - by Luca Matteis
  • Functional Reactive Programming with Cycle.js - by Sudarsan Balaji
  • Beyond flux: going full cycle with FRP - by Clément Delafargue

Example Applications

  • cyclejs/cycle-examples - Official collection of small Cycle.js examples
  • Widdershin/tricycle ★23 - Scratchpad for trying out Cycle.js, relies on Ace Editor with Cycle
  • cgeorg/todomvp ★21 - Minimum Viable Pizza, an example webapp written in Cycle.js
  • erykpiast/cyclejs-examples ★9 - Example web applications built with Cycle.js.
  • grozen/trends-cycle ★3 - Slack trend searching written in Cycle.js
  • ivan-kleshnin/cyclejs-examples ★120 - Collection of CycleJS examples, ES6.
  • ivan-kleshnin/tetris-cyclejs ★12 - Tetris game implemented in CycleJS, ES6
  • phadej/graafi ★20 - Cycle.js experiment with SVG and global undo/redo
    http://oleg.fi/graafi/
  • staltz/matrixmultiplication.xyz ★548 - A interactive matrix multiplication webapp
  • staltz/rxmarbles ★2,577 - Interactive diagrams of Rx Observables http://rxmarbles.com/
  • MarcCloud/magic-cart ★6 - Simple shopping cart of a magic creatures store.
  • foxdonut/cycle-todolist ★11 - demonstrates a simple Cycle.js TODO list app with CRUD.
  • Mercateo/component-check ★468 - Common patterns for building Cycle.js components
  • edge/electron-cycle-media ★27 - Media player written with Cycle.js and Electron.
  • kibin/cycle-example-who-to-follow ★16 - Small example partly implements twitter’s who to follow box using github api.
  • SkaterDad/cycle-snabbdom-examples ★12 - Examples of nested components, using snabbdom-specific animations.
  • bahmutov/draw-cycle ★112 - Interactive visualization of counter application showing the data flow inside a MVI component glebbahmutov.com/draw-cycle
  • andreloureiro/pomocycle ★21 - A simple Pomodoro timer.
  • laszlokorte/tams-tools ★24 - A set of tools for teaching and learning computer science built with cycle.js.
  • lucamezzalira/jsday-cycle-js ★16 - Reactive Live London Tube trains status example built with Cycle.js.
  • cyclejs-community/built-with-cycle ★9 - A website to showcase the cool projects built with Cycle.js
  • class-ideas/cyclejs-hangman ★10 - A hangman game built with Cycle.js
  • wmaurer/cyclejs-fractals ★15 - Dancing pythagorean tree fractal - Animating 2048 SVG nodes.
  • fabiothiroki/cyclejs-starwars ★2 - A Star Wars character search app using Cycle.js, RxJS and Virtual DOM tests.
  • staltz/mmmmm-mobile ★124 - A React Native + Cycle.js app to implement a social network on Secure Scuttlebutt networks
  • cyclejs/todomvc-cycle ★214 - TodoMVC example implemented in Cycle.js
  • jefersondaniel/cyclejs-notes - Notes app using Cycle.js and Orbit.js https://jefersondaniel.com/cyclejs-notes
  • staltz/dat-installer ★77 - Download, install, and update Android apps through Dat
  • usm4n/cycle-hn ★25 - Hackernews Clone Using CycleJS
  • lizraeli/cycle-github-emojis - A github emoji viewer made with Cycle.JS webapp
  • perjerz3434/meetup.com ★1 - Meetup.com RSVP visualization around the world using CycleJS

Tools

CLI

  • cyclejs-community/create-cycle-app ★160 - Create Cycle.js apps with no build configuration.

Libraries

Drivers

  • @cycle/http - A Cycle.js Driver for making HTTP requests, based on superagent.
  • @cycle/dom - A Cycle.js driver to enable interaction with the DOM. The driver is based on snabbdom as the Virtual DOM library.
  • @cycle/storage - A Cycle.js Driver for using localStorage and sessionStorage.
  • @cycle/history - This is the standard Cycle.js driver for dealing with the History API
  • @cycle/isolate - A utility function to make scoped dataflow components in Cycle.js.
  • @cycle/time - Fast and beautiful tests and time management for Cycle.js
  • cyclejs/cycle-notification-driver ★20 - A Cycle.js Driver for showing and responding to HTML5 Notifications.
  • axefrog/cycle-router5 ★30 - A router driver using Router5
  • cgeorg/cycle-socket.io ★27 - A Cycle driver for Socket.IO clients
  • secobarbital/cycle-fetch-driver ★2 - A Cycle.js Driver for making HTTP requests, using the Fetch API.
  • r7kamura/cycle-fetcher-driver ★14 - A Cycle.js Driver for making HTTP requests using stackable-fetcher.
  • benji6/cycle-audio-graph ★12 - A Cycle.js Driver for manipulating the Web Audio API using virtual-audio-graph
  • CyclicMaterials/cycle-hammer-driver ★11 - A Cycle.js driver to wrap Hammer.js and detect touch gestures
  • jessaustin/cycle-sse-driver ★6 - Source driver for Server-Sent Events/EventSource.
  • tylors/cycle-snabbdom ★41 - DOM driver using Snabbdom
  • cyclejs-community/cyclic-router ★90 - Router Driver built for Cycle.js
  • Widdershin/cycle-animation-driver ★33 - Cycle driver for requestAnimationFrame
  • dralletje/cycle-firebase ★21 - A Cycle.js Driver for Firebase
  • edge/cycle-blessed ★46 - A Cycle.js Driver for terminal applications
  • 10clouds/cyclejs-cookie ★2 - Cookies Driver for Cycle.js
  • whitecolor/cycle-async-driver ★25 - Factory for creating async request/response cycle.js drivers
  • raquelxmoss/cycle-keys ★35 - Driver for keyboard events
  • rektide/recyclec ★0 - Readline driver
  • goodmind/cycle-telegram ★15 - A Cycle.js Driver for Telegram Bot API
  • apoco/cycle-electron-driver ★22 - Driver to interact with Electron interface from Cycle.js application
  • rkrupinski/cyclejs-animated-localstorage ★12 - A Cycle.js driver for animating (srsly) localStorage.
  • cyclejs-community/cycle-keyboard ★9 - A keyboard driver for cycle.js
  • garrydzeng/cycle-page ★3 - A tiny client-side router for Cycle.js
  • jbowden1982/cycle-socketcluster ★5 - A socketcluster driver for Cycle.js
  • cyclejs-community/redux-cycles ★599 - A Redux middleware that allows you to handle actions lifecycle with Cycle.js
  • JuniperChicago/cycle-gun ★18 - A basic Cycle.js driver wrapping a gun.js instance allowing graph storage and p2p sync
  • EnigmaCurry/cycle-deepstream ★8 - A Cycle.js driver for deepstream.io
  • Alex0007/cycle-express-driver ★1 - A Cycle.js driver for Express.js server
  • mrpierrot/cycle-node-http-server ★4 - A Cycle.js driver for Node.js HTTP(S) server
  • mrpierrot/cycle-net ★0 - A Cycle.js driver for Node.js HTTP(S)/WS(S)/Socket.io server
  • Avalander/cycle-idb ★4 - A Cycle.js driver wrapping IndexedDB
  • unhappychoice/cycle-pusher ★1 - A Cycle.js driver for Pusher
  • helmoski/cycle-selection-driver - A Cycle.js driver for interacting with the Selection API
  • mjyc/cycle-posenet-driver ★1 - A Cycle.js drivers for pose detection using TensorFlow.js-powered PoseNet
  • @cycle-robot-drivers/speech ★1 - Cycle.js drivers for speech synthesis and recognition using Web Speech API
  • @cycle-robot-drivers/sound ★1 - A Cycle.js driver for playing sounds using HTMLAudioElement

Utilities

  • staltz/chai-virtual-dom ★24 - Chai assertion helpers to test virtual-dom VTrees
  • cgeorg/sinject ★10 - a dependency injection tool supporting Cycle's circular dependencies
  • erykpiast/cyclejs-group ★20 - Utility for CycleJS framework for reducing boilerplate when creating groups of streams.
  • erykpiast/cyclejs-wc ★2 - Utility for creating Web Components based on Cycle.js
  • ohanhi/hyperscript-helpers ★390 - elm-html inspired helpers for writing hyperscript or virtual-hyperscript.
  • pH200/cycle-react ★342 - use React instead of virtual-dom with a Cycle-like API
  • madcapjake/earlhyperscript ★2 - A helper function and macro for using Earl Grey's document-building syntax with Cycle.js.
  • WorldMaker/cycle-gear ★4 - A main function factory for Cycle based upon a formalization of Cycle's MVI pattern
  • SuperManitu/cyclejs-sortable ★15 - Make everything sortable via drag and drop in only one line of code!
  • atomrc/cyclejs-auth0 ★22 - Everything you need to start playing with Auth0 on your Cyclejs app (Driver + component)
  • staltz/cycle-onionify ★244 - Fractal state management for Cycle.js apps
  • maiermic/cycle-storageify ★5 - Augments your Cycle.js component (main function) by storing its onion-shaped state in local storage
  • shfrmn/cycle-lot - Handle dynamic lists of Cycle.js components with ease (full typesript support)
  • sarimarton/powercycle - Static VDOM composition and React-like development on top of Cycle.js

Boilerplates

  • andreloureiro/cyclejs-starter ★50 - Cycle.js starter template with ES6 and Livereload.
  • Frikki/generator-cyclejs ★2 - Scaffold out a Cycle.js Nested Dialogue module using Yeoman.
  • edge/cyc ★194 - Scaffold an isomorphic Cycle.js app in seconds.
  • cmdv/cycle-webpack-boilerplate ★101 - Cycle app with routing, state handling and tests.
  • Widdershin/cycle-hot-reloading-example ★27 - A Cycle.js starter project with hot reloading using browserify-hmr
  • mciparelli/cycle-hmr-example ★0 - A Cycle.js starter project using browserify and cycle-hmr
  • cycle-community/typescript-starter-cycle ★22 - A simple project for getting started with TypeScript in cycle.js, using Webpack. Has settings for Visual Studio Code as candy.
  • wyqydsyq/unicycle ★6 - A boilerplate universal Cycle app running on a Koa.js server with HMR and ServiceWorkers via Webpack
  • syarul/cycle-iso ★4 - A barebone boilerplate Cycle app with data stream base on promises and fetched with Falcor.js
  • snowpack-cycle - Snowpack app template to create Cycle.js projects with create-snowpack-app

Testing

  • erykpiast/cyclejs-mock ★22 - Utility for testing applications based on CycleJS framework.
  • jeysal/pretty-format-snabbdom ★0 - A pretty-format (Jest snapshot) plugin for rendering snapshots of snabbdom VNodes as nicely as those of React elements

Debugging

  • cyclejs/cycle-time-travel ★213 - A time travelling debugger for Cycle.js apps. Displays a stream visualizer that you can drag to go back in time.

Components

  • erykpiast/autocompleted-select ★10 - Select Web Component with autocompletion. Based on RxJS and VirtualDOM.
  • enten/cyclejs-calendar ★11 - Calendar component for Cycle.js. Try it online here.
  • mciparelli/cyclejs-gravatar ★0 - Cycle.js component for rendering a gravatar profile image.
  • tommy-the-runner/cyclejs-ace-editor ★0 - Cycle.js intergration with Ace Editor using brace. Check an example here.
  • raquelxmoss/cycle-color-picker ★44 - A Color Picker component for Cycle.js. Check out the example.
  • cyclejs-community/cycle-svg-pan-and-zoom ★4 - A Google Maps style SVG pan and zoom component for Cycle.js

Community

  • Gitter chat - Ask 'how do I ...?'