10 karma · joined August 29, 2022
The issue with managing the relationship just in code is if you ship a bug to break the relationship, you now have to manually fix your data, and if you want to find out when or where the bug was introduced, you're looking at commit history instead of a migration history. Same thing when it comes to making manual updates or adds in the db. Even if it's just on a dev stage, if your code makes an assumption about the constraint which isn't true, you can end up with bugs or exceptions on dev, which is also annoying. If you want to remove the assumption of the relationship from the code entirely, that would be more understandable, but not if instead it means replacing what would be an efficient constraint and join with a separate query.
"Don’t pick something that needs a pretty UI": What if I'm really skilled in UI dev and have a good visual eye? Or a friend happy to do some free mockups?
"In-person sales are very weird for the developer personality": there is no one developer personality, I wouldn't rule this out at all.
"You don’t want to be going around talking to actual humans.": this is almost never going to work for a startup. Actually talking to people (users, clients, integration partners) is probably the most important thing you can do as a founder.