Can you explain habitat to a non DevOps person? Just a regular developer

Ok, I’ve watched the keynote launch talk from Adam. I’ve been through the tutorial. I get what habitat is and its benefits.

What I don’t get is, as a developer, how do I package my app?

Let’s say for example I am developing locally in Rails with Ember frontend, using Postgres.

So I have 3 main components here: Rails, Postgres, EmberJS all of which have their own dependencies. Like all the js stuff defined in package.json for the Ember app and all the gems defined in the Rails Gemfile.

Now I want to deploy that application to Heroku.

Should I build a habitat package that includes a rails package, a postgres package, an ember package? Then I deploy this (my application package) to Heroku? Or AWS or wherever.

If there is a ‘rails 5.0.0.1’ package already available that someone else already built, I presume I could just link to that from my package, right? In the same way you have docker containers that ‘contain’ a pre-built piece of software.

A ‘developer’ guide would be really nice I guess is what I am saying lol