diff --git a/app/assets/javascripts/actions/post.coffee b/app/assets/javascripts/actions/post.coffee
new file mode 100644
index 0000000..ef5684d
--- /dev/null
+++ b/app/assets/javascripts/actions/post.coffee
@@ -0,0 +1,5 @@
+Actions = require('flummox').Actions
+
+class PostActions extends Actions
+
+module.exports = PostActions
diff --git a/app/assets/javascripts/client_application.cjsx b/app/assets/javascripts/client_application.cjsx
index ead3005..c4bb27f 100644
--- a/app/assets/javascripts/client_application.cjsx
+++ b/app/assets/javascripts/client_application.cjsx
@@ -1,6 +1,10 @@
 React = require('react')
 Router = require('react-router')
 routes = require('routes')
+Flux = require('flux')
+FluxComponent = require('flummox/component')
 
+flux = new Flux()
 Router.run routes, Router.HistoryLocation, (Handler, state) ->
-  React.render(<Handler />, document.getElementById("reactContent"))
+  handler = <FluxComponent flux={flux} render={ => <Handler  />}></FluxComponent>
+  React.render(handler, document.getElementById("reactContent"))
diff --git a/app/assets/javascripts/flux.coffee b/app/assets/javascripts/flux.coffee
new file mode 100644
index 0000000..5b783c0
--- /dev/null
+++ b/app/assets/javascripts/flux.coffee
@@ -0,0 +1,11 @@
+Flummox = require('flummox').Flummox
+PostsStore = require('stores/post')
+PostActions = require('actions/post')
+
+class AppFlux extends Flummox
+  constructor: ->
+    super()
+    @createActions 'posts', PostActions
+    @createStore 'posts', PostsStore, this
+
+module.exports = AppFlux
diff --git a/app/assets/javascripts/posts.coffee b/app/assets/javascripts/posts.coffee
deleted file mode 100644
index 24f83d1..0000000
--- a/app/assets/javascripts/posts.coffee
+++ /dev/null
@@ -1,3 +0,0 @@
-# Place all the behaviors and hooks related to the matching controller here.
-# All this logic will automatically be available in application.js.
-# You can use CoffeeScript in this file: http://coffeescript.org/
diff --git a/app/assets/javascripts/stores/post.coffee b/app/assets/javascripts/stores/post.coffee
new file mode 100644
index 0000000..2709393
--- /dev/null
+++ b/app/assets/javascripts/stores/post.coffee
@@ -0,0 +1,15 @@
+Store = require('flummox').Store
+Immutable = require('immutable')
+
+getDefaultState = ->
+  { posts: Immutable.OrderedMap(), didFetchAll: false }
+
+class PostsStore extends Store
+  constructor: (flux) ->
+    super()
+
+    postActionIds = flux.getActionIds('posts')
+    @state = getDefaultState()
+    @flux = flux
+
+module.exports = PostsStore
diff --git a/app/assets/package.json b/app/assets/package.json
index add7186..3eee60a 100644
--- a/app/assets/package.json
+++ b/app/assets/package.json
@@ -17,6 +17,8 @@
   },
   "dependencies": {
     "react": "*",
-    "react-router": "*"
+    "react-router": "*",
+    "immutable": "*",
+    "flummox": "*"
   }
 }