End-to-end step-by-step tutorial