Build and deploy or deploy to build

My application is based on node.js, and uses bower.js and others task runners to compile assets and build the actual assets (minify, concat, inject...).

Since this is my first application that will be running in a scalable enviroment on Heroku, I was wondering how is the process of deploying.

I mean, my current workflow is:

cd myRepo
git commit [blabla...]
git push heroku

And when running it, it runs npm run wich calls geddy and runs the server.

If I build before pushing, there will be files that are kind of redundant, but if I push the unbuilt project, it should build it on the cloud. Is that the main idea?

Thanks

it should build it on the cloud. Is that the main idea?

Correct; checkout the Dev Center for more Nodejs information:

Specifically here, it lists information on bower: