Things not to build
Every hour on these is an hour not spent on your actual idea.
Certain features consume enormous time, are solved problems, and are almost never the reason anyone uses your tool. Recognising them early is worth a great deal.
Authentication
Covered elsewhere, but it belongs on this list. Use a provider or a well-established library. Password resets, session handling, token rotation and timing attacks are all solved, and getting one wrong exposes your users.
A content management system
If you need to edit text, edit a Markdown file. If someone non-technical needs to, use an existing CMS or a headless one with a free tier. Building an editor, a media library, drafts and permissions is a product in itself, and it's a product that already exists.
A rich text editor
The most underestimated project on this list. Contenteditable is a well-documented nightmare of browser inconsistencies, paste handling and selection bugs. Use an existing library. There are several excellent ones.
Charting
Positioning axes, choosing tick intervals, handling negative values, responsive resizing, tooltips, accessibility. Weeks of work, all of it done better by any established chart library.
Date handling
Time zones, daylight saving, leap years, locale formats, weeks that start on different days. Use the platform's modern date API or a well-tested library. Never do date maths with string manipulation.
Payments infrastructure
Take payments; don't build payments. Card handling, compliance, retries, tax. Providers exist and are worth every penny of their percentage.
An admin panel, too early
For your first fifty users, editing a database row directly or running a script is entirely acceptable. Building a full admin interface for a product that may not survive is a common and expensive detour.
I'm about to build: <the feature> Honestly: - Is this a solved problem with a good existing solution? Name the options and what each costs. - What's the realistic time to build a decent version myself, including the edge cases I haven't thought of? - What are those edge cases? List the ones people underestimate. - Is there a reason my situation genuinely needs a custom version? If I should just use the existing thing, say so directly.
Ask what the edge cases are before deciding. The estimate that makes building look reasonable is nearly always the one that ignores them.