SecretPo.st as an MVP
I previously wrote about MVPs and a side project of mine called SecretPo.st. I want to describe some of the process I went through in launching SecretPo.st, which is at the time of writing this still an ongoing process.
Step One: What Am I Building?
My first step was to break down what it is I’m actually building. A good way to do this is by thinking of what your elevator pitch would be. If you can’t explain your idea in 60 seconds, including the issue it’s solving and how it solves it, really try to take the time to refine your definition until you feel that can comfortably explain it with very few words. You don’t have to perfect your pitch at this stage – you’re far from picking up investors or even users for that matter – but it’s a good mental exercise. In my case, I’m building “A way to send time-locked messages to friends. Create a message, send it, and your friend will be teased by a count-down timer until your chosen date and time is reached. At that point, they can read it.”
The idea evolved. I also want a way to set a time to end messages, like a self-destruct sequence. This is an idea a friend of mine, David Redlich, mentioned in a user feedback session (I’ll get to gathering feedback as a topic for a different time). I had thought of it before and even had started building it in, but his feedback brought the idea up again. I also thought of how cool it would be to have messages only open if the recipient can figure out a riddle, or have it pick up a user’s location so you can only open a message in a certain place.
These are cool features and fit into the general paradigm of sending a secret message, but my MVP definition is specifically for count-down timers and I’m using it to keep me grounded. Without limitation, projects go on forever before launching. So cool extra features get placed in a development roadmap and I head back to my focus.
Step Two: What Basics Do I Need?
Using a good old pen and paper, I mapped out what this sort of app would need. I had made the decision that I wanted to allow anyone to use it, so a user system would be needed. This is somewhat how my paper looked:
- Sign Up
- First Last Name (?)
- Username (?)
- DOB (?)
- Gender (?)
- via Social Media (?)
- Log In
- Delete Account (?)
- Password Recovery (?)
The items with question marks represent things that at a core MVP level, I might not need off the bat.
- I don’t really need people’s names or usernames. I thought it might be nice to have in case I wanted to have those bits of information be part of the actual messages being sent or to help verify users. But I could really get away without them.
- Similarly, I don’t need DOB or Gender, those are just nice bits of information to have to understand my user base.
- Social Media signup/login is also nice to have, but it will be some time before I do mass user adoption, so I don’t really need that off the bat. An important point to remember is that this is a project, not a business. Because it’s a something I do occasionally on my free time, I love the idea of taking it seriously but at the same time I don’t feel the need to truly cater to anyone.
- Deleting accounts and password recovery are also nice things to have, but at the end of the day I can do those manually if someone contacts me. They don’t have to be automated.
In the end, I only held off on Social Media integration for a few days for reasons you’ll see later on. I have included everything except for DOB and Gender. I will be working on combining usernames and passwords because there is not much of a reason to have them separate.
Now that people can sign up, what do I want them to be able to do?
- Create Message
- Start Date
- Edit Message (everything except URL ?)
- Delete Message
- Track hits (?)
- Include images (?)
- Choose background (?)
As in the list above the question marks are items I felt I could live without on the first version. In the end, users can choose their Title, Message and Start Date. They can’t choose their own URL, the system creates one for them.
Users can now create an account, log in, and create a message, but it’s missing one major component. What about sharing the message? I figured on an MVP level, I could give the users some messaging telling them “Your message has been posted, Copy and Paste the URL of this page and share it with anyone!”, so off the bat I felt no need to build in sharing functionality.
Step Three: How The Heck Do I Build This?
This article covered what I wanted to build, what it needed and how I determined what to include on an MVP level. A future post will let you know what I did to determine what technology to actually use.