As a backend developer, I'm more productive with a top down approach instead. In a bottom-up approach I always fall into the trap of making an amazing backend full of cool features, when then I realize that only the 30% of them is required by the frontend.