Challenges I've faced:
- Getting carried away with automation: emails after certain events, marketing to users who don't convert, billing features; all of these are things I should have done post-launch.
- Writing tests. I've literally delayed the launch of the product a whole month because I didn't feel my test coverage was good enough. I should have launched the beta and then started writing tests.
- Too many features. "Hey, x) would be a cool feature!", "Oh man, y) would be super useful to my users." – Yeah, I've written and then removed so many features that I'm a little ashamed.
- Wanting to adhere strictly to the JSON API spec. I shouldn't have spent so much time making sure that it followed the spec, because in the end, it doesn't.
After reevaluating things, all I need to do is finish writing documentation so that I can roll out the beta.