{"id":5798,"date":"2026-10-06T02:08:29","date_gmt":"2026-10-06T05:08:29","guid":{"rendered":"https:\/\/tucumandevelopers.com\/index.php\/2026\/10\/06\/what-i-cut-from-my-mvp-to-ship-it-in-weeks-not-months\/"},"modified":"2026-10-06T02:08:29","modified_gmt":"2026-10-06T05:08:29","slug":"what-i-cut-from-my-mvp-to-ship-it-in-weeks-not-months","status":"publish","type":"post","link":"https:\/\/tucumandevelopers.com\/index.php\/2026\/10\/06\/what-i-cut-from-my-mvp-to-ship-it-in-weeks-not-months\/","title":{"rendered":"What I cut from my MVP to ship it in weeks, not months"},"content":{"rendered":"<div>\n<div><\/header>\n<div data-article-id=\"4804500\" id=\"article-body\">\n<p>The first version of my last MVP had a feature list that would have taken months. I shipped something in a few weeks instead, mostly by deleting things I was sure we needed. Here is what went, and what I regretted.<\/p>\n<h2> <a name=\"accounts-and-roles\" href=\"#accounts-and-roles\"> <\/a> Accounts and roles <\/h2>\n<p>I had planned an admin panel, team invites and three permission levels. The first users were a handful of people I knew by name. I gave them logins by hand and kept a spreadsheet of who could see what. Nobody noticed.<\/p>\n<h2> <a name=\"settings-pages\" href=\"#settings-pages\"> <\/a> Settings pages <\/h2>\n<p>Every setting I had sketched was really me avoiding a decision. I picked sensible defaults and hardcoded them. When two people asked for the same change, that became the first real setting.<\/p>\n<h2> <a name=\"payments\" href=\"#payments\"> <\/a> Payments <\/h2>\n<p>I didn&#8217;t wire up a checkout. The first people who wanted to pay got an invoice by email. It felt a bit embarrassing, but it told me who was serious faster than a pricing page would have.<\/p>\n<h2> <a name=\"notifications\" href=\"#notifications\"> <\/a> Notifications <\/h2>\n<p>Email and in-app notifications were on the list. I sent updates myself, by hand, for the first few weeks. That also meant I was talking to every user, which turned out to be the most useful part.<\/p>\n<h2> <a name=\"what-i-kept\" href=\"#what-i-kept\"> <\/a> What I kept <\/h2>\n<p>The one workflow people came for, done properly. Error logging. A way for users to tell me something was broken. Backups. I didn&#8217;t want to cut anything that would lose someone&#8217;s data or leave me blind when it broke.<\/p>\n<h2> <a name=\"what-i-regretted-cutting\" href=\"#what-i-regretted-cutting\"> <\/a> What I regretted cutting <\/h2>\n<p>Basic analytics. I skipped it to save a day, and then spent weeks guessing which screens people actually used. I&#8217;d add it from day one next time, even something rough.<\/p>\n<p>Search too, a little. I thought nobody would have enough data to need it. A couple of heavy users did within the first month.<\/p>\n<h2> <a name=\"the-rule-i-ended-up-with\" href=\"#the-rule-i-ended-up-with\"> <\/a> The rule I ended up with <\/h2>\n<p>If I could do it by hand for the first group of users, it stayed out of the code. If skipping it could lose data or hide errors, it stayed in.<\/p>\n<p>What did you cut from your first version that you later wished you&#8217;d kept?<\/p>\n<\/p><\/div>\n<\/article>\n<p> <!-- Bottom content skipped via SKIP_BOTTOM_CONTENT config --> <\/div>\n<p> <\/main> <\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Fuente: <a href=\"https:\/\/dev.to\/rishita_sharma_b0aa1ff81a\/what-i-cut-from-my-mvp-to-ship-it-in-weeks-not-months-18n9\">Art\u00edculo original<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first version of my last MVP had a feature list that would have taken months. I shipped something in a few weeks instead, mostly by deleting things I was sure we needed. Here is what went, and what I regretted. Accounts and roles I had planned an admin panel, team invites and three permission [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5797,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"webixso_pending_account_ids":""},"categories":[41],"tags":[],"class_list":["post-5798","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devto"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/5798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/comments?post=5798"}],"version-history":[{"count":0,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/5798\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media\/5797"}],"wp:attachment":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media?parent=5798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/categories?post=5798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/tags?post=5798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}