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

**URL:** <https://discourse.chef.io/t/can-you-explain-habitat-to-a-non-devops-person-just-a-regular-developer/19158>\
**Category:** Habitat Help\
**Created:** [October 1, 2016, 2:12pm UTC](https://discourse.chef.io/t/can-you-explain-habitat-to-a-non-devops-person-just-a-regular-developer/19158 "2016-10-01T14:12:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rmcsharry](https://avatars.discourse-cdn.com/v4/letter/r/977dab/32.png) [@rmcsharry](https://discourse.chef.io/u/rmcsharry)\
**Post date:** [October 1, 2016, 2:12pm UTC](https://discourse.chef.io/t/can-you-explain-habitat-to-a-non-devops-person-just-a-regular-developer/19158/1 "2016-10-01T14:12:17Z")

</div>

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
