A full-duplex radio can transmit and receive simultaneously, and, hence, is a natural fit for realizing an in-band relay system. Most of existing full-duplex relay designs, however, simply forward an amplified version of the received signal without decoding it, and, thereby, also amplify the noise at the relay, offsetting throughput gains of full-duplex relaying. To overcome this issue, we explore an alternative: demodulate-and-forward. This paper presents the design and implementation of DelayForward (DF), a practical system that fully extracts the relay gains of full-duplex demodulate-and-forward mechanism. DF allows a relay to remove its noise from the signal it receives via demodulation and forward the clean signal to destination with a small delay. While such delay-and-forward mechanism avoids forwarding the noise at the relay, the half-duplex destination, however, now receives the combination of the direct signal from a source and the delayed signal from a relay. Unlike previous theoretical work, which mainly focuses on deriving the capacity of demodulate-and-forward relaying, we observe that such combined signals have a structure similar to the convolutional code, and, hence, propose a novel viterbi-type decoder to recover data from those combined signals in practice. Another challenge is that the performance of full-duplex relay is inherently bounded by the minimum of the relay's SNR and the destination's SNR. To break this limitation, we further develop a power allocation scheme to optimize the capacity of DF. We have built a prototype of DF using USRP software radios. Experimental results show that our power-adaptive DF delivers the throughput gain of 1.25×, on average, over the state-of-the-art full-duplex relay design. The gain is as high as 2.03× for the more challenged clients.