<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ lean startup - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ lean startup - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Wed, 17 Jun 2026 16:19:42 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/lean-startup/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How I did NOT code a collaborative writing app ]]>
                </title>
                <description>
                    <![CDATA[ By Eric Burel Twaikura, haikus but funnier As easy as ABC: some stranger on the Internet starts a 120 characters story, some stranger on the Internet finishes it. And that makes a Twaiku (tweet + haiku). Twaikus can be funny, serious, artistic, it’s ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-i-did-not-code-a-collaborative-writing-app/</link>
                <guid isPermaLink="false">66d45e3f4a7504b7409c3382</guid>
                
                    <category>
                        <![CDATA[ bubble ]]>
                    </category>
                
                    <category>
                        <![CDATA[ code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Entrepreneurship ]]>
                    </category>
                
                    <category>
                        <![CDATA[ lean startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ web ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 18 Feb 2020 17:19:33 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/02/code-free-1200-2.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Eric Burel</p>
<h2 id="heading-twaikura-haikus-but-funnier">Twaikura, haikus but funnier</h2>
<p>As easy as ABC: some stranger on the Internet starts a 120 characters story, some stranger on the Internet finishes it. And that makes a Twaiku (tweet + haiku). Twaikus can be funny, serious, artistic, it’s up to you. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/02/logo_256.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/02/twaiku.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>So, as a developer, implementing something like that shouldn't be hard, right? Yes, but no. Here is the story of how it took me multiple years to create Twaikura and how you could do the same in a matter of hours.</p>
<h2 id="heading-back-to-twentyparts-and-why-it-never-came-to-existence">Back to TwentyParts and why it never came to existence</h2>
<p>TwentyParts was my first “entrepreneurial concept” back in 2015. As you may guess, the idea is to write a story in 20 parts, with each part written by a different author. </p>
<p>I was a CS student at the time and it took me 2 months to release a first draft. The result was disastrous. I didn’t even know about the concept of a “framework”, picture the code. The concept was too complex, the interface unusable.</p>
<p>I did not give up. A few months later, in 2016, I came up with a simplified version of TwentyParts, HiKoo.  I limited the length of a story to 3 tweets. And instead of rushing to development, I created mocks using a marvelous tool named MarvelApp.</p>
<p>Now I had a great UI and all, but no working code. One more app that never came to existence.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/02/hikoo.png" alt="Image" width="600" height="400" loading="lazy">
<em>Looks good, doesn't work</em></p>
<p>Fast forward to now. I’ve graduated. I’ve built my consulting company, LBKE. I’ve developed complex SaaS platforms for multiple clients. And I've kept this question running in my head:</p>
<blockquote>
<p>What prevents me from recreating TwentyParts, now I am fast and skilled and over-confident?</p>
</blockquote>
<p>After all, it would only take a full work week nowadays. Yet there’s a problem: I am not a student anymore. With one spare hour here and there, a “full work week“ can span over a few months. Too slow.</p>
<h2 id="heading-how-to-code-fast-dont">How to code fast: don’t.</h2>
<p>I’ve explored thoroughly the realms of fast web development. You may have read my previous articles on freeCodeCamp about <a target="_blank" href="https://www.freecodecamp.org/news/how-i-built-an-app-with-vulcan-js-in-four-days-6368814077b1/">Vulcan, a framework based on Meteor that makes me very productive.</a></p>
<p>Those researches all lead me to the same conclusion: the best code is the code you don’t write. </p>
<p>There are a lot of ways NOT to write code, even for a developer. Scaffolding, declarative programming, using snippets, or using an ORM are all methods to circumvent writing code. Using open source is another great example. Some may even think that developers are a bit lazy – but aren't they?</p>
<p>Yet minimal skills in web development are still necessary. That means careful thinking, lots of doc reading, debugging and so on. In the end, the time needed to create a fully functional app can only be reduced this much.</p>
<p>You know what? Using a massive framework to speed up developments feels like cheating sometimes. What if I did not have those skills? What if I was not a developer? I would have no other choice than embracing the “no-code way”. And that’s what I’ve done.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/02/code-free-1200.png" alt="Image" width="600" height="400" loading="lazy">
<em>Relax, Code will be on vacation for the remainder of this article</em></p>
<h2 id="heading-sparkling-innovations-for-web-non-developers">Sparkling innovations for web non-developers</h2>
<p>No-code solutions have been pretty bad in the past. Limited, difficult to extend, proprietary, expensive, the list is long. But some recent tools are starting to be worthy enough.</p>
<p>I will focus specifically on Bubble. Its plugin system coupled with its data management features makes it the most complete solution on the market currently. Here are a few key features and how I used them to build Twaikura.</p>
<h3 id="heading-the-ui-editor">The UI editor</h3>
<p>Bubble proposes a WYSIWYG editor (What You See Is What You Get) to create the app user interface. You put your blocks of content wherever you want, and configure their content.</p>
<p>It’s grid-based so you can have pixel perfect alignment. It handles responsiveness. So you should be able to create designs as complex as you wish.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/02/ui-bubble.png" alt="Image" width="600" height="400" loading="lazy">
<em>Building Twaikura's interface using the WYSIWYG editor.</em></p>
<p>But I’ll be honest, I am not the hugest fan. More precisely, I am not very good with it. It’s very different both from writing HTML/CSS and from using web-based design tools like Figma, so there is a learning curve.</p>
<p>I ended up sticking myself to an old school Windows 98-ish style. With a little bit of imagination you could even believe it has some “V a p o r w a v e” aesthetic.</p>
<h3 id="heading-thinking-in-workflows">Thinking in workflows</h3>
<p>The most impressive feature of Bubble to me is its “Workflows”. It lets you describe complex process in a visual language. It can mix data management (validating and storing a Twaiku, sending an email) and user experience (resetting a form, refreshing the page) transparently. You don’t need to mentally split the workflow between frontend and backend as you would do in a traditional web app.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/02/workflows.png" alt="Image" width="600" height="400" loading="lazy">
<em>Twaiku creation workflow</em></p>
<p>This example workflow is triggered when the user wants to submit the second part of a Twaiku. It will create a "Twaiku End" in the database, link it with a "Twaiku Begin", and reset the form. I could also display a success message, send a mail to a moderator and so on. Visualizing the full workflow in a single timeline is very intuitive.</p>
<h3 id="heading-complete-data-management">Complete data management</h3>
<p>Bubbles comes with a relational database and complete filtering features. That means you can easily create both forms and list of data. For example, the “Read latest Twaikus” block will load all valid Twaikus.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/02/twaikus-list.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Plugins can help secure your content. For example, there is a ReCaptcha plugin to add CAPTCHAs to your form in a matter of minutes. This is important as security is usually left behind in the prototyping steps. Malevolent bots and hackers don't care that you are a "lean startup-er", and they won't miss an opportunity to spam or hack your website.</p>
<h2 id="heading-a-few-hours-of-work-for-an-app-that-works">A few hours of work for an app that works</h2>
<p>I won’t describe all features of Bubble, because it has a lot more. The conclusion is that it's been powerful enough to write an app like Twaikura. Instead of writing tons of crappy code that will end up in a dumpster, instead of creating a visual prototype as lively as Frankenstein’s Creature, I just created something that works.</p>
<p>Is my website great? Honestly, not yet. Does it do the job? Hell yes. I had fun creating it, it cost me no more than a few hours, and I am able to test the concept in the most direct possible way. The longest part was writing this article.</p>
<p>I especially recommend no-code tools for people who want to learn web development. Taking a lot of time to produce simple features can feel frustrating at first. Using a no-code tool alongside traditional programming is a way to keep having fun. It's instructive too, because, even if you don't write code, you still have to think like a developer: designing conditional workflows, structuring a database, validating forms... That's a win-win.</p>
<p>I won't become a no-code evangelist, but Bubble is a great addition to my tool belt. And it could be great addition to yours too!</p>
<p>Thanks for the read. If you liked this article, come try a Bubble app by creating your first Twaiku on <a target="_blank" href="http://twaikura.com">twaikura.com</a>!</p>
<p><a href="https://twitter.com/lbke_fr">
<img src="https://www.freecodecamp.org/news/content/images/2019/10/Medium-follow-2019.png" alt="LBKE banner twitter" width="600" height="400" loading="lazy">
</a></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ The Best Strategy Ever to Unlock Brilliant Ideas ]]>
                </title>
                <description>
                    <![CDATA[ By Sam Harris Why we are thinking about time optimisation completely wrong Technology has caused a radical change in the way we live our lives. Our eyes are opening to the damage apps like facebook and twitter do to us. We know that the infinite scro... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/stop-trying-to-be-so-productive-and-become-productive/</link>
                <guid isPermaLink="false">66d460c58812486a37369d3a</guid>
                
                    <category>
                        <![CDATA[ accelerator ]]>
                    </category>
                
                    <category>
                        <![CDATA[ creativity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Deep Learning ]]>
                    </category>
                
                    <category>
                        <![CDATA[ education ]]>
                    </category>
                
                    <category>
                        <![CDATA[ lean startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learning ]]>
                    </category>
                
                    <category>
                        <![CDATA[ meditation ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Mental Health ]]>
                    </category>
                
                    <category>
                        <![CDATA[ mental models ]]>
                    </category>
                
                    <category>
                        <![CDATA[ podcast ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Students ]]>
                    </category>
                
                    <category>
                        <![CDATA[ success ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Time management ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 31 Jul 2019 17:47:03 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/07/photo-1445583934509-4ad5ffe6ef08.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Sam Harris</p>
<h4 id="heading-why-we-are-thinking-about-time-optimisation-completely-wrong">Why we are thinking about time optimisation completely wrong</h4>
<p>Technology has caused a radical change in the way we live our lives. Our eyes are opening to the damage apps like facebook and twitter do to us. We know that the infinite scroll was something we shouldn’t be engaging in.</p>
<p>I’ve enjoyed the headspace of turning my phone into a device that doesn’t have social media on it. I then went one step further and removed email for a ‘month’ challenge. Two weeks into the challenge I stopped even thinking about the challenge and my phone is just a device that doesn’t do email anymore. It’s totally great, I don’t have a burning to-do list of people talking to me in my pocket 24/7. I feel odd that I ever wanted that or felt proud about being such a productive person. Regardless this is not what this blog is about.</p>
<p>The brilliant rise of ‘Edutainment’ with fantastic podcasts and the ability to listen to Audiobooks is not something that we have really scrutinised. But it is worth investigating. I will explain why even using your phone for education should be limited. Your creativity and mental health will blossom and you will thank me for it. This blog will cover why limiting education time will make you a smarter and happier person.</p>
<h2 id="heading-an-extreme-example">An Extreme Example</h2>
<p>There is a ratio of how much time you should spend studying and consuming new content in comparison to how effective you will be. In simple terms, this is astoundingly obvious.</p>
<p>If you spent 0% of your time studying or learning anything you would be clueless. You would get nothing done.</p>
<p>Conversely, if you spent 100% of your time studying and learning. There would be no time at all for having idea’s or doing anything with them. You would be a highly intelligent but equally useless entity. A net drain on humanity. No one wants that. Least of all you.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/effectiveness-1.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-the-modern-problem">The Modern Problem</h2>
<p>However, in the modern-day, we are surrounded by increasingly mountainous volumes of information that we can never keep up with. We are also surrounded by tech that can supply this information to us in a low-cost manner. We can instantly plug ourselves into learning at every spare moment. You feel wise as you ignore Facebook and other social media distractions to put on a podcast when you walk to work, make your food or hit the gym. You can watch educational videos during your lunch break. This all contributes to making a minor dent in the overwhelming amount of information you aren’t keeping up with.</p>
<p>But where is the time to process this information and make connections, have ideas or use it?</p>
<h2 id="heading-the-argument-for-edutainment-and-plugging-in">The Argument for 'Edutainment' and Plugging In</h2>
<p>If you are studying, building a business, or trying to stay at the top of your field you don’t want to miss opportunities. You want to use the massive amounts of dead time that you have to learn more.</p>
<p>There is so much time in a day to consume the huge variety of useful information available on audio and video. It can give you different opinions about your field or help you learn complex ideas about new things.<br>You can also learn about humans by even listening to fiction. It shows you how to create a good story or a bad story, and you can even learn about love from 50 Shades of Grey when you are looking for it.</p>
<p>By not using all the extra time to learn you will unlikely be a change-maker in your field.</p>
<h2 id="heading-before-you-press-play">Before you Press Play</h2>
<p>There is a happy medium between optimising your life for learning new stuff and spending spare time with an unoccupied brain. It is hard to find exactly but crucially important.</p>
<p>Like the endless scroll of social media, we have an infinite scroll of edutainment available to us. I started a list of books to read this year from recommendations and 6 months in it is already 350 books long and I’m certain they are all pretty awesome. A ten-minute session looking in my podcast feed easily gives me 100 new podcasts to get through. I get bombarded with lists of amazing blogs that grow my mind and <a target="_blank" href="http://www.newscientist.com">science journalists</a> and (<a target="_blank" href="http://www.guardian.com">some</a>) newspapers produce brilliant content. Then there’s also politics, the economy, and of course the news. Let’s not even talk about the great content available on the BBC, Youtube and Netflix.</p>
<p>We feel we need to keep up with it. As you start your walk to work and you aren’t listening or doing something, your brain is free to roam around. It feels inefficient to just do nothing, you can instantly solve that with your readily available edutainment and can constantly feel productive.  </p>
<h4 id="heading-the-unrecognised-value-of-doing-nothing">The Unrecognised Value of Doing Nothing</h4>
<p>Doing <em>‘nothing’</em> doesn’t provide an instant reward of productivity. You never <em>‘know’</em> that you are going to have good ideas if you do nothing for the next 20 minutes of walking. Leaving your brain at peace is setting sail into the unknown with perhaps zero rewards, and it all seems very boring and pointless.</p>
<p>We need to train our brains to not require instant gratification, this feeling of needing to do something is what kicks the brain into gear. It can trigger the brain to do awesome things all by itself if you let it. If you hear that trigger of the brain wanting to do something and just stick on someone else’s thoughts to listen to then you are turning off your brain instead of firing it up.</p>
<p>I will go as fire as stating that you are pissing on your own bonfire instead of adding fuel to it.</p>
<p>You need to learn to like that feeling of an unoccupied brain and embrace it instead of quickly finding a way to suppress it. You need to recognise the brains' inbuilt hunger to do cool stuff for what it is. Let your brain wrestle with the world's problems like the innovator your podcasts are telling you it be.</p>
<h2 id="heading-body-analogies">Body Analogies</h2>
<h4 id="heading-exercise-for-your-brain">Exercise for your brain</h4>
<p>If every time you started to feel slightly out of breath someone sat you down and did everything for you, you would not be fit. You would get no exercise at all. This would be grossly unhealthy for your body and produce a feedback loop of decreasing fitness, even getting out of your chair would begin to challenge you. You would end up never using your muscles that would waste away. You would stop being able to walk and become a bed-bound bag of uselessness.</p>
<p>My question to ask yourself. As soon as your brain is about to do some work by itself, should you be sitting it down and making it rest?</p>
<h4 id="heading-over-feeding">Over-Feeding</h4>
<p>If you spent all day surrounded by sweets and biscuits you would be constantly reminded of the available food. You would become obese if every time you had a passing thought that perhaps you could eat one of those biscuits you then ate one.</p>
<p>The human is designed to be able to overeat whilst food is available. This prevents it from starving in periods of no food. Humans need to stop their innate behaviour to eat when food is available to be able to stay healthy.</p>
<p>We now live with a device in our pocket that is a constant reminder that we can be learning more things. Our brains are designed to feel a need to satisfy that hunger. Our brain is used to an environment of low information. It was engineered in a time when books didn’t exist and the odd occasion you found something new in your environment you investigated the crap out of it. If once a blue moon someone turned up with news about anything, you listened as if your life depended on it because sometimes it did.</p>
<p>Thus your brain wants to learn about every new thing in its environment to stay up to date so it doesn’t get killed.</p>
<p>That is a powerful innate behaviour optimised to keep your genes going to the next generation. The reason you exist today is directly because your ancestors were better at obsessing about new things in their environment than their peers.</p>
<p>However, the modern world is not going to kill you if you don’t know every new thing. Just like with food, if you let your brain operate on default behaviour it will make you incredibly unhealthy. You need to stop trying to learn everything.</p>
<h2 id="heading-what-even-is-being-productive">What Even is 'Being Productive'</h2>
<p>We need to learn that actually doing nothing is doing something. Your brain is making connections and its best ideas come when you do things like meditating, menial work or exercise without anything else going on. You need to learn to hear your inner voice and become good friends with it.</p>
<h4 id="heading-focussed-vs-diffuse-thinking">Focussed vs. Diffuse Thinking</h4>
<p>In the science of learning, you need to spend focussed time on new material to understand things. But the magic happens when you stop thinking about it and let the brain go into a 'diffuse' mode of thinking where it makes connections happen between different ideas. This is where billion-dollar ideas like AirBnB and Uber came from, uniting two different bodies of knowledge in the brain into a novel concept. This simply doesn't happen whilst you are in focussed mode.</p>
<h4 id="heading-learning-vs-rating">Learning vs. Rating</h4>
<p>You learn much more from a book or podcast if you try and recall it than if you were to just listen to it again. Yet madly most of us consume all this stuff just once and then never revisit it. We quickly forget all the specifics, we can vaguely remember how it made us feel if we remember it at all. So you are basically just creating a pile of ratings in your head by optimising all this time for consuming.</p>
<p>If you spend some time after each podcast or book chapter to think about what you just learnt and test yourself on why it’s useful, you will genuinely gain twice as much from it. That takes 5 minutes but it doubles the effectiveness of the hour you just spent listening to it.</p>
<h4 id="heading-life-processing">Life Processing</h4>
<p>Then there is everything else in your life that you are learning about and dealing with that needs its own processing time. If you don't put time into thinking about what's going on and learning from it and how to improve, then surprisingly you don't learn from it or improve. Tools like journaling can radically increase your rate of improvement and benefit your levels of happiness and well-being.</p>
<h2 id="heading-playtime">Playtime</h2>
<p>Imagine you are at work and for some odd reason a toddler appears out of nowhere and wants to play with you. It wants to go for a walk and look at flowers and jump in puddles. <em>(or in my own experience, look at puddles and jump in flowers)</em>. Then it asks annoying things that are hard to answer:<br><em>"why is the sky is blue?</em><br><em>Why are Spaghettis O’s unhealthy and Baked Beans healthy, they grow on the same tree?</em><br><em>And then why does anyone even care about flowers in the first place if they aren’t for jumping in?"</em></p>
<p>It wants to explore the world and it seems to want to explore your mind and put things together. This is tragically unhelpful for you and so you give it an iPad and hope that it occupies itself and won’t disturb you.</p>
<p>This distraction technique in the hope of getting more work done is what you are doing to your own brain. When your own inner voice pops up and lets you know that you aren’t doing anything you realise you have some spare time. You feel like you could be <em>‘doing work’</em> by sticking on a podcast. Your brain will just do pointless stuff otherwise and you’ve got an endless list of things to get through.</p>
<p>When you do this you are turning off your actual consciousness. And yes when you first listen to your consciousness it does pretty dumb stuff as it explores the contents of the environment and your mind. Sometimes it is a whiney bitch and sometimes it is obsessing about the wrong things. But if you let it play around and listen to it and take it seriously, it will reward you back. Let it explore the environment and let it explore the contents of your mind and just like the toddler it will learn profound things.</p>
<p><img src="https://i1.wp.com/samwebsterharris.com/wp-content/uploads/2019/07/photo-1529906920574-628dc1e49f5a.jpeg?fit=700%2C469&amp;ssl=1" alt="Image" width="600" height="400" loading="lazy">
<em>This isn't a toddler but I saw a puppy and then it magically ended up here for no sensible reason</em></p>
<h2 id="heading-change-what-you-think">Change What you Think</h2>
<p>When there is a spare moment and you start thinking for yourself for a second, you need to hear your inner voice and say<em>:</em></p>
<p><em>"SHOOT. Hello me. Wow, it’s great to find some time together. What’s going on buddy. Let’s have a chat</em>"</p>
<p>Instead of the current<em>:</em></p>
<p><em>"SHOOT. I was hoping to get work done. Let’s give you something to do. So I can carry on working</em>"</p>
<p>Your inner voice is not a toddler that you have nothing in common with. This is not a massive drag on your day that you need to escape from but instead a blessing to make the most of.</p>
<p>We need to stop feeling like we are constantly at work and we need to stop feeling like our inner voice is a bad thing to spend time with.</p>
<p>This is important, because your inner voice isn’t just your best friend. It is literally the actual real you. You need to get to know it, listen to it and take it seriously. It’s essential that you stop treating it like a pathetic things that needs distracting. Stop putting stuff in front of it in the hope it never bothers you.</p>
<p>Find out what you actually think and know. Explore ideas and actually take useful thoughts to the next level.</p>
<h3 id="heading-exercise-time">Exercise time</h3>
<p>The combination of exercise and not having other stuff going on in your brain is the perfect breeding ground for good ideas.</p>
<p>Exercise very mildly occupies the brain but leaves a lot of space for thinking. It also releases hormones that make you think more positively. This prevents any negative doubts from blocking potential good ideas before you have given time to think about it further. It provides a golden period where your brain can just explore random stuff that it knows and make connections.</p>
<p>Optimising all your exercise time for learning keeps your brain in a focussed mode where it never has ideas. You have to unplug and let your brain think it’s own thoughts instead of permanently listening to those of others.</p>
<p><img src="https://i2.wp.com/samwebsterharris.com/wp-content/uploads/2019/07/photo-1547483238-f400e65ccd56.jpeg?fit=700%2C467&amp;ssl=1" alt="Man running into scenery" width="600" height="400" loading="lazy"></p>
<h2 id="heading-the-minimum-requirements">The Minimum Requirements</h2>
<p>Depending on your current situation there are different guidelines. As I mentioned at the start you will fall behind if you never engage in learning useful stuff. The books I have read on my list of 350 this year have done incredible things to how I think. But I’ve also found that unplugging is where I put all that information together and do something useful with it.</p>
<p>I think you should have an obligatory 20 minutes a day where you are completely in touch with yourself. Meditation is brilliant, but if you want to do yoga or walking or cooking it really doesn’t matter. And this is just minimum to be a human.</p>
<h2 id="heading-the-thinking-vs-listen-ratio">The Thinking vs. Listen Ratio</h2>
<p>After the minimum requirements are filled I think shooting for a balanced ratio is the best strategy. The same as the saying of two ears and one mouth. I think two-thirds of your time listening to info is fine. But you should block out one third for actually thinking your own thoughts.</p>
<p>This depends on the person and the situation. Sometimes I feel like I do just want to do nothing and that my brain has too many ideas anyway. Sometimes having something to listen to is what gets me out the door to go for a run in the first place. But other-times you can feel overwhelmed by problems and you should use all your time available to think.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Based on the <a target="_blank" href="http://coursera.org/learn/learning-how-to-learn">best research</a> on how to learn, giving your brain unfocussed time is key. This time is the ultimate source of creativity and brightest ideas.</p>
<p>Stop distracting yourself with other peoples thoughts and give yourself time to listen to your own thoughts.</p>
<p>This is an ironic conclusion as I run the <a target="_blank" href="http://www.GrowthMindsetPodcast.com">Growth Mindset Podcast</a> which I'd like to think is Edutainment at it's finest. Hopefully this proves I'm not trying to sell you anything except a better life. This wasn't driven by some anti-Apple anti-Amazon complex and just a product of my studies in evolutionary psychology and general anthropology. <em>(human watching)</em>. Putting one domain of knowledge together with another and having ideas.</p>
<h6 id="heading-effects"><strong>Effects</strong></h6>
<p><em>I was in Tel Aviv last week and wanted to go for a run to the beach and have a swim. Not wanting to leave my phone on the beach I went for an hour run with just myself. An actual human with no device attached to it running around a city it's never been in. How did this become a rare thing so quickly? (ten years ago I drove around America with just a compass...)</em><br><em>It was one of the most lovely mornings ever. I came back with more solutions to my problems and writing ideas than I thought possible. It seems crazy that I usually spend so much of this valuable time with myself having someone else’s thoughts permanently distracting my brain.</em></p>
<p><em>I don’t know how far I ran, how many steps I did or where I even went. But that doesn't actually matter. I focussed on new metrics of success for a productive run, number of ideas and sweatiness. I smashed both records.</em></p>
<h6 id="heading-question-yourself"><strong>Question Yourself</strong></h6>
<p>I think we should all step back and define what our phone is actually for. As we realise the importance of our mental health and the problems our devices are causing us, this is more important than ever.  We need to let go of our FOMO to keep up with the world to spend more time with ourselves.</p>
<p>Simply put. No one else is going to think for you and solve your problems. If you stop being able to think for yourself you are screwed.</p>
<p><img src="https://i0.wp.com/samwebsterharris.com/wp-content/uploads/2019/07/photo-1509994196812-897f5a6ab49c.jpeg?fit=700%2C353&amp;ssl=1" alt="Image" width="600" height="400" loading="lazy"></p>
<hr>
<h4 id="heading-related-reading">Related Reading</h4>
<p>Enjoyed this? You might like these similar posts on the topic of being more sensible:</p>
<ul>
<li><p><a target="_blank" href="https://samwebsterharris.com/blog/top-strategies-for-better-decisions-that-you-probably-arent-using/">Top Strategies for Better Decisions (That You aren't Using)</a>  </p>
</li>
<li><p><a target="_blank" href="https://samwebsterharris.com/blog/the-best-life-hack-for-2018-that-isnt-on-any-life-hack-list/">The Best Life Hack that isn't on any Life Hack List</a></p>
</li>
</ul>
<h4 id="heading-subscribe">Subscribe</h4>
<p>This will form part of a five part "pentalogy<em>"</em> <em>(learnt a new word)</em>. Be sure to not miss out on the rest of it!</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://upscri.be/w0rlmr">https://upscri.be/w0rlmr</a></div>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How my app grew by over 1M users in one month ]]>
                </title>
                <description>
                    <![CDATA[ By Assaf Elovic All it took was this simple weekly approach and patience. Building and promoting a new consumer product is one of the most challenging things you can do as an entrepreneur. While there are many approaches on how to design, test, build... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-my-app-grew-by-5-800-in-one-month-with-no-branding-or-marketing-d0bafb93108/</link>
                <guid isPermaLink="false">66c34e840f58901a620917a7</guid>
                
                    <category>
                        <![CDATA[ lean startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Product Management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Software Engineering ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Tutorial ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 08 Jun 2018 22:25:33 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*6mwPtRFssDKydj6pqydT5Q.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Assaf Elovic</p>
<h4 id="heading-all-it-took-was-this-simple-weekly-approach-and-patience">All it took was this simple weekly approach and patience.</h4>
<p>Building and promoting a new consumer product is one of the most challenging things you can do as an entrepreneur. While there are many approaches on how to design, test, build and promote apps, usually they don’t seem to bring real results.</p>
<p>Then you start wondering, maybe it’s the product? Maybe there’s not enough market fit? Or is it bad execution? Or maybe we should grow the marketing and branding budget! Maybe we’re not targeting the right audience? Maybe we should build more features!</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/QqH24zepqLfmd0onro4RQ4dp2MDrYMkk0yBP" alt="Image" width="249" height="140" loading="lazy"></p>
<p>When you start questioning everything, things usually get even worse. You start defocusing from the main goal and start wasting energy and money on all kinds of wide approaches.</p>
<p>The worst is when you think it’s all a matter of growing your marketing or branding budget.</p>
<p>Your goal should always be one: <strong>improving customer retention</strong>. For those who are not familiar with what customer retention is, <a target="_blank" href="https://en.wikipedia.org/wiki/Customer_retention">click here</a>.</p>
<h4 id="heading-a-case-study-why-its-important-to-keep-your-customers-around">A case study: why it’s important to keep your customers around</h4>
<p>To make my point clear, I’ll let you in on a story I heard from a friend of mine, who’s the Co-founder and CTO of a very successful productivity B2C company.</p>
<p>In 2012, they released the first version of their app to the Android Google store, and a crazy thing happened. Within a few days after the launch, 500K users worldwide had downloaded the app. The reason for that crazy growth was mainly because there were no good apps in the productivity space back then. Over the next few months, they had grown to a few million users and raised over $5M from VCs.</p>
<p>Four years later, however, they still couldn’t reach a decent business model. He realized that despite the big numbers, there were very few users who were actually using the product long term.</p>
<p>So he decided to dig into the data and look for the reason. He found out that retention was very low. Even worse, he discovered that it hadn’t improved much in four years! That’s when it hit him to focus on retention instead of user growth.</p>
<p>Back then, VC’s poured millions of dollars into companies with large user growth because they didn’t know how to deal with or measure the crazy scale that mobile app stores and websites brought with them.</p>
<p>Today the case is different. The first thing you’ll need in order to raise money in B2C is to show retention growth. And there’s a very good reason for that.</p>
<p>Back to my friend’s story: with no retention, it didn’t matter how many users had downloaded their app. After a week, 95% of users stopped using the product. So even if they had a billion users, after a few weeks it would only be a number in their database.</p>
<p>Here’s a thought: if you have 100K users using your product every day, it’s 100X more valuable than having 100M users using your product once a month.</p>
<p>Most importantly, once you’ve reached a decent retention rate, you can be sure that your marketing budget will lead to the sustainable growth of your product and business.</p>
<h3 id="heading-the-lean-startup-approach">The Lean Startup approach</h3>
<p>Too many startups begin with an idea for a product that they think people want. They then spend months, sometimes years, perfecting that product without ever showing the product, even in a very rudimentary form, to the prospective customer. This is where the <a target="_blank" href="http://theleanstartup.com/principles">Lean startup</a> comes in.</p>
<p>In short, the Lean Startup is a methodology that posits that every startup is a grand experiment that attempts to answer one main question — “Should this product be built?”</p>
<p>A core component of Lean Startup methodology is the <a target="_blank" href="https://www.mindtools.com/pages/article/build-measure-learn.htm">build-measure-learn feedback loop</a>.</p>
<p>The first step is figuring out the problem that needs to be solved, and then developing a minimum viable product (MVP) to begin the process of learning as quickly as possible.</p>
<p>Once the MVP is established, a startup can work on tuning the engine. This will involve measurement and learning, and must include actionable metrics that can demonstrate the cause and effect question.</p>
<p>Whenever my team and I are working on a product, here are the steps we’ve:</p>
<ol>
<li>Define the most important product assumption</li>
<li>Design and build an MVP of how this assumption should be tested</li>
<li>Target early adopters to test the MVP</li>
<li>Apply the test results</li>
<li>Repeat</li>
</ol>
<p>This is how our growth looked in the first year (2017) of iterations:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/sBAs4EbNyBeHTj0hyZAolCNFi2lsdhZNluWh" alt="Image" width="800" height="234" loading="lazy">
<em>User activity from March 2017 to January 2018</em></p>
<p>Slowly but surely right? Now let’s look at an example together and see what happened after enough iterations.</p>
<h3 id="heading-the-process">The process</h3>
<h4 id="heading-define-the-most-important-assumption">Define the most important assumption</h4>
<p>I’ll use my team as an example. We believed that there were no decent reminder apps that people actually like to use. The main reason, in our opinion, was that there is a lot of friction in setting a single reminder. Either you need to fill out a long form on a mobile app, or naturally ask an assistant like Siri — realizing that she doesn’t understand 50% of your requests.</p>
<p>So that’s when we defined our most important product assumption: if we could achieve understanding for almost every reminder request in natural language, users would use such a product long term.</p>
<h4 id="heading-design-and-build-an-mvp">Design and build an MVP</h4>
<p>Since our assumption was focused on NLU (natural language understanding), we decided to focus solely on that. No branding, UX, or other features.</p>
<p>First, we hired data scientists to build a state of the art NLU algorithm for understanding complex reminder requests.</p>
<p>Secondly, since all we were validating was this assumption, we decided to build the MVP as a chatbot on Facebook Messenger, instead of going through the long and annoying process of building a mobile app.</p>
<p><strong>Please note</strong>: If we were to build a mobile app, this would not add anything to testing our assumption, and would make our MVP longer and more complicated to design and build. Moreover, it might even defocus us from the main assumption. For example, what if users just don’t like to use new apps anymore? We might’ve concluded that our assumption was wrong, even though it was for a whole other reason.</p>
<p><strong>It’s important to narrow your MVP as much as possible</strong>, so there are no distractions from your main assumption.</p>
<h4 id="heading-target-early-adopters">Target early adopters</h4>
<p>We needed English speakers, since our NLU algorithms only supported it. Also, we believed that millennial moms would eagerly want a product like this, since they’re always on the move and very busy, while constantly needing to remember things. So we targeted some Facebook pages (with no budget) which were based on a community of moms, and successfully brought onboard a few hundred beta testers to try it out.</p>
<h4 id="heading-apply-the-test-results-on-the-product">Apply the test results on the product</h4>
<p>After our first iteration, we learned the following:</p>
<ol>
<li>There were many more ways to ask for reminders than we thought. But users really enjoyed the ease of setting reminders with a simple request.</li>
<li>Users don’t always ask for reminders in a single request but break it down into a few steps.</li>
<li>When working with chatbots, users would like the assistance of buttons to make it faster and easier to handle.</li>
</ol>
<p>With these results, we prioritized and went on to our next assumption, which was to add buttons to the flow of setting a reminder (conclusion three). And guess what? That assumption also turned out to be true. For more proven assumptions, you can read my article on <a target="_blank" href="https://chatbotsmagazine.com/how-to-improve-your-chatbot-in-3-simple-steps-36f9d26d7f2f">How to improve your chatbot</a>.</p>
<p>Little by little, we improved our overall product and retention rate on a weekly basis.</p>
<p><strong>We never tackled more than one assumption at a time.</strong></p>
<p>Suddenly, we started discovering users who were with us for over six months! After a year of weekly iterations, we finally decided it was time to launch our product. We reached a Week 1 retention rate of 92% and Week 4 of 19%. It was way above the market standard, which was enough for us.</p>
<p>We published our chatbot on FB Messenger in mid Feb 2018, and within a month we grew by over 5,800%, as you can see below.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/fcezj121HUXBHRsG7Sml56aksdQYWZHWOcqU" alt="Image" width="800" height="569" loading="lazy">
<em>Daily new users from Feb 17 to March 17</em></p>
<p>This was mostly due to delivering a lean product that we knew people enjoyed and would recommend to others. Since then, we’ve grown to over 1M users worldwide and are growing by tens of thousands of users a day.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/T2shNAtQv976v5D1oYQhd8fzXm-JjQREO4es" alt="Image" width="800" height="385" loading="lazy">
<em>Total user growth from Jan 18' to May 18'</em></p>
<p>We’re continuing to work with this methodology, and it’s proven a success every day.</p>
<p>Also, we try to make as many <strong>data driven decisions</strong> as possible. Try collecting user data for improving user experience, and do <strong>A/B tests</strong> when there is no definitive answer. For example, if you’re not sure where a button should be placed or which title would attract more clicks, try placing it on one side for half the users, and on another side for the second half. Then, see which placement led to more clicks.</p>
<h3 id="heading-final-thoughts">Final thoughts</h3>
<p>Not only does this methodology help us focus solely on what’s the most important set of features users want, but it also helps us filter out features we believe are valuable, but that are actually not.</p>
<p>As they say in customer service: the customer is always right. The same goes for product development. Trust your customers, listen to them and engage with them, and you’ll understand what they want and don’t want. Never build things out of your own intuition, unless it’s to challenge your assumptions. At the end of the road, you’ll reach one of two conclusions:</p>
<ol>
<li>The product does not have enough market fit, <strong>time to move on</strong>.</li>
<li>You have a product people want. Good job, you’re on the way to building a company!</li>
</ol>
<p>Either way, you win.</p>
<p>Thank you very much for reading, if you found this useful, please give me some claps ??? so more people can see it. For more articles, visit my tech blog at ass<a target="_blank" href="https://assafelovic.com">afelovic.com. I</a>f you have any questions, feel free to drop me a line in the comments below!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What the hell does “Minimum Viable Product” actually mean anyway? ]]>
                </title>
                <description>
                    <![CDATA[ By Ravi Vadrevu Elon Musk on making sense of a confusing idea _Confused about MVP? You’re not alone — this giraffe is too. Image credit: [Matt McCaslin](https://unsplash.com/@andrewfurlan" rel="noopener" target="blank" title=") Even the experts are ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-the-hell-does-minimum-viable-product-actually-mean-anyway-7d8f6a110f38/</link>
                <guid isPermaLink="false">66c365fc8e244e1678738638</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Entrepreneurship ]]>
                    </category>
                
                    <category>
                        <![CDATA[ lean startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 14 Apr 2017 15:08:52 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*86zBV92RfLM9lY9wcWVIUA.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Ravi Vadrevu</p>
<h4 id="heading-elon-musk-on-making-sense-of-a-confusing-idea">Elon Musk on making sense of a confusing idea</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/CwzQQf23rLxxkie689uD7-ZfxY0r4ARmeWZ2" alt="Image" width="800" height="533" loading="lazy">
_Confused about MVP? You’re not alone — this giraffe is too. Image credit: [Matt McCaslin](https://unsplash.com/@andrewfurlan" rel="noopener" target="<em>blank" title=")</em></p>
<p>Even the experts are confused by what Minimum Viable Product actually means:</p>
<ul>
<li><strong>Eric Ries</strong>: “One of the most important lean startup techniques is called the minimum viable product. Its power is matched only by the amount of confusion that it causes, because it’s actually quite hard to do. It certainly took me many years to make sense of it.” (<a target="_blank" href="http://www.startuplessonslearned.com/2009/08/minimum-viable-product-guide.html">Minimum Viable Product: a guide</a>)</li>
<li><strong>Marty Cagan</strong>: “One of the most important concepts in all of software is the notion of minimum viable product (often referred to as “MVP”.) But if you’ve been around software products for a while, you know that term is used in many different ways, and while the term intuitively resonates with people, there’s often a lot of confusion about what this really means in practice.” (<a target="_blank" href="http://www.svpg.com/minimum-viable-product/">Minimum Viable Product</a>)</li>
<li><strong>Steve Blank</strong>: “This minimum feature set (sometimes called the “minimum viable product”) causes lots of confusion. Founders act like the ‘minimum’ part is the goal. Or worse, that every potential customer should want it.” (<a target="_blank" href="http://steveblank.com/2010/03/04/perfection-by-subtraction-the-minimum-feature-set/">Perfection by Subtraction — The Minimum Feature Set</a>)</li>
</ul>
<p>There are two exceptional quotes that helped me understand and apply the often confusing principle of MVP effectively in my <a target="_blank" href="http://kriya.ai">startup</a>:</p>
<blockquote>
<p>“You’re selling the vision and delivering the minimum feature set to visionaries not everyone.” — Steve Blank</p>
<p>“An MVP is a down payment on a larger vision.” — Johnny Holland</p>
</blockquote>
<h3 id="heading-a-simplified-3-step-mvp-process">A Simplified 3-Step MVP Process</h3>
<p>I’ve taken the complex Lean, Agile and Guerrilla methodologies and distilled the MVP process to 3 steps:</p>
<ol>
<li>Start with a single, simple product solving a tiny sub-set of a Grand Problem;</li>
<li>Keep iterating, while constantly solving bigger, related problems en route to solving the Grand Problem;</li>
<li>Constantly communicate the vision of the Grand Problem that will be solved.</li>
</ol>
<p>Let’s use the evolution of light to illustrate how this works.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/LwhMWPq5moJDPg1h0AuzWWsd4AFG1JhRPpD7" alt="Image" width="800" height="533" loading="lazy">
_Source: [Egg Lighting](http://www.egglighting.com/2016/08/16/laas/" rel="noopener" target="<em>blank" title=")</em></p>
<h4 id="heading-grand-problem-humanity-needs-cheap-effective-lighting-during-darkness">Grand Problem: Humanity needs cheap, effective lighting during darkness</h4>
<p><strong>1st MVP: Fire.</strong> Humans witnessed how lightning from the skies could ignite forests and create fire. After experimenting by rubbing sticks together, they created their own fire. Problem solved. But fire isn’t particularly portable.</p>
<p><strong>2nd MVP: Oil Lamps, Candles &amp; Gas Lights</strong>. Now humans could carry light with them as they moved about their business. Problem solved. But candles and gas lights aren’t particularly bright and the slightest breeze blows them out.</p>
<p><strong>3rd MVP: Incandescent Light Bulbs</strong>. Early light bulbs were battery powered and were more reliable than a flickering candle. Problem solved. But as cities grew in size, the demand for more widespread lighting grew. The national grid had not yet been constructed.</p>
<p><strong>4th MVP: Widely Available Electricity</strong>. In order to transmit electricity over long distances, AC and transformers were developed. Thermal power stations were built to meet massive demand. Problem solved. But as the world’s electricity demand increases, alternatives are required.</p>
<p><strong>5th MVP: Solar Power</strong>. Lower wattage light bulbs replace the original incandescent light bulbs while solar panels become more efficient and cheaper to produce. Problem solved. But solar solutions are still relatively expensive and adoption too low to be able to turn off the national grid.</p>
<p><strong>6th MVP: A Planet Powered Solely by the Sun</strong>. Highly efficient batteries can be charged solely by cheap and ubiquitous solar panels. At this point it becomes possible to remove our dependence on fossil fuels. We’re not quite there yet.</p>
<p>As the founder of an early-stage company or product, you have a clear vision of the Grand Problem (MVP6) you are solving. But you’re way ahead of your market (or at least you should be).</p>
<p>To be successful, it is your responsibility to chunk up the journey from where the world is now to where you want us to be. How will you release feature sets that take us from what can be delivered today, while communicating the future truth of your vision?</p>
<p>Elon Musk is an entrepreneur who is exceptional at the 3-step MVP process.</p>
<ol>
<li><strong>Start with a simple product solving a tiny problem.</strong> He launched an electric car, which — in less than 3 years — became the world’s best-selling plug-in electric car.</li>
<li><strong>Keep iterating, while constantly solving bigger problems.</strong> Battery life keeps improving so that cars drive further, performance improves: 60mph in 2.28 seconds, self-driving technology reduces accidents, Tesla Part 2 introduces electric busses and trucks, the Tesla merger with Solar City and the imminent completion of Gigafactory.</li>
<li><strong>Constantly communicate the vision of the Grand Problem</strong>. Musk’s ultimate vision is a planet powered entirely by the sun and eventually multi-planet habitation. He is not the world’s best communicator. Many of his speeches are awkward (he is getting better with time). But he has captured the world’s attention because he constantly communicates his vision, while delivering MVPs along the journey.</li>
</ol>
<p>Imagine if Musk had <strong>started</strong> solving his Grand Problem by building Gigafactory (bypassing Tesla and Solar City). He might have launched with an MVP that produces 1 battery per month. His idea would go nowhere, because he hasn’t taken us the journey from where we are now to where he can see we need to be. His MVP would not be viable.</p>
<p>Entrepreneurs very often make the mistake of starting with the Grand Problem. They then deliver an MVP, but the market doesn’t respond because they haven’t taken us on the required journey. The result? An unviable MVP, which often results in a pivot.</p>
<h3 id="heading-simplified-3-step-mvp-process-in-practice">Simplified 3-Step MVP Process in Practice</h3>
<p>Let’s say that you have launched your product. A handful of customers have signed up for your initial release. Your analytics tell you that there are downloads. But you also notice that engagement sucks. Your financial projections far exceed the usage you anticipated.</p>
<p>Contrary to popular belief, this is usually not a disaster.</p>
<p>The good news is that people will sign up based on some portion of your vision. That’s the first step in validating your market. It’s at this point that the product strategist must get out of the office, talk to customers, and understand the situation:</p>
<ul>
<li>Exactly what part of your vision initially captured their attention?</li>
<li>What exactly makes your product difficult to use in getting towards the vision?</li>
<li>Is there someone else who is doing this better than you are? How are they doing it differently?</li>
<li>Is the problem that customers want to solve different to the problem you’re solving?</li>
</ul>
<p>This is a systematic meaning and sense-making process. It is a scientific process which relies on data and well-defined metrics. But the process is guided by the vision of the artist who imagines a better and more fulfilling future. Not only can the artist see the future, but they can see the path down which we need to travel to get to that future. And they know which MVPs to deliver as stepping stones to move us from here to there.</p>
<p>That is my understanding of what makes a Viable Minimum Viable Product.</p>
<p>Ravi Vadrevu is the CEO &amp; Founder of <a target="_blank" href="http://kriya.ai">Kriya</a>— the messaging platform where you instantly hire product contractors that work by the sprint.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Putting the M in MVP ]]>
                </title>
                <description>
                    <![CDATA[ By Howard Lo Years ago, I thought I knew what my minimum viable product (MVP) was. But I was wrong, and ended up building way too much. Months ago, I thought I knew what my MVP was. But I was still wrong, and ended up building too much, but not ]]>
                </description>
                <link>https://www.freecodecamp.org/news/putting-the-m-in-mvp-71e036034ed9/</link>
                <guid isPermaLink="false">66c35cfe39357f94469765fa</guid>
                
                    <category>
                        <![CDATA[ business ]]>
                    </category>
                
                    <category>
                        <![CDATA[ lean startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Sun, 31 Jul 2016 19:22:06 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*zRZ0I0E2sj9xSYRG95An9Q.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Howard Lo</p>
<p>Years ago, I thought I knew what my minimum viable product (MVP) was. But I was wrong, and ended up building way too much.</p>
<p>Months ago, I thought I knew what my MVP was. But I was still wrong, and ended up building too much, <em>but not as much as before</em>.</p>
<p>As you get practice building products, estimating “viability” does get easier. But you still need to be vigilant. Otherwise, you’ll disappear into your laptop for several months, only to emerge with a product nobody wants.</p>
<h3 id="heading-whats-the-absolute-minimum"><strong><em>What’s the absolute minimum?</em></strong></h3>
<p>The sky is the limit in development. You can code the hell out of something. You can end up with the world’s prettiest and most animated button. The pitfall is that this seem like a worthwhile effort at the time, because you’re putting in work and seeing results.</p>
<p>But there’s an important concept called diminishing marginal returns. At some point, the work you put in isn’t going to move the needle enough to matter.</p>
<p>If you go far enough, the work you put in isn’t going to move the needle at all. And if you’re not careful, you won’t notice that unmoving needle until you’ve just expended a ton of effort.</p>
<p>So when you’re building your startup — or adding a major feature to your start<em>ed</em>-up — how are you going to know when to stop? At what point will you realize that you’ve took things too far?</p>
<p>For starters, you should have a general idea of what you think is necessary and what isn’t. You can organized these into two mental lists: must-haves and nice-to-haves.</p>
<p>Once you satisfied your must-haves list, thats when you stop, and <em>voila,</em> MVP achieved.</p>
<blockquote>
<p>If you are not embarrassed by the first version of your product, you’ve launched too late. — Reid Hoffman</p>
</blockquote>
<p>No matter how hard you tried, you probably ended up spending too long working on your MVP before releasing it.</p>
<p>But how long is too long? I wish I could tell you. The best I can do is: it’s too long until it’s too short.</p>
<p>Though I can’t give you a straight answer, I <em>can</em> tell you what I learned on my most recent creation, <a target="_blank" href="https://rabbut.com">Rabbut</a>, which makes it easier to build a mailing list on sites like Medium.</p>
<p>After launching Rabbut, it became apparent what we needed vs. what we didn’t. Take what you can from the my Rabbut story — I’m just passing this along as an example in hopes that it will get you thinking about what features your MVP can do without.</p>
<h3 id="heading-what-we-didnt-need">What We Didn’t Need:</h3>
<h4 id="heading-a-forgot-password-interface">A forgot password interface.</h4>
<p>Since we have user accounts with passwords, it stands to reason that one day someone will forget their password (me included). This was on the list of things that absolutely needed to happen, because people will get pissed if they can’t get into their dashboard.</p>
<p>This didn’t get built simply because I couldn’t figure out how to set it up. Sorry early users!</p>
<p>Rabbut didn’t have password resets. Not even for admins — no one at the company could reset any password.</p>
<p>To prevent people from getting logged out when closing the browser, I set the cookies to expire after a year and removed the “sign out” button. I had to buy as much time as I could.</p>
<p>What happened? Nothing.</p>
<p>No one forgot their password for 5 months. Granted the first month didn’t have a huge influx of new users, but a feature that finally got used 5 months out definitely falls into the “don’t need it now” list.</p>
<p>At the 5 months mark, a poor old man wrote in and said he had forgotten his password, and didn’t know how to access his dashboard. I apologized, told him it was a bug (heh), asked him to give us a few days, and patched the live site with a very 1990's password reset process.</p>
<p>You can check out <a target="_blank" href="https://rabbut.com/accounts/password/reset/">our reset password interface</a> to see how unpolished the entire process is (you will need to create an actual account first if you want to go through the workflow). You might also notice that it looks strangely like every other part of our site, because it’s recycled code (more on this point later).</p>
<h4 id="heading-terms-of-use-and-privacy-policy">Terms of Use and Privacy Policy</h4>
<p>Let it be known: I am not a lawyer. Let it also be known: this is probably bad advice and you shouldn’t do this.</p>
<p>Let it finally be known: Rabbut survived without a Terms of Use and Privacy Policy (no lawsuits), and you probably will too, until you start getting big.</p>
<p>The honest truth is, hardly anyone reads these, even though they say they do (though they probably should). And hardly anyone will remember what any terms of use or privacy policy says, even if they did take time to read it.</p>
<p>So who cares?</p>
<p><strong>Pop quiz!</strong></p>
<ol>
<li>Do you know where the Medium.com terms of use and privacy policy are?</li>
<li>What is the minimum age to use Medium.com?</li>
</ol>
<p>We put in the terms of use and privacy policy for Rabbut because we got cold feet one day — not because anyone complained about it. You don’t need to pay hundreds of dollars for a lawyer to draft one up for your zero-traction company if no one even knows you even exist.</p>
<p>Do this later, and in the meantime be a good samaritan and be careful with other people’s private information.</p>
<h4 id="heading-tests">Tests</h4>
<p>Here is where all the righteous developers will pull out their digital crosses. <em>You didn’t write a full test suite for your code? See you in hell.</em></p>
<p>Tests run your code through a series of…tests… to make sure that any new code you add hasn’t screwed up something critical in your project.</p>
<p>If I could snap my fingers and have all my tests written, I’d snap my fingers.</p>
<p>But if you can avoid spending time you don’t have writing tests up front, don’t write them. Especially if you’re the only developer, or if the project is pretty small. Because if something does break, you are probably familiar enough with the small codebase to know how to fix it, or revert your changes if necessary.</p>
<p>You also don’t need tests if your product’s direction is still flexible. The worst thing about pivoting is throwing away the old code. If you pivot, you’ll probably throw away most of your tests, too.</p>
<p>Once you have traction or a big development team, you can write all the tests your heart desires (or hire a test engineer to do it for you).</p>
<p>In the beginning, things change fast. Keep your code lightweight so it can change just as quickly.</p>
<h4 id="heading-scalable-code">Scalable code</h4>
<p>If it’s all the same to you, write scalable code. If you’re stuck on something for more than half an hour because you can’t come up with a solution that will support 100,000 concurrent users, just write something hacky/unscalable and move on.</p>
<p>I’m not the worlds greatest developer. Things that are easy to some developers take me way longer than they probably should. This includes writing scalable code.</p>
<p>Yes, I would like code that doesn’t break down when I go from 10 users to 10,000,000.</p>
<p>Yes, I would like the developers who join my company later to marvel at my coding prowess and god-like foresight.</p>
<p>But all of that requires researching and understanding the latest methods of developing efficiently. And might I add, your use of best practices won’t be appreciated by anyone other than the developers on your project (and at the moment, that’s probably just you).</p>
<p>And best practices change often, which is why the shelf life of StackOverflow answers is so short. Staying on the cutting edge is a rough, endless pursuit.</p>
<p>Where you can — if you can — write scalable code. Otherwise, make it work, ship it, then worry about optimizing it later.</p>
<h4 id="heading-a-staging-server">A staging server</h4>
<p>We didn’t really use a staging server for testing until we had to test payments. And even then, we could’ve tested them on our local machine (laptop) by using Stripe.</p>
<p><strong>Pro tip:</strong> if you value your sanity, use Stripe for all your payments.</p>
<p>Staging servers are nice, and they don’t take too long to setup. But if you’re still in the early stages of discovering your product’s identity, they aren’t necessary.</p>
<p>Most developers sleep late, and push buggy code during the dead hours of the night and test on the live server. It isn’t the end of the world if that one user on your site at 4 a.m. has a diminished experience as a result of a buggy push.</p>
<h4 id="heading-start-free">Start Free</h4>
<p>This isn’t a marketing strategy or a pricing strategy.</p>
<p>Start free, because it takes time to set everything up.</p>
<p>If you push out payments, you’re going to need a pricing page to tell people what they get from paying vs. not paying. If you don’t, your users will contact support and your customer support team (probably also you) will hate you, which sucks.</p>
<p>You’re also going to need to code the payment forms and payment systems, which sucks.</p>
<p>You’ll need to setup HTTPS immediately, because most payment platforms won’t allow you to accept money unless you’re secured.</p>
<p>Then you probably need a corporate bank account. Banks suck.</p>
<p>Depending on how much you trust your team, you might also need to incorporate, or setup an official “business.” Incorporating is expensive, and sucks.</p>
<p>Not to mention, if you screw up anywhere in the math or code — like forgetting to add in shipping costs — you might actually lose money on your transactions. This happened to me, and it really sucked.</p>
<p>All of that is just extra time you’ll need to launch.</p>
<p>Humans made it to the moon by getting to orbit first. Start free.</p>
<h4 id="heading-https">HTTPS</h4>
<p>You don’t need security in the beginning.</p>
<p>Before you put on your tin hats and cry “what if I get hacked!?” remember: <strong>you need to be popular before you get hacked</strong>.</p>
<p>Most hackers want the best bang for their buck. Why would they hack your obscure project with 10 users when they can focus on places that have 100 million users?</p>
<p>Remember the hacker who leaked a ton of celebrity intimates? Ever wonder why he didn’t bother leaking yours?</p>
<p>Another prime example is Facebook. They didn’t have HTTPS until they got reprimanded and required to from the FTC, <a target="_blank" href="http://www.darkreading.com/risk-management/facebook-adopts-secure-web-pages-by-default/d/d-id/1107448">nearly a decade after they launched</a>. By then, they had sensitive information of millions of people.</p>
<p>You won’t get in trouble for a long time, but HTTPS <em>does</em> make some of your users feel better about your site. I don’t suggest you pull a Facebook and wait a decade, but get HTTPS when you need it (payments) or when your users — or the FTC — complain too much.</p>
<h3 id="heading-what-we-actually-needed">What we actually needed</h3>
<p>“What constitutes an MVP” changes from year to year. It depends on people’s expectations.</p>
<p>In the early 90’s, an MVP website was probably just plain text with a single popup ad. Today, an MVP needs to satisfy a crowd with higher standards. So here are some things you <em>should</em> do, aside from no avoid popups:</p>
<h4 id="heading-user-experience-and-your-front-end">User experience and your front end</h4>
<p>You can write crap code. Your server be held together by rubber bands and chewing gum. But your users should <em>never</em> <em>feel it</em>.</p>
<p>If your webpage takes 20 seconds to load, fix it. MVP or not, if it affects usability, it matters.</p>
<p>When it comes to MVPs, UX is the exception, because “viable” products need to <em>feel</em> polished, at the minimum. People today expect even beta applications to be functional and not frustrating. Blame all those overachievers that came before you.</p>
<p>Keep your design simple, so you have less to code and less to design. Lately the clean/flat look is in, so this should be easy.</p>
<p>You don’t need fancy animations or interactive easter eggs, but you should spend some time on your front end so it looks and feels modern.</p>
<p>Use pre-made nice-looking CSS frameworks like Bootstrap to cut down on development time.</p>
<p>Reuse HTML components as often as possible, as long as doing so doesn’t lead to confusion. Repurpose button designs, forms, and other components.</p>
<p>Your MVP won’t look the way it did in your dreams, but thats a luxury for version 2.0+.</p>
<p>Fool your users into thinking your app is more polished than it actually is.</p>
<h4 id="heading-organize-your-database">Organize your database</h4>
<p>This may seem like a “nice-to-have” to many people, but I think it is necessary even for an MVP, because it will save a ton of headaches down the road.</p>
<p>I hate migrating data or making surgical changes to it later. It’s unnerving, risky, and most of the time, it’s hard to see what’s going on (unlike front end or design).</p>
<p>Disorganized and fragmented data can slow down your site (UX), make development a huge pain (Developer Experience), and complicate every step you take henceforth.</p>
<p>I take extra time to think about how to store my data in a way where it makes sense for my current product and any foreseeable pivots.</p>
<p>You don’t want to go overboard on schema design, but seriously — don’t half-ass your database. Whole-ass it.</p>
<h3 id="heading-may-the-force-be-with-you">May The Force Be With You</h3>
<p>The truth is — yeah, I reveal the truth after you read everything — you won’t know until you’ve done it. It’s better to come up short than to waste time doing work that won’t matter.</p>
<p>And you won’t know what doesn’t matter unless you come up short.</p>
<p>Don’t worry about embarrassment, because even if your nudes were leaked, you’re probably a semi-anonymous dreamer like the rest of us, and nobody out there will care. Theres startup advice in there somewhere.</p>
<p>Finally, no matter how badly you blow your MVP…</p>
<p>( •<em>•)<br>( •</em>•)&gt;⌐■-■</p>
<p>…you can always write about it after.</p>
<p>(⌐■_■)</p>
<p><em>I made <a target="_blank" href="https://rabbut.com/?ref=h0">rabbut.com</a>, a tool that lets you collect emails here on Medium (and other places). Oh look, here is one now:</em></p>
<p><a target="_blank" href="https://powered.by.rabbut.com/s/lbYA?c=10"><strong>Looking for my older stories? I’ve got some. Here.</strong></a><br><a target="_blank" href="https://powered.by.rabbut.com/s/lbYA?c=10">_Looking for older stories is a PITA on Medium. Click here for a shortcut._powered.by.rabbut.com</a></p>
<p><em>Also, I’m giving away a few copies of my eBook on starting up a startup. Especially good for people who don’t know how to startup a startup:</em></p>
<p><a target="_blank" href="https://powered.by.rabbut.com/e/wNXK?c=0"><strong>First 10 people to subscribe get my free eBook.</strong></a><br><a target="_blank" href="https://powered.by.rabbut.com/e/wNXK?c=0">_How to startup your startup as a nobody._powered.by.rabbut.com</a></p>
<p><em>Man, these <a target="_blank" href="https://rabbut.com/?ref=h00">rabbut</a> things are like everywhere now. I wonder where you could get one…</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Why you shouldn’t build an app aimed at 500,000 users in 5 days on a $100 server ]]>
                </title>
                <description>
                    <![CDATA[ By Howard Lo A few days ago, I read Erik Duindam’s “How I built an app with 500,000 users in 5 days on a $100 server” article. Basically, he spent an extra 2–3 hours (totaling 24) to make his app (GoSnap) scalable by using a CDN and some optimized da... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/why-you-shouldnt-build-an-app-aimed-at-500-000-users-in-5-days-on-a-100-server-79c57304b445/</link>
                <guid isPermaLink="false">66c3676e0cede4e9b1329d6c</guid>
                
                    <category>
                        <![CDATA[ lean startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ pokemon go ]]>
                    </category>
                
                    <category>
                        <![CDATA[ startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 22 Jul 2016 17:39:00 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*11CoLIPHgvJBhWAgZTS4kA.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Howard Lo</p>
<p>A few days ago, I read <a target="_blank" href="https://www.freecodecamp.org/news/why-you-shouldnt-build-an-app-aimed-at-500-000-users-in-5-days-on-a-100-server-79c57304b445/undefined">Erik Duindam</a>’s “How I built an app with 500,000 users in 5 days on a $100 server” article. Basically, he spent an extra 2–3 hours (totaling 24) to make his app (GoSnap) scalable by using a CDN and some optimized databases. He gives another app (GoChat) a hard time for building an app that had technical issues at launch.</p>
<p>Those reading his article should take a few things into consideration:</p>
<h4 id="heading-he-is-a-good-developer">He is a good developer.</h4>
<p>Much better than me.</p>
<p>I doubt I could push whatever he did out in 24 hours. He’s quick, and knows what he’s doing.</p>
<p>To him, 2–3 hours isn’t a big deal. You can shave that off your sleeping schedule and feel crappy for a day. But what if you’re not a strong developer? 24 hours turns into a week, and 2–3 hours can be nearly a full day.</p>
<p>If you’re racing to push something out because you’re worried someone else might have the same idea (more common than you think), a full day can make or break you.</p>
<p>Gauge this for yourself, but I’d rather be first with a 90% solution than second with 100% solution.</p>
<h4 id="heading-failure-gt-success">%Failure &gt; %Success</h4>
<p>Apps you build are far more likely to fail than they are to succeed.</p>
<p>Erik speaks from a winner’s point of view. Winners speak a lot louder than losers, whose stories about their failures probably aren’t as impactful (or exciting) as Erik’s is.</p>
<p>If you do a quick search for Pokemon Go related apps, there are dozens of failed apps for every successful one.</p>
<p>Barring massive partnerships (Google and Nintendo, in the case of Pokemon Go) the app store is essentially one giant numbers game. Yes, you can spend 10% more time to make your app scalable. But assuming your chance of failure is so high, in most cases that extra 10% of time is going to waste. If you spend 10% more time to make all your Minimum Viable Products (MVPs) scalable, but fail 9x, that’s one fewer MVP you could have built.</p>
<p>And are you really going to stop at 10%? Do you have so much self control and a birds eye view of what you’re doing?</p>
<p>For me, that 10% can become 20% really quick because “well, I put in a CDN on my app, why not put in caching, it’ll only take another 10%.”</p>
<p>Go minimum or go all out. Drawing the line anywhere else isn’t optimal.</p>
<h4 id="heading-failing-isnt-so-bad">Failing isn’t so bad.</h4>
<p>Erik himself updated his article a few days after:</p>
<blockquote>
<p>The Google Play page says [GoChat] “back 100%” with “over 2 million users”.</p>
</blockquote>
<p>GoChat launched an MVP, didn’t know they would get so much traction, and their crappy MVP code buckled under load. GoChat failed.</p>
<p>Or did it?</p>
<p>Because even though GoChat went down, it’s still getting more users than Erik’s GoSnap, which is built to scale. They are different products, sure, but could the extra 10% of time Erik put into GoSnap been better used to hit the app market 2–3 hours sooner? Could Erik be sitting on more users with the 2–3 hours head start and a technical crash after?</p>
<p>Hard to say what the results could’ve been, but it’s interesting to think about.</p>
<p>Even though GoChat’s code failed them, they still bounced back. They optimized in the second step, and still captured over 2 million users. The failure of non-scalable MVPs doesn’t seem to have hurt them all that much in the end.</p>
<p>Could GoChat have gotten more users by this point if they didn’t crash? Possibly. But they sure as hell didn’t miss the gravy train as Erik suggests, so what do you have to worry about?</p>
<p>It’s better to go ahead and launch than to miss the train entirely because you were too busy scaling.</p>
<p>The thing about “scale” is that at the upper end there are so many users to go around, you can afford to run into problems initially and still capture a good market share post-fix.</p>
<p>At the lower end of “scale” there is nothing. You have nothing on your side but speed of execution. You have to get there fast. Just ask the dozens of other apps that aren’t being downloaded.</p>
<p><strong><em>Self promotion section!</em></strong><br><em>I made <a target="_blank" href="https://rabbut.com/?ref=h0">rabbut.com</a>, a tool that lets you collect emails here on Medium (and other places). Oh look, here is one now:</em></p>
<p><a target="_blank" href="https://powered.by.rabbut.com/s/lbYA?c=10"><strong>Looking for my older stories? I’ve got some. Here.</strong></a><br><a target="_blank" href="https://powered.by.rabbut.com/s/lbYA?c=10">_Looking for older stories is a PITA on Medium. Click here for a shortcut._powered.by.rabbut.com</a></p>
<p><em>Also, I’m giving away my free eBook on starting up a startup. Especially good for people who don’t know how to startup a startup:</em></p>
<p><a target="_blank" href="https://powered.by.rabbut.com/e/wNXK?c=0"><strong>First 10 people to subscribe get my free eBook.</strong></a><br><a target="_blank" href="https://powered.by.rabbut.com/e/wNXK?c=0">_How to startup your startup as a nobody._powered.by.rabbut.com</a></p>
<p><em>Man, these <a target="_blank" href="https://rabbut.com/?ref=h00">rabbut</a> things are like everywhere now. I wonder where you could get one…</em></p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
