Here's a write up of some lessons we learned during our pre-launch campaign with Taskable.
1. Ask for a user interview after someone has made a small investment in you already, such as taking a survey.
Betalist was a good way to get subscribers - would recommend but not necessarily pay for the expedited service.
2. Product Hunt's Ship/Upcoming page is meh. Most subscribers are spam/not that interested in you (sorry).
3. Most people will forget who you are or why they signed up for your launch. Make sure you remind them when you invite them to the demo, especially if they pre-registered weeks or months ago.
4. It's great to have pre-registered users, but don't expect all of them to take you up on signing up. Often they've moved on, found another product, or weren't that interested in the first place (again.. sorry).
5. The best way we found to get early adopters was spending time in communities and Slack groups where our target users lived. If they were at all interested in what we were working on, we'd try and book an onboard directly.
6. Be targetted in whom you reach out to join. If you are doing a closed beta, focus on people whom you think need your product. Otherwise, you'll spend lots of time talking to, or trying to please, people who don't need your product. Respect their time and yours.
7. Never stop launching - you'll get many cracks at it. Try stuff out early on, get feedback, recalibrate, launch again.