Cardiac progenitor cells differentiate into multiple cell types that make up the functional heart: cardiomyocytes (CMs), smooth muscle cells (SMCs), endothelial cells (EDCs) and fibroblasts. These lineage decisions can be modelled by differentiation of embryonic stem cells (ESCs), but it is not fully clear how closely these in vitro systems reflect in vivo developmental progression, or how much variability there is within the progenitor population – either in culture or in the embryo. On p. 846, Sean Wu and co-workers use single-cell quantitative PCR and lineage-tracing assays on embryonic and adult mouse cardiac cells, as well as mouse ESCs differentiated down the cardiac lineage, to define a gene expression signature for each of the various cell types. Amongst the wealth of data generated, a number of key findings emerge. Firstly, the authors find that ESC-derived CMs closely resemble embryonic and neonatal endogenous CMs, but adult CMs diverge. Secondly, embryonic and ESC-derived cardiac progenitors show different potential: both generate CMs, but embryonic cells can differentiate to EDCs while ESC-derived progenitors produce SMCs. These data demonstrate the power of the single-cell profiling approach and provide valuable insights into lineage choices during cardiac development.