The problem of recovering a one-dimensional signal from its Fourier transform magnitude, called phase retrieval, is ill-posed in most cases. We consider the closely-related problem of recovering a signal from its phaseless short-time Fourier transform (STFT) measurements. This problem arises naturally in several applications, such as ultra-short pulse characterization and ptychography. We suggest to recover the signal by a gradient algorithm, minimizing a non-convex loss function. The algorithm is initialized by the leading eigenvector of a designed matrix. We show that under appropriate conditions, this initialization is close to the underlying signal. We analyze the geometry of the loss function and show empirically that the gradient algorithm converges to the underlying signal even with small redundancy in the measurements. The last part of the talk will be devoted to a new class of problems, called high-order phase retrieval.