I started by making the platform+key engine, and then made an entire dungeon layout but with empty rooms. When that was functional, I just filled in the rooms with puzzles :)