Procedural Generatioon: Where should I start?

I've been trying to make procedurally generated platforms, but I've always bumped into it looking messy, being impossible, feeling overall just bad. I don't really know where to start. I've considered using Perlin, but that's for terrain displacement, not for generation itself. Any tips?