Product development is one of those underrated activities that don’t get enough credit. You never hear people advising to close you IDE, put down the iPad and just think about the problem you’re trying to solve and what your users want and when.

Product development is the process of discovering the need and exploring how the solution that addresses it looks like. When this process produces results everything else falls into place. Your database model becomes simpler and more focused, the code becomes easier to write and test and the UI designs itself and even the content is easier to write. is a web application targeted to sailors and yacht owners. It’s an app that helps you find interesting places and plan your boat trips according to your tastes. Essentially it’s TripAdvisor but for yacht owners and for the past six months I’ve been stressing about how to produce content for it. Users of the app need to be able to discover places to visit and read up on them so they can decide if the place they’re reading about fits their tastes and needs. You can’t just have a photo and a title for each island or marina, you need some kind of text describing what’s great about it and that kind of content is expensive to produce, difficult get right but it’s also kind of the point of the whole thing.

So, for the past 2 months I’ve been trying to come up with a recipe, a guide that I can send to an content writer that dictates how each article should look like, how many words, how many paragraphs etc. I’ve been tweaking the guide, ordering articles from writers on Fiverr, getting feedback, tweaking again and so on. No matter what changes I made to the guide, I was never satisfied with the text I got back and not because of the writer or their skills.

The articles were high quality and clearly well researched but they were always too short to give you a good idea about the place or too lengthy to retain your attention and then it hit me: those two aspects are irreconcilable and there’s no way a single mechanism could serve both terseness and completeness, I clearly need some auxiliary method to serve one or the other.

This revelation lead me on a train of thought that made me realize that when people search for something to buy or some place to visit they’re are not looking for the “best” place or the most popular one, they usually have some pre-conceived notion of what the thing they want looks like that can usually be summed up in a word or a phrase e.g.: “family friendly”, “romantic”, “for nature lovers”. So why not provide that information clearly somehow? The answer was tags.

Tags are already familiar to web users, they have well defined semantics i.e. they can be used as filters to narrow down searches and they do a great job of summarizing a piece of content with one glance. Tags allow lifting key information that would otherwise be buried in text into autonomous pieces of information that not only inform but also provide additional functions like filtering. Additionally, with tags, the free form text can now be more to the point, more terse and more focused and easier/cheaper to produce.

It might sound trivial but this thought process was a revelation and it made me realize just how important it is to close the IDE and try and find solutions for your users. It also made this project a tiny bit more feasible.