Prototype building route
It would depend on the goal, maturity, and duration of the project.  

Putting together building blocks for a final design is:


Fast.
Easy.
Dependable.
Expensive (in volume).
Hobbyist-oriented.


In contrast, a final design from scratch is:


Time intensive.
Difficult.
Vulnerable to failure of concept.
Cheap (in volume).
Professional quality.


In general, I'd start with blocks for a prototype.  Sometimes, I'll substitue something I have on hand for a given block (i.e., lab PSU for a power supply circuit, or a PC/overpowered dev board for a smaller micro).  Then, I'll use that working prototype for a reference as I seek to find cheaper parts, simpler circuits, and implement the design on a custom PCB.

When designing a custom solution, however, remember not to reinvent the wheel.  This is an especially potent doctrine when it comes to software.  If a library or circuit is available, tested, refined, and proven, don't fix what ain't broke!