Genetic variants that alter gene regulation play a crucial role in the genetics of human development and disease. Although genome-wide association studies have found thousands of genetic loci associated with complex phenotypes, a substantial fraction of these trait-associated loci remain unexplained. Gene regulatory effects are context-specific and can result in dynamic gene expression changes over time and across cell types. To enhance our understanding of the genetic architecture of complex traits in a dynamic context, we studied dynamic genetic regulation of gene expression during cardiomyocyte differentiation using bulk and single-cell RNA-sequencing. We generated time-series gene expression data over multiple differentiation time points and mapped expression quantitative trait loci (eQTLs), or variants whose effects on expression are modulated by differentiation time. We identified hundreds of dynamic eQTLs which change over time, including nonlinear eQTLs which affect only intermediate stages of differentiation. Using single-cell RNA-sequencing, we were able to disentangle the effects of gene regulatory variation from variation in cell type composition, both of which may change over a differentiation time course under the influence of genetic factors. Together, these studies demonstrate the use of time series data to investigate the dynamics of gene regulation and cell type composition changes over time, and provide new insight into the genetic architecture underlying human development, complex phenotypes, and disease.