An example app using ReactiveCocoa 4, MVVM, Swift 2 and watchOS 2.
Clone or download
Latest commit afef56c Dec 30, 2016

Today's (Reactive) Menu is an example app exploring ReactiveCocoa 4, MVVM, Swift 2 and watchOS 2.

Along with the app, a blog post has been created explaining the process. The post can be found here. Please keep in mind that things might have changed slightly since that blog post was made.

I'm sorry that the API return menus in Danish, but it is unfortunately how the lunch provider publishes it. I might consider doing some OCR at some point.


The app uses CocoaPods for handling third-party dependencies. To build the app, simply clone the repository and then run pod install.


I'll include any major/minor version bumps:

  • 1.2: 👯 Let there be POP! A lot has been refactored, and a lot of protocols and protocol extensions has been added. Watch app should now work without the phone.
  • 1.1: ⌚️ Apple Watch support using watchOS 2.
  • 1.0: Initial version. Supports RAC 4 and Swift 2.


I have a lot of ideas for the project, here are some of the stuff I anticipate to work on:

  • Add tests.
  • Add support for up-/down voting a menu.
  • Rewrite the UI logic.
  • Make backend in Swift and move to this repo.

Useful resources

ReactiveCocoa 4 is, at the time of writing, still very new and because of that, the resources are limited. Here are some good places to get you started:

Note that resources using RAC3 might also apply to RAC4 as the difference is not that big (see the changelog for more information).

Contribution and questions

Feel free to open an issue or ping me at @steffendsommer if you have any questions. I'm fully aware that I took some corners and that I'm far from comfortable with RAC4 yet, so any useful PR's are more than welcome.


📱 Main view 📱 Error view
⌚️ Main app view ⌚️ Glance


TodaysReactiveMenu is available under the MIT license. See the LICENSE file for more info.