Self-documenting code is great for how a function works, but it almost always fails to explain why it was built that way. I’ve started using an AI assistant (like Claude Code or Cursor) to handle the tedious part. At the end of a feature, I’ll just prompt it to generate standard JSDoc or docstrings for the new modules. I still have to review it to ensure the business context is correct, but it completely eliminates the "hitting a brick wall" feeling of writing syntax from scratch.