Urgent.News

What's breaking now, across thousands of outlets.

Tech

What I cut from my MVP to ship it in weeks, not months

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 levels. The first users were a handful of people I knew by name. I gave them logins by hand and kept…

My initial Minimum Viable Product (MVP) contained a feature set that would have required months to develop. However, I successfully shipped a minimal version in just a few weeks by removing many of the planned features. Here's what I discarded and what I later missed:

Features removed:

- An admin panel

- Team invites

- Three levels of user permissions

I initially planned to create an admin interface, allow users to invite others to join their team, and implement three different permission levels. These were all features I intended to provide for the first users who signed up. However, I chose to keep those early users close by hand-picking their logins and tracking their access levels in a spreadsheet. Handily, this decision allowed me to identify which features were most useful to them without the need for a complex system.

Omitted settings:

- I had mapped out numerous configurable options, but in the end, I settled on sensible defaults and hardcoded them. When two users requested the same adjustment, that decision became the first official setting in the product.

Omitted payment integration:

- I did not implement a checkout system for the initial launch. Instead, the first customers who wanted to pay received an invoice via email. While it may have felt a bit awkward at the time, this approach allowed me to quickly discern which prospects were genuinely interested in the product.

Notifications omitted:

- Both email and in-app notification systems were planned, but I opted to manually send updates for the first few weeks. This hands-on approach not only reduced development time but also enabled me to engage directly with users, which proved to be the most valuable aspect of my initial launch.

Features retained:

1. Core workflow: The core workflow that users came to rely on remained untouched. This was the primary reason users chose my product, and I ensured it was executed flawlessly.

2. Error logging: I kept comprehensive error logging in place. This was crucial for identifying and fixing issues promptly, ensuring a stable user experience.

3. Backup system: Data protection was a top priority, so I maintained a backup mechanism to safeguard user information and prevent data loss in case of any mishaps.

What I regretted cutting:

- Basic analytics: To save time, I initially skipped implementing any basic analytics. Consequently, I spent several weeks guessing which features users interacted with the most. Next time, I would prioritize adding even a rudimentary analytics system to gain insights into user behavior.

- Search functionality: I underestimated the needs of heavy users and initially decided to forgo search capabilities. However, within the first month, I encountered a few power users whose work depended on searching within the product. Had I included search from the beginning, I could have better supported these users.

The rule I established:

If I could perform a particular task manually for the initial group of users, it remained outside the codebase. Conversely, if omitting a feature could result in data loss or conceal errors, it stayed within the code.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Why I Decided to Limit LaunchStall to 10 Products a Week

One of the first decisions I made while building LaunchStall was also one of the simplest: I didn't want an unlimited number of products launching at once.

  • LaunchStall limits to 10 products per weekly edition.
  • Weekly cycle enhances product visibility and traction.
  • Products retain permanent public page post-launch.

Build a masonry grid in Angular

Masonry layouts are useful anywhere you have items with different heights but still want a compact, flowing grid. Common examples include: Photo and image galleries — images naturally have different…

  • Install masonry-angular library for Angular 17.1+
  • Define grid structure with masonry-grid and masonryGridItem
  • Make grid responsive with columnWidth property

Cloudflare Introduces CLI for AI Agents, Sunsetting Wrangler

Cloudflare recently launched the open beta of cf, a new open-source, agent-focused command-line interface for interacting with Cloudflare services through a unified CLI.

  • Cloudflare introduces open-source CLI "cf" for unified developer and AI agent interaction.
  • Wrangler, previously used for developer experience, is sunsetted in favor of cf.

More from Tuesday 6 October →