Given a family of real probability measures $(\mu_t)_{t\geq 0}$ increasing in convex order (a peacock) we describe a systematic method to create a martingale exactly fitting the marginals at any time. The key object for our approach is the obstructed shadow of a measure in a peacock, a generalization of the (obstructed) shadow introduced in \cite{BeJu16,NuStTa17}. As input data we take an increasing family of measures $(\nu^\alpha)_{\alpha \in [0,1]}$ with $\nu^\alpha(\mathbb{R})=\alpha$ that are submeasures of $\mu _0$, called a parametrization of $\mu_0$. Then, for any $\alpha$ we define an evolution $(\eta^\alpha_t)_{t\geq 0}$ of the measure $\nu^\alpha=\eta^\alpha_0$ across our peacock by setting $\eta^\alpha_t$ equal to the obstructed shadow of $\nu^\alpha$ in $(\mu _s)_{s \in [0,t]}$. We identify conditions on the parametrization $(\nu^\alpha)_{\alpha\in [0,1]}$ such that this construction leads to a unique martingale measure $\pi$, the shadow martingale, without any assumptions on the peacock. In the case of the left-curtain parametrization $(\nu_{\text{lc}}^\alpha)_{\alpha \in [0,1]}$ we identify the shadow martingale as the unique solution to a continuous-time version of the martingale optimal transport problem. Furthermore, our method enriches the knowledge on the Predictable Representation Property (PRP) since any shadow martingale comes with a canonical Choquet representation in extremal Markov martingales.