<?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[ side project - 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[ side project - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 27 Jun 2026 14:19:31 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/side-project/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 7 React Projects You Should Build in 2021 ]]>
                </title>
                <description>
                    <![CDATA[ React is a JavaScript library that is ideal for creating impressive apps. There are countless projects that you can make with React, but here are seven that are on my list to build in 2021. Why have I selected these seven projects in particular? I pi... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/react-projects-you-should-build-this-year/</link>
                <guid isPermaLink="false">66d037da871ae63f179f6bc5</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ portfolio ]]>
                    </category>
                
                    <category>
                        <![CDATA[ React ]]>
                    </category>
                
                    <category>
                        <![CDATA[ side project ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Reed ]]>
                </dc:creator>
                <pubDate>Fri, 22 Jan 2021 17:04:07 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/01/7-react-projects-for-2021-2.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>React is a JavaScript library that is ideal for creating impressive apps. There are countless projects that you can make with React, but here are seven that are on my list to build in 2021.</p>
<p><em>Why have I selected these seven projects in particular?</em> I picked them because they build off of one another. They requ. ire you to know similar, essential concepts like authentication, working with an API and database, using a React router for adding pages to your app, and playing media like audio or video. </p>
<p>Plus, many applications can be (and often are) integrated into one another. Social media apps can include chat apps, music or video apps can include e-commerce apps, and so on.</p>
<p>In other words, <strong>building any of these projects</strong> will give you the skills and knowledge required to build the rest of the apps on the list, including your own personal projects.</p>
<p>Along with each project, I have provided several real-world examples which you can use to find inspiration, plus some ideas about what tools I would possibly use to build each app.</p>
<h2 id="heading-1-realtime-chat-app">1. Realtime Chat App</h2>
<p><strong>Real-world examples</strong>: Slack, Messenger, Discord, Crisp Chat</p>
<p>Virtually all of use some kind of realtime chat app, whether it's a mobile application like WhatsApp or Viber or a productivity tool like Slack or Discord. It could also be part of a chat widget within a website where customers can directly talk with the site owners. </p>
<p>All chat apps allow users to send messages to others in realtime, to react to messages, and they show when users are online or offline. </p>
<h3 id="heading-how-to-build-a-realtime-chat-app">How to build a realtime chat app:</h3>
<ul>
<li>Build your project with create-react-app or Next.js. </li>
<li>Use a service like Firebase or GraphQL subscriptions to create and get messages in realtime to users.</li>
<li>Add reactions to message with emoji using the npm package emoji-mart</li>
<li>Deploy to the web using Firebase Tools</li>
</ul>
<h2 id="heading-2-social-media-app">2. Social Media App</h2>
<p><strong>Real-world examples</strong>: Facebook, Twitter, Instagram</p>
<p>The app you're likely most familiar with is a social media application. In many ways it's similar to a chat app, but expanded to a larger community of users. </p>
<p>These users can interact with each other in different ways: they can follow one another to receive their posts, add media like images and video to share with others, and enable users to interact with posts such as liking or commenting on them.</p>
<h3 id="heading-how-to-build-a-social-media-app">How to build a social media app:</h3>
<ul>
<li>Build your frontend with create-react-app, and backend using a Node API</li>
<li>Use a database like Postgres or MongoDB, along with an ORM like Prisma (Postgres) or Mongoose (MongoDB)</li>
<li>Use social authentication with Google, Facebook or Twitter, using Passport or a simpler service like Auth0</li>
<li>Deploy the backend to Heroku, frontend to Netlify</li>
</ul>
<h2 id="heading-3-e-commerce-app">3. E-Commerce App</h2>
<p><strong>Real-world examples:</strong> Shopify, Etsy, Dev.to Storefront</p>
<p>Storefronts where we can buy digital or physical products online are everywhere. E-commerce apps add the ability for users to add and remove items from a shopping cart, view their cart, and checkout using a credit card, as well as other payment options like Google Pay and Apple Pay. </p>
<p>If you're looking for inspiration, checkout out some simpler storefronts like a Shopify storefront, rather than looking at a massive retailer like Amazon or Walmart.</p>
<h3 id="heading-how-to-build-an-e-commerce-app">How to build an e-commerce app:</h3>
<ul>
<li>Create the app with create-react-app or Next.js</li>
<li>Add the <code>stripe</code> NPM package, plus <code>use-shopping-cart</code> to easily handle payments directly with Stripe Checkout</li>
<li>Build a Node API to handle creating sessions with Stripe</li>
<li>Deploy the backend to Heroku, frontend to Netlify (or deploy both on Heroku)</li>
</ul>
<h2 id="heading-4-video-sharing-app">4. Video Sharing App</h2>
<p><strong>Real-world examples:</strong> YouTube, TikTok, Snapchat</p>
<p>A video sharing app is probably the most broad category, as video is used across so many different apps and in many different ways. </p>
<p>You have video sharing apps like YouTube, which allow you to search any browser and look for any video that you could imagine that users have created. Also, tik tok and Snapchat give us the ability to watch videos from other users that are recorded in a much shorter, more accessible format, and are more oriented around interactions like likes and views.</p>
<h3 id="heading-how-to-build-a-video-sharing-app">How to build a video sharing app:</h3>
<ul>
<li>Create the app with create-react-app, and create the backend with Node/Express</li>
<li>Use Cloudinary for image and video uploads to the Cloudinary API</li>
<li>Use a database like Postgres or MongoDB, along with an ORM like Prisma (Postgres) or Mongoose (MongoDB)</li>
<li>Deploy the backend to Heroku, frontend to Netlify (or deploy both on Heroku)</li>
</ul>
<h2 id="heading-5-blogging-portfolio-app">5. Blogging / Portfolio App</h2>
<p><strong>Real-world examples:</strong> Medium, Dev.to, HashNode</p>
<p>This app example is perhaps the most practical. The most immediately practical choice for you to build a blogging or portfolio app is something that showcases your skills. It allows you to show off what you can do as a developer, while also allowing you to include posts and content that reflect what you know. </p>
<p>Making these applications with tools like Gatsby or Nextjs (which are both React frameworks) is now easier than ever.</p>
<h3 id="heading-how-to-build-a-blogging-or-portfolio-app">How to build a blogging or portfolio app:</h3>
<ul>
<li>Create the app with Gatsby or Next.js</li>
<li>Use markdown for blog posts with a special markdown transformer plugin such as <code>remark</code></li>
<li>Deploy the site to Netlify or Vercel</li>
</ul>
<h2 id="heading-6-forum-app">6. Forum App</h2>
<p><strong>Real-world examples:</strong> Reddit, StackOverflow, freeCodeCamp Forum</p>
<p>A forum application is where we go when we want to get help, and as programmers we visit forums like Reddit and Stack Overflow to get our coding questions answered. </p>
<p>Forums also combine many elements of chat and social media apps through posts, comments, and reactions. A forum is more of a more organized version of a social media app where users can more easily find answers to questions they're looking for. </p>
<h3 id="heading-how-to-build-a-forum-app">How to build a forum app:</h3>
<ul>
<li>Build your frontend with create-react-app, and backend using a Node API</li>
<li>Use a database like Postgres or MongoDB, along with an ORM like Prisma (Postgres) or Mongoose (MongoDB)</li>
<li>Use social authentication with Google, Facebook or Twitter, using Passport or a simpler service like Auth0</li>
<li>Deploy the backend to Heroku, frontend to Netlify</li>
</ul>
<h2 id="heading-7-music-streaming-app">7. Music Streaming App</h2>
<p><strong>Real-world examples:</strong> Spotify, Soundcloud, Pandora</p>
<p>Just as React applications are perfect for serving video content, they're also great for streaming media like music. </p>
<p>Music apps have a similar structure to video sharing apps and may or may not allow users to upload their own music. They do allow users to listen to music, like songs, comment on them, and perhaps even purchase music. </p>
<p>In this way, a streaming music app can combine elements of a video sharing app as well as an e-commerce app.</p>
<h3 id="heading-how-to-build-a-music-streaming-app">How to build a music streaming app:</h3>
<ul>
<li>Create the app with create-react-app, and create the backend with Node/Express</li>
<li>Use Cloudinary for image and video uploads to the Cloudinary API</li>
<li>Use a database like Postgres or MongoDB, along with an ORM like Prisma (Postgres) or Mongoose (MongoDB)</li>
<li>Deploy the backend to Heroku, frontend to Netlify (or deploy both on Heroku)</li>
</ul>
<h2 id="heading-become-a-professional-react-developer">Become a Professional React Developer</h2>
<p>React is hard. You shouldn't have to figure it out yourself.</p>
<p>I've put everything I know about React into a single course, to help you reach your goals in record time:</p>
<p><a target="_blank" href="https://www.thereactbootcamp.com"><strong>Introducing: The React Bootcamp</strong></a></p>
<p><strong>It’s the one course I wish I had when I started learning React.</strong></p>
<p>Click below to try the React Bootcamp for yourself:</p>
<p><a target="_blank" href="https://www.thereactbootcamp.com"><img src="https://reedbarger.nyc3.digitaloceanspaces.com/reactbootcamp/react-bootcamp-cta-alt.png" alt="Click to join the React Bootcamp" width="600" height="400" loading="lazy"></a>
<em>Click to get started</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is Freelancing? How to Find Freelance Jobs Online And Clients in Your City ]]>
                </title>
                <description>
                    <![CDATA[ Whether you're a new developer or you've been in the game for a while, you might be thinking about doing some freelance work. If you're thinking about striking out on your own, you'll likely have two questions. First, you may ask “what is freelancing... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-is-freelancing/</link>
                <guid isPermaLink="false">66d4601f787a2a3b05af43da</guid>
                
                    <category>
                        <![CDATA[ BUSINESS INTELLIGENCE  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ business strategy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Freelancing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ side project ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Luke Ciciliano ]]>
                </dc:creator>
                <pubDate>Mon, 30 Nov 2020 23:29:55 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5fbe94b349c47664ed825912.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Whether you're a new developer or you've been in the game for a while, you might be thinking about doing some freelance work.</p>
<p>If you're thinking about striking out on your own, you'll likely have two questions. First, you may ask “what is freelancing?” This is understandable, given that the phrase can mean different things to different people.</p>
<p>The second question you might have is how you can get clients. This is, of course, important, since working for yourself without having any customers will result in you looking like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/empty-wallett-and-computer.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>The good news, if you're thinking of spinning up your own brand, is that if you go about it right then you can wind up looking like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/money-and-computer.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>So, with all that said, let’s first answer the question “what is freelancing?” And then, let’s talk about how to get clients online as well as locally in your city.</p>
<p>If you're like me and prefer to take in written content, read on. For those who prefer video, I've prepared a video presentation on these topics:</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/Z63TxAJotgQ" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<p> </p>
<p>I’ve written for freeCodeCamp on <a target="_blank" href="https://www.freecodecamp.org/news/tips-for-making-money-as-a-freelance-developer-39fae6b76972/">how to make money as a freelance developer</a>. I’ve also written a <a target="_blank" href="https://www.freecodecamp.org/news/freelance-web-developer-guide/">comprehensive guide to working as a freelancer</a>. This article is going to be different in that it is going to solely focus on two issues.</p>
<p>First, I’ll give my personal opinion as to what it means to be a freelance developer. Second, I’ll give my thoughts on getting the customers once you’ve struck out on your own.</p>
<p>I'll break the latter of these points into three parts. First, I'll discuss the tasks you should complete before you even begin attempting to get customers. Next, I will go over how to get clients through your online presence. The third part will cover ways in which you can get customers locally in your own city.</p>
<p>Here’s a quick roadmap of this article so that you can jump to a particular section:</p>
<ol>
<li><p><a class="post-section-overview" href="#quest1">What does it mean to be a freelance developer?</a></p>
</li>
<li><p><a class="post-section-overview" href="#quest2">What to do before you try to get new customers</a></p>
</li>
<li><p><a class="post-section-overview" href="#quest3">How to get new customers online</a></p>
</li>
<li><p><a class="post-section-overview" href="#quest4">How to get new customers in your city or locale</a></p>
</li>
<li><p>So…...let’s get to it.</p>
<h2 id="heading-what-does-it-mean-to-be-a-freelance-developer">What does it mean to be a freelance developer</h2>
<p> <a class="post-section-overview" href="#top">back to top</a></p>
<p> The term “freelance” has been thrown around a lot in today’s society (including in lots of areas outside of software development). So much so that it has really become a buzzword that can mean different things to different people.</p>
<p> If you’re thinking of striking out and doing your own thing, then being a “freelancer” can really mean one of two things.</p>
<p> First, you may be considering creating your own side-hustle. Second, you may be thinking of actually being self-employed. Let’s look at each of these in turn.</p>
<h3 id="heading-some-people-choose-to-hold-a-steady-job-while-running-a-development-business-on-the-side">Some people choose to hold a steady job while running a development business on the side</h3>
<p> Going out on your own can be a great way to supplement your current job. Maybe you’re completing freeCodeCamp and are hoping to work a dev job at a company while doing projects on the side.</p>
<p> You may also have a non-software related job, that you want to keep, but you would like to be a part-time developer on the side.</p>
<p> In either of these cases, your business is a part-time activity. Since you already have a full-time commitment it’s unlikely that you’ll work with more than a few clients (or maybe even only one) at a time.</p>
<p> When going this route, getting customers is still important, so the tips below will apply to you even though you’re not necessarily trying to scale up your business.</p>
<p> One of the downsides of going the side-hustle route is that it means working a full-time job while trying to run your business. While this comes with the benefit of having steady income (from your primary job), it comes with the downside of being <em>really</em> busy.</p>
<p> Going this route tends to result in Friday only meaning that there are two more working days before Monday. It also comes with the stress of not being able to respond to your customers right away because you have your main job to deal with. These are just some of the ups and downs of going this route.</p>
<h3 id="heading-some-people-may-choose-to-make-their-development-business-their-sole-occupation">Some people may choose to make their development business their sole occupation</h3>
<p> Many individuals either leave their current software job, or start out their development career, by working for themselves primarily and not as a side-hustle.</p>
<p> This allows you to focus more on development of your own products and working for your own customers. As a result, you have much more flexibility with your schedule, since you’re not juggling against a full-time job.</p>
<p> Some who go this route are attempting to grow as much as possible while some are just hoping to maintain a steady stream of income and have a flexible lifestyle.</p>
<p> Focusing solely on your own thing can result in having a much higher income. This is because I, and many others, find it easier to make more when working for yourself than when working for a paycheck from a company.</p>
<p> The biggest downside of going this route, however, is the fact that you have no other income stream. This means that your income will be unsteady at best.</p>
<p> You may have noticed that neither of the aforementioned descriptions mentioned employees. That’s because once you get to the point of having employees, you’re no longer a “freelancer” - you’re a business owner.</p>
<p> In a future article (spoiler alert), I’ll discuss how to scale your freelance dev gig into a full fledged business.</p>
<p> Which route you decide to take is really up to you. Just remember that it’s important to base your choice on your personal situation, preferences, and what it is you want going forward.</p>
<p> Now let’s talk about what going forward looks like.</p>
<h2 id="heading-what-to-do-before-you-try-to-get-new-customers">What to do before you try to get new customers</h2>
<p> <a class="post-section-overview" href="#top">back to top</a></p>
<p> The best way to grow your business is to do a good job for your existing customers. But before you can worry about that, you have to set up your branding.</p>
<p> Not setting up branding, which I’ll discuss in a moment, means that you go out and try to get business before potential customers might be willing to take you seriously. <em>Don’t do that.</em></p>
<p> So….two tasks to complete before even attempting to get new customers are:</p>
<ol>
<li><p>Understand the importance of repeat business &amp; referrals, and</p>
</li>
<li><p>Set up your branding.</p>
</li>
</ol>
</li>
</ol>
<p>    Let’s look at each of these in turn.</p>
<h3 id="heading-freelance-developers-must-focus-on-existing-customers-if-they-want-to-grow-their-business">Freelance developers must focus on existing customers if they want to grow their business</h3>
<p>    If you ask anyone who has their own business (not just developers) how to grow sales, they’ll almost immediately start talking about marketing of some sort. In other words, they focus entirely on getting inquiries from people who haven’t yet heard of them.</p>
<p>    These business owners often devote time and other resources to marketing and, as a result, they take time and resources away from serving their current customers. I refer to this approach, in very technical terms, as:</p>
<p>    <img src="https://www.freecodecamp.org/news/content/images/2020/11/wrong-1.jpeg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>    When you take time and resources away from your current customers, then those individuals/companies are waiting longer to get their product, they're waiting longer to hear back from you if they have questions, and are less likely to be happy with the service they’ve received.</p>
<p>    They, in turn, are then less likely to call you for future work and are less likely to refer you to anyone.</p>
<p>    The results of this can be disastrous. This disaster comes from the fact that not having repeat business or referrals means that you are one-hundred percent reliant on getting your customers from advertising or some form of networking.</p>
<p>    Suppose you’re spending money or time to get new customers (money in the form of advertising and time in the form of networking/reaching out). That time and money means that your profit margins are going to be low.</p>
<p>    First, suppose you charged $3,000 for a website, but spent $250 in marketing to get the customer. This means that your profit is only $2,750.</p>
<p>    Second, suppose you charge $3,000 and can complete the product in fifteen hours. That’s $200 per hour. But if you spent 2-3 hours networking to get the customer, then you have to consider how that time impacts the amount you are making per hour.</p>
<p>    Incurring these financial costs and time losses means that you’re going to struggle to make any money. This is not the case when you build up a referral base and repeat business base.</p>
<p>    Let’s look at how things go when you focus on your existing customers first. Yes, you spend some form of resources to get a customer. But then that customer is likely to come back to you in the future when you need something else. This means you pick up additional work without spending any additional resources.</p>
<p>    Second, they then refer you new potential customers - meaning that you get new business without expending <em>any</em> time or resources. This drives up your profit margins, leads to exponential growth, and helps you look like this:</p>
<p>    <img src="https://www.freecodecamp.org/news/content/images/2020/11/computer-and-money.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>    I’ll explain with a personal example.</p>
<p>    I built a website for a lawyer in 2013. She was extremely happy with the service I provided and roughly six months later had me build a second website for a niche legal area she was going to begin handling. I’ve also provided ongoing maintenance to the lawyer for several years now.</p>
<p>    Importantly, this same lawyer has referred two more people. The first of these two people hired me and, in addition to building out their initial product, they have also hired me for ongoing support and maintenance.</p>
<p>    So, I put time into going out and getting a customer (the lawyer) and the time I spent meeting with one person has resulted in my building three different websites and providing additional maintenance services.</p>
<p>    For obvious reasons, this is more profitable than going out and having to meet three different people to get three separate jobs. Exponential growth can occur in your business when you take one inquiry (the lawyer, in my case) and turn it into several jobs over a period of time.</p>
<p>    Building up a referral base means, again, focusing on your existing customers first. This approach is simple. If you have something to do, or something you can do, for a current customer, then do it. If you have time left over at the end of the week, then such time can be devoted to going out and trying to get new customers.</p>
<p>    I cannot stress enough how important it is to your growth that you take a “current customer first” focus.</p>
<h3 id="heading-self-employed-developers-should-establish-their-branding-before-trying-to-get-new-customers">Self-employed developers should establish their branding before trying to get new customers</h3>
<p>    The next thing you should do as a self-employed developer is establish your branding before attempting to meet new customers.</p>
<p>    Understanding why requires you to put yourself in the role of a small business owner.</p>
<p>    Suppose you own the local bakery and someone comes in offering their website &amp; app development services to the bakery. If the developer doesn’t even have a website of their own, has no portfolio of work, no online reviews, no business cards, and is using a personal email address for work purposes, then the business owner isn’t going to take them seriously.</p>
<p>    Instead, it is much better to get these things knocked out before even attempting to meet a client.</p>
<p>    The first order of business is to build out the website for your business and to display your portfolio of work (you can have a portfolio even if you haven’t had any clients yet).</p>
<p>    In terms of putting together your own site, you can do it yourself or, to save time, you can use a template from <a target="_blank" href="https://html5up.net/">html5up</a> (make sure you follow the creative commons licensing if you use one of these templates).</p>
<p>    For your portfolio, I’d suggest including at least five to six projects. If you haven’t completed anything yet, then you can create mock ups and include them.</p>
<p>    An example of this would be creating a website for a fictional bakery and including it in your portfolio. Just make sure it is clear that, when someone clicks on that site from your portfolio, they will be viewing a demo and that it is not a real business.</p>
<p>    Having a professional looking website, and a portfolio of quality work, makes you appear more legitimate to potential clients.</p>
<p>    The second thing to get done right away is to set up online review profiles for your business. Whenever a client is happy with you, it’s important to ask them to leave you good reviews online. The presence of these reviews helps ensure that future customers are more likely to hire you.</p>
<p>    The two most important places to have review profiles, in my opinion, are Google and Facebook. This means that you need to start a <a target="_blank" href="https://www.google.com/business/">Google my Business</a> account for your new brand. You also need to create a Facebook page for the brand.</p>
<p>    When you’ve completed a project and the customer was clearly happy with your services, you’ll want to send them links to these profiles so they can leave you good reviews.</p>
<p>    The final step in being ready to market yourself is to set up a branded email, order business cards, and get a business phone number.</p>
<p>    For your cards, I would suggest going the simple route. This means using a service such as Vista Print. Setting up your email is self-explanatory.</p>
<p>    As for your phone number, I would use a free service such as Google Voice, which allows you to have a dedicated number which will ring to your cell. Once you have all of these items completed, you’re ready to go and to start hustling up business.</p>
<h2 id="heading-how-to-get-clients-online-as-a-freelance-developer">How to get clients online as a freelance developer</h2>
<p>    <a class="post-section-overview" href="#top">back to top</a></p>
<p>    If you have a quality web presence, it can result in an ongoing stream of business for you as a freelance developer. When establishing your online presence, however, it is important that you go about it the right way.</p>
<p>    I strongly, strongly, strongly (strongly) suggest that you invest into your web presence as opposed to spending time and resources on it.</p>
<p>    Because this point – investment – is so crucial, it’s the first point I’m going to discuss in this section of this article. I’ll then talk about optimizing your website for your local market and will then briefly make a few additional points about getting online reviews.</p>
<h3 id="heading-you-should-invest-in-your-online-presence-as-opposed-to-spending-on-it">You should invest in your online presence as opposed to spending on it</h3>
<p>    One of the things I am most thankful for is that I came to appreciate the difference between investing and spending, in terms of my business, at a very early stage.</p>
<p>    The concept is straightforward. When you invest in your web presence, you then own something at the end of the day. These owned items can take the form of blog posts, YouTube videos, and so on. You don’t have to expend any more money or time to keep these assets and no one can take them from you.</p>
<p>    Spending money on your web presence, by contrast, involves renting ad space from third parties (which can include pay-per-click advertising, Facebook ads, and so on.).</p>
<p>    Investing in your online presence can result in your profits going up like this:</p>
<p>    <img src="https://www.freecodecamp.org/news/content/images/2020/11/upwardgraph.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>    While simply throwing money at it can result in a constant struggle and will make moving your business forward about as easy as actually getting somewhere on a treadmill.</p>
<p>    Let’s look at why this is.</p>
<p>    Suppose you spend $1,000 on advertising this month. Now suppose it brings you $10,000 in revenue. It’s easy to look at that and go “woo hoo!”</p>
<p>    But there’s a problem. The $1,000 you spent on advertising is now gone and will never bring you anything past the initial $10,000. Moreover, if you don’t spend money advertising again next month then your revenue will go to zero.</p>
<p>    This means, with a near certainty, that relying on paid ads for your online presence will lock you into recurring advertising costs that you’ll never get out of. This is a far cry from actually owning your marketing assets.</p>
<p>    I’m going to use a personal example to demonstrate the value of owning your web presence outright.</p>
<p>    My previous brand was acquired in May of 2020. Over the years I had written roughly four hundred blog articles targeting my potential customers. From the time I launched the website through its acquisition, my top performing blog post had received over 10,000 clicks in search.</p>
<p>    If I had been using pay-per-click advertising to get customers, then I probably would have spent somewhere in the area of $10 per click. So that <em>one</em> blog article that got 10,000 clicks gave my business the equivalent of $100,000 in advertising ($10 x 10,000).</p>
<p>    I probably spent a total of five to six hours researching and writing that one article. Once that time was spent, however, I never put another moment into that article – I owned it.</p>
<p>    This is different from paying for an ad where you don’t own anything at the end of the day. If you own your online presence then you can grow your business exponentially and avoid large recurring marketing costs.</p>
<p>    Again, the assets you own can take on multiple forms. In addition to blog articles, consider YouTube videos and other media which can be used to target your potential market (more on this below).</p>
<p>    One point I want to emphasize is that you <em>can</em> create content which you will own. I’ve spoken with a lot of developers over the years who didn’t write blog articles or create videos because they felt uncomfortable doing so.</p>
<p>    While I understand and appreciate this, it’s crucial for you to understand that working for yourself means doing a lot of things you don’t feel comfortable doing.</p>
<p>    If you’re unwilling to create web content that you own, and you choose to rely on ads, then you will still be able to make money as a freelance developer. That money, however, will be nowhere near what you can earn if you choose to step out of your comfort zone a little bit and engage in regular content creation.</p>
<p>    So, with that said, let’s move on to actually building out your web presence.</p>
<h3 id="heading-you-must-optimize-your-web-presence-for-a-target-market">You must optimize your web presence for a target market</h3>
<p>    I’ve seen a lot of independent developers who put together a website for their business without making sure it’s actually targeting a preferred market. Instead, such websites tend to be overly broad or vague.</p>
<p>    Such a website may simply say “I’m a developer who builds stuff for the web” or something of the sort. They then link to a portfolio of various projects, list languages and frameworks that they are familiar with, and that’s it.</p>
<p>    Instead, it’s best to identify a market you can reach through your website and optimize your site for it.</p>
<p>    I’ll be writing more on freeCodeCamp over the next few months about optimizing websites for search (so stay tuned). For right now, prior to building out your website, I’d suggest you familiarize yourself with <a target="_blank" href="https://support.google.com/webmasters/answer/7451184">Google’s SEO starter guide</a>. Then identify a market segment that you think you can capture and optimize your website for it.</p>
<p>    To do this, make sure that your website clearly spells out different services and is clear about what you do.</p>
<p>    I understand that this may sound a little vague. The content of your website, however, is going to largely depend on the type of work and the geographic areas that you are targeting. To put a little more meat on the bone, I’ll use myself as an example.</p>
<p>    I try to focus my business exclusively on building websites and apps for small to medium sized businesses (I’ve written previously on the importance of choosing a niche). My website focuses exclusively on Ohio and its various cities.</p>
<p>    I focused my web presence solely on my home state for two reasons. First, if I was trying to compete for Google searches on a national scale, then the competition would be absurd. Going after my home market is a lot more practical.</p>
<p>    Second, while I get many calls from out of state clients and build products for people all over the country, there are a large number of people who want to stay local when looking for a developer. Also, my website clearly focuses on website or app development, instead of trying to broadly convey everything I could conceivably build.</p>
<p>    So what's been the result of this approach? Well...when I perform an incognito Google search for “Ohio website design” then my site appears first. This means that potential customers call me without my business having to pay for any form of advertising. I also did not pay for advertising for my prior brand, which was acquired earlier in 2020.</p>
<p>    Does my approach result in my website reaching all of the potential customers for all of the work I’m willing to perform? No. Does it reach a high percentage of the people I’m targeting for specific work? Yes.</p>
<p>    This results in my getting more business through my website than many freelance developers get through theirs. This is why I choose my approach over one which makes it sound like the developer can do nearly anything for anyone regardless of where they are.</p>
<h3 id="heading-you-must-ask-satisfied-clients-to-leave-you-online-reviews">You must ask satisfied clients to leave you online reviews</h3>
<p>    I mentioned above that it is important to set up online review profiles for your business. When you have completed a job for a customer it is important that you ask them to leave you a review.</p>
<p>    The reason for this is simple. The more good reviews you have, then the more you will receive contacts through your website. While having a bank of good reviews doesn’t make more people land on your site, it does make a higher percentage of your website visitors pick up the phone and call.</p>
<p>    Let’s look at a few quick “do’s and don’ts” when it comes to getting reviews.</p>
<p>    The first thing to remember when getting reviews is to not ask a client for a review unless you are certain they will leave you a good one. You may have just read that sentence and are now thinking “duh,” but, trust me, you would be surprised at what some people do.</p>
<p>    Second, it’s not enough to ask the customer to leave the review. If you want them to actually do it, you need to call the client and talk to them about leaving you a review. If they are willing to do it, you then want to email them links to your review profiles.</p>
<p>    You will find that doing the phone call and email, in conjunction with one another, will result in a much higher percentage of the people you ask actually following through and leaving the review. Otherwise you’ll ask, and ask, and ask, and few customers will ever actually do it.</p>
<p>    I can’t stress enough how important a bank of good reviews is to growing your business. Also, just as with web assets which you own (explained above), those good reviews can’t be taken away and don’t require you to pay out money each month.</p>
<p>    Now let’s look at ways to get work in your local market which don’t involve your website.</p>
<h2 id="heading-how-to-get-local-clients-as-a-freelance-developer">How to get local clients as a freelance developer</h2>
<p>    <a class="post-section-overview" href="#top">back to top</a></p>
<p>    As I just explained above, a web presence (done correctly) will actually bring in quite a few local clients. There are other things you can do, however, to get clients on the local level.</p>
<p>    These things include talking to larger development shops about outsource/contract opportunities, going out and talking to potential customers one on one, and attending networking functions.</p>
<p>    Let’s take a quick look at each of these methods in more detail.</p>
<p>    There are more opportunities than you might realize when it comes to picking up work from other developers. Larger dev shops, which work on large scale projects, often are willing to (or need to) outsource a small component of the project.</p>
<p>    There are several reasons for this. First, they may have a one-time project with which they need help. It may not make sense to hire someone for that one particular thing (since there wouldn’t be a need for the employee once the project is completed) so it makes sense to outsource.</p>
<p>    Second, a larger shop may be in a “middle area” where they are too busy for the amount of staff they have but not busy enough to hire. Again, someone in this situation may outsource. It is common for freelance developers to get work from larger shops who find themselves in this situation.</p>
<p>    The best way to start getting this type of contract work is to reach out to the larger dev shops in your area and introduce yourself. Again (as explained above), you need to have a website, a portfolio, and so on before reaching out. Otherwise they won’t take you seriously.</p>
<p>    Many freelancers who reach out in this way make what I think is a mistake in that they simply send an email to the head of the larger dev shops. Instead, you want to make sure you are more personal in your approach.</p>
<p>    I would suggest calling the head of operations on the phone, explaining who you are, and asking if you can send over a cover letter and resume stating that you are available for outsource work.</p>
<p>    And, importantly, don’t stop there. If the developer doesn’t send you anything right away, I would follow up over the phone once a month or so. Until you’ve been bugging them for a solid year, or until they’ve told you to go away, keep following up in this manner. By showing that you are organized and persistent, you’ll actually manage to get work in this way.</p>
<p>    Another great way to get customers in your city is to simply meet them one on one. This means walking into local businesses and discussing web services, and so on.</p>
<p>    Again, many developers who do this tend to go about it wrong. Don’t just go door to door. Make a list of the businesses you intend to visit and actually research them. Look to see if they have a website, organize your thoughts as to how their current web presence can be improved, and also take the time to research their competition.</p>
<p>    Being informed when you go to meet someone will go a long, long, long,........long way. Also, as with local dev shops, <em>do not</em> be shy about following up until you are specifically told no.</p>
<p>    A third option for getting local clients is to attend networking events. This is something that I’ve suggested before in prior freeCodeCamp articles. This is a good option for quite a few freelancers as many don’t feel comfortable with the more direct approach I just described above.</p>
<p>    As I said when it comes to creating content, however, stepping out of your comfort zone is important if you want to take your business to the next level. While I believe that the more direct approach is better for getting customers, attending networking groups, such as <a target="_blank" href="https://www.bni.com/">BNI</a> can yield results as well. It really comes down to how far out of your comfort zone are you willing to go.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>    By no means is this meant to be an exclusive guide as to how you can get business, both online and in your community. The methods and approaches I've described above, however, have worked for me in my business and have led to my previous brand being acquired.</p>
<p>    The last point I’ll make is that your web presence and local reach is the result of the amount of effort you put in it. If you are willing to step out of your comfort zone, and put time into the methods described above, you’ll be ahead of your competition.</p>
<h3 id="heading-about-me">About Me</h3>
<p>    I am the co-founder of <a target="_blank" href="https://www.modern-website.design/">Modern Website Design</a>. I enjoy reading about and writing on issues related to running your own business. To keep with my ramblings, <a target="_blank" href="https://twitter.com/Luke_Ciciliano">follow me on Twitter</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Developer Freelancing Basics – How to Earn At Least $500 in Side Income Each Month ]]>
                </title>
                <description>
                    <![CDATA[ By Kyle Prinsloo Having a side income isn’t a luxury anymore that you can put off for a later time when you “feel like doing it." This is especially true considering how economies left and right are spiraling downwards. Nearly 10 million people in th... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/developer-freelancing-basics/</link>
                <guid isPermaLink="false">66d460173bc3ab877dae2210</guid>
                
                    <category>
                        <![CDATA[ business strategy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Freelancing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ money ]]>
                    </category>
                
                    <category>
                        <![CDATA[ side project ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 05 Oct 2020 22:01:32 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/10/fcc-side-income.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Kyle Prinsloo</p>
<p>Having a side income isn’t a luxury anymore that you can put off for a later time when you “feel like doing it." This is especially true considering how economies left and right are spiraling downwards.</p>
<p>Nearly <a target="_blank" href="https://www.marketwatch.com/story/nearly-10-million-people-lost-their-jobs-in-april-due-to-coronavirus-new-report-shows-2020-06-09">10 million people in the U.S. alone were laid off</a> or furloughed at least temporarily in April due to the Coronavirus. And it’s still unclear how many will be able to return to their old jobs.</p>
<p>When job security is out of the question, <strong>side incomes will get us by.</strong></p>
<p>For many of us, building a side income is no longer about improving our lifestyle. It’s about surviving.</p>
<p>Luckily for us web developers, the demand for our skillsets just shot up because more businesses are going digital.</p>
<p>That means more business owners need websites, apps, and digital marketing services.</p>
<p>There’s an incredible opportunity for us if we know where to tap and how to continuously build up our side hustles to earn at least $500 a month.</p>
<p>We personally use these strategies to earn a lot more than $500 a month, but if you can get to $500, you can get to $5,000+.</p>
<div class="embed-wrapper">
        <blockquote class="twitter-tweet">
          <a href="https://twitter.com/study_web_dev/status/1311212861511864320"></a>
        </blockquote>
        <script defer="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></div>
<p>This article deals mainly with earning an income through web design, but there are obviously many other income streams.</p>
<p>In the future, I'll be writing in-depth content on drop-shipping, digital products, and others, but for now, let's mainly look at web design as an income stream.</p>
<p>Here's what you can do.</p>
<h2 id="heading-look-for-clients-in-the-e-commerce-industry">Look for Clients in the e-Commerce Industry</h2>
<p>It’s no surprise that more people are turning to online shopping and delivery services to get their basic needs met.</p>
<p>The reality is, for many families worldwide, online shopping, grocery, and apparel will replace store and mall visits until a vaccine is available.</p>
<p>In fact, a <a target="_blank" href="https://www.forbes.com/sites/louiscolumbus/2020/04/28/how-covid-19-is-transforming-e-commerce/#652e8b2a3544">Morning Consult study</a> of 2,200 U.S. adults found that 24% of consumers said that they wouldn’t feel comfortable visiting a mall for more than six months.</p>
<p>Now is the perfect time for existing businesses to create more experience-driven mobile apps and websites and for new businesses to aggressively build an online presence.</p>
<p>Let's look at what you can do in more detail.</p>
<h3 id="heading-discover-the-challenges-theyre-facing">Discover the challenges they're facing</h3>
<p>First, you should discover the challenges existing businesses face in adapting to changing consumer behaviors.</p>
<p>Let’s look at the real estate market as an example.</p>
<p>Normally, people would have to personally visit a property to purchase or rent or to buy at an auction. With the threat of the virus, this is proving to be not as straightforward as it used to be.</p>
<p>This presents a need for real estate companies to turn to online viewings and online auction biddings. They will need an app or website that is secure, stable, and fast enough to process the leads and bids.</p>
<p>Look for real estate companies (or any kind of business) in your local area and see if they already have a website or app that can meet their customers’ changing behaviors. If not, send an email where you briefly discuss your proposal and why it can benefit them.</p>
<p>Then invite them to a call where you will discuss it in more detail.</p>
<h3 id="heading-connect-with-e-commerce-business-owners">Connect with e-commerce business owners</h3>
<p>Look for new e-commerce stores and find out where they commonly struggle when it comes to building their stores and generating sales.</p>
<p>One good place to find them is on Facebook groups for e-commerce business owners.</p>
<p>A quick search of “e-commerce business owners” returned the following results:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/10/Screenshot-2020-10-02-at-10.04.58.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Once you join a group, give value to the members by answering their questions, offering help where you can, and giving genuine feedback.</p>
<p>Once you’ve been an active member for a while, you can then start sending direct messages to members who seem to be having difficulties that you can help with.</p>
<p>If you want to learn more tips for looking for potential clients, here’s a great in-depth resource we’ve written on it: <a target="_blank" href="https://studywebdevelopment.com/how-to-get-clients-freelance-developer.html">How to Get Clients as a Freelance Developer: The Complete Guide.</a></p>
<h2 id="heading-get-monthly-retainers">Get Monthly Retainers</h2>
<p>I personally almost always aim for monthly retainers because it provides stability.</p>
<p>You only market and convince a client once, but you’ll get to enjoy a steady source of income month by month.</p>
<p>What kinds of projects demand a monthly retainer?</p>
<ul>
<li><strong>Website SEO</strong> – This is a long-term project and needs at least 6 months or more to see results</li>
<li><strong>Website Maintenance</strong> – Maintaining fast loading speed, ensuring security, analyzing website statistics, updating a website, backup services</li>
<li><strong>Social Media Management</strong> – Posting, responding to messages, social media campaigns</li>
<li><strong>Blogging/Content Writing</strong> – You can outsource this to a freelance writer so you won’t have to do any writing yourself. Make sure to explain to your client the benefits of blogging for their business.</li>
<li><strong>Shopify/WordPress Store Management</strong> – This involves checking inventory, uploading new products, monitoring sales, and more. You can also outsource this to a VA that you can find on <a target="_blank" href="https://wordhtml.com/upwork.com">Upwork</a>, <a target="_blank" href="https://talent.hubstaff.com/">Hubstaff Talent</a>, or other remote work websites.</li>
<li><strong>Email Marketing</strong> – These can be email marketing campaigns you manage for an e-commerce website as an example.</li>
<li><strong>AdWords/PPC</strong> – Any PPC related ad spend you can set up and manage.</li>
</ul>
<p>If you charge $300 a month for basic SEO and Content Writing, you only need to close at least two clients and you’ll already surpass the $500 mark.</p>
<p>There are many more kinds of services you can offer depending on the needs of your clients. Understand the specific needs of your clients, and from there see where you can offer help.</p>
<p>Want to know how much to charge for your services? I wrote a <a target="_blank" href="https://studywebdevelopment.com/how-to-charge-for-a-website.html">very detailed guide</a> on this topic.</p>
<h2 id="heading-learn-more-skills">Learn More Skills</h2>
<p>Expanding your skillset lets you offer more services that can complement your main service.</p>
<p>For me, the best service that can complement web development is digital marketing.</p>
<p>Clients want websites because they want to bring in more leads and close more sales. But for their website to perform well, they first have to bring in traffic.</p>
<p>Digital marketing services can help bring in a steady stream of traffic to your clients’ websites. Digital marketing is a broad area of practice, but it mainly involves the following:</p>
<ul>
<li>Content marketing</li>
<li>Social media marketing</li>
<li>Email marketing</li>
<li>Paid advertising</li>
<li>Search engine marketing</li>
</ul>
<p>You can read more about how you can market your client’s website here: <a target="_blank" href="https://studywebdevelopment.com/marketing-clients-website.html">12 Actionable Tips to Market Your Client's Website</a>.</p>
<p>Once you’ve learned a skill (or found a business partner that can handle that side for you), come up with packages to offer to clients.  </p>
<p>Here’s an example for an e-commerce site:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/10/price-options-website.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>The more value your services provide, the higher you can charge.</p>
<p>If you’re not sure what to charge for a website, this article might offer some insights: <a target="_blank" href="https://studywebdevelopment.com/how-to-charge-for-a-website.html">How to Charge for a Website in 2020 (and Beyond)</a>.</p>
<p>To know how to prepare a web design proposal in detail (with a free download), you can read it <a target="_blank" href="https://www.freecodecamp.org/news/free-web-design-proposal-template/">here</a>.</p>
<h2 id="heading-build-a-passive-source-of-income">Build a Passive Source of Income</h2>
<p>Having a passive source of income is always a good idea because you will be earning money while you sleep. It’s a good cushion for challenging times like when you get sick and can’t work.</p>
<p>When we hear of passive income, blogging and affiliate marketing are the first to come to mind (and they are both great income streams).</p>
<p><strong>Blogging</strong> - you can write for other established blogs for $$$ or you can write your own blog and get advertisements or sponsored articles on your blog.</p>
<p><strong>Affiliate marketing</strong> - this is simply the process of promoting a product or service and if someone buys the product or service you promote, you will receive a commission (usually between 10-50% of the value) for each successful sale.</p>
<p>But there are more sources of passive income including the following:</p>
<ul>
<li><strong>Sell information products</strong> like e-books or audio/video course</li>
<li><strong>Sell digital files on Etsy</strong> – <a target="_blank" href="https://wordhtml.com/etsy.com">Etsy</a> is a marketplace for handmade items including jewelry, clothing, shoes, and more. You can also sell digital prints like artwork.</li>
<li><strong>Build your own app</strong> – You can earn money through app sales and/or adverts.</li>
<li><strong>Invest in dividend stocks</strong> – This is a proven way to earn passive income, but you have to study it well before making any investments to avoid costly mistakes.</li>
<li><strong>Flip websites</strong> – This is only a semi-passive source of income, but I’m including it here because it can be very lucrative. It involves buying domain names for cheap, parking them, and then selling them later on at a higher price. It’s pretty much like online real estate selling. Granted, it's not as easy as it used to be, but there are many people who do this full-time because the income can be lucrative.</li>
</ul>
<p>Keep in mind that no passive income will make you rich overnight. Most forms of passive income require an initial investment and a lot of time and strategy to set up. But you will eventually reap the benefits if you do things right.</p>
<h2 id="heading-sell-products-on-amazon-or-your-own-website">Sell Products on Amazon or Your Own Website</h2>
<p>Selling products online is a lucrative source of income with unlimited growth potential.</p>
<p>We are in a fortunate position where we have 2 successful e-commerce businesses and it's going really well.</p>
<p>It all started with finding popular products sourced in China, bringing them in, creating a website and a brand, and implementing effective marketing. All that resulted in a successful e-commerce store.</p>
<p>That brings me to how you can sell your products.</p>
<p>You can choose to sell products on Amazon or your own e-commerce store.  </p>
<p>Selling products on Amazon is the easier route because you’ll take advantage of Amazon’s credibility and huge traffic, but there is generally a lot more competition.</p>
<p>The way it works is really simple: you buy products at a discounted rate (wholesale, clearance sale, thrift stores, and so on), ship them to Amazon, and mark them up to their market prices.</p>
<p>This business model is called Amazon FBA, and it can easily earn you $500 or even more a month.</p>
<p>You can also build your own e-commerce website which will take more time and effort. But, unlike Amazon which takes a cut from every sale you make, you’ll keep all your profit and you’ll have total control over how your online store looks.</p>
<p>If you go this route, you’ll have to learn paid advertising and marketing tactics to steadily drive traffic to your website. You will also take care of the payment and fulfillment (if you’ll sell physical products).</p>
<h2 id="heading-wrapping-up">Wrapping up</h2>
<p>This was a very brief article on how to earn $500 on the side each month.</p>
<p>There's a lot to take in, and there are so many options available, but I hope this helped shed some light on the process for some of you.</p>
<p>Until next time,</p>
<p>Kyle Prinsloo</p>
<p><a target="_blank" href="https://twitter.com/study_web_dev">Follow me on Twitter</a></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How I Built My One-Person Project: A Chess Engine for a Popular Game Dev Engine ]]>
                </title>
                <description>
                    <![CDATA[ I recently finished one of my summer projects: a chess GUI engine built using the Ren’Py Visual Novel Game Development Engine and the python-chess library. This engine will be integrated into a kinetic novel game, The Wind at Dawn, at that game’s com... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-i-built-my-one-person-open-source-project/</link>
                <guid isPermaLink="false">66d4601b3bc3ab877dae2218</guid>
                
                    <category>
                        <![CDATA[ open source ]]>
                    </category>
                
                    <category>
                        <![CDATA[ projects ]]>
                    </category>
                
                    <category>
                        <![CDATA[ side project ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Lynn Zheng ]]>
                </dc:creator>
                <pubDate>Tue, 08 Sep 2020 23:23:46 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5f9c98ca740569d1a4ca1c15.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>I recently finished one of my summer projects: <a target="_blank" href="https://github.com/RuolinZheng08/renpy-chess">a chess GUI engine</a> built using the <a target="_blank" href="http://renpy.org/">Ren’Py Visual Novel Game Development Engine</a> and the <a target="_blank" href="https://github.com/niklasf/python-chess">python-chess</a> library.</p>
<p>This engine will be integrated into a kinetic novel game, <a target="_blank" href="https://madeleine-chai.itch.io/the-wind-at-dawn"><em>The Wind at Dawn</em></a>, at that game’s completion.</p>
<p>In this post, I’d like to share some key learnings, technical and non-technical, that I gathered from pushing this one-person project from start to finish in a month.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/foolsmate.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<p>_[My Chess Engine Project on GitHub](https://github.com/RuolinZheng08/renpy-chess" data-href="https://github.com/RuolinZheng08/renpy-chess" class="markup--anchor markup--figure-anchor" rel="noopener" target="<em>blank)</em></p>
<h2 id="heading-appreciate-the-value-of-rewriting-old-code">Appreciate the Value of Rewriting Old Code</h2>
<p>For CS projects at school, I seldom have the opportunity or experience the need to revisit my code.</p>
<p>However, this is not the case when I work on my passion projects: I love to take every opportunity to improve their usability and reusability in the hope that my code will be of value to other developers.</p>
<p>This chess engine is based on <a target="_blank" href="https://github.com/RuolinZheng08/renpy-chess-engine">a chess engine I created in Ren’Py and vanilla Python</a> while teaching myself Python during my first summer break in college.</p>
<p>That old chess engine is, in turn, based on a project in my college Intro to CS class (a chess GUI game written in Racket, a functional programming language). That is to say, I’ve rewritten my code twice to produce this final chess engine.</p>
<p>For my first rewrite, I simply “translated” the chess logic (for determining whether a move is legal, endgame conditions, and so on.) from Racket to Python. I also experimented with Object-Oriented Programming, wrote a minimax chess AI following online tutorials, and implemented the GUI in Ren’Py.</p>
<p>Since I only knew the very basics of chess and wrote my chess logic per my school project grading spec, my first chess engine didn’t support special moves like en passant, castling, or promotion.</p>
<p>To address this issue in my second rewrite, I researched open-source Python libraries and found <a target="_blank" href="https://github.com/niklasf/python-chess">python-chess</a>, a library with full support for chess moves and endgame conditions like claiming a draw when threefold repetition occurs.</p>
<p>On top of that, it has also integrated <a target="_blank" href="https://stockfishchess.org/">Stockfish</a>, a chess AI, and this integration will enable my chess engine to configure the strength of the chess AI.</p>
<p>These two features added great value to my chess engine version 2.0 and allowed me to focus on the more important aspects of my rewrite, which I will describe below.</p>
<h2 id="heading-read-the-documentation-and-keep-compatibility-in-mind">Read the Documentation and Keep Compatibility in Mind</h2>
<p>It has become my habit to skim through the documentation of the libraries that I need for my project before jumping into the design and the code. This helps me evaluate any issue with dependency and compatibility that might arise.</p>
<p><a target="_blank" href="https://github.com/renpy/renpy/issues/2003">This Ren’Py GitHub issue</a> points to the fact that Ren’Py uses Python 2 and hasn’t yet been ported to Python 3. So I recognized that I needed a version of python-chess that supports Python 2, <a target="_blank" href="https://python-chess.readthedocs.io/en/latest/#features">as the latest version only supports Python 3.7+</a>.</p>
<p>Fortunately, <a target="_blank" href="https://python-chess.readthedocs.io/en/v0.23.10/index.html#features">version 0.23.10</a> supports both Python 2.7 and Python 3.4+. I ultimately settled on version 0.23.11 as it is the last version that still supports Python 2.7.</p>
<p>Having sorted through dependency and compatibility issues, I was ready to move on to design and coding.</p>
<h2 id="heading-follow-software-engineering-best-practices">Follow Software Engineering Best Practices</h2>
<p>Note: A lot of terms mentioned in this section are from <a target="_blank" href="https://en.wikipedia.org/wiki/Scrum_%28software_development%29">Agile/Scrum</a>.</p>
<h3 id="heading-gather-feature-requirements-for-project-design">Gather Feature Requirements for Project Design</h3>
<p>While it is tempting to jump straight into coding, I cannot stress enough the importance of design.</p>
<p>Think about design as a high-level roadmap that clearly delineates the starting point, milestones, and ending points of the project. This lets developers refer to when they are waist-deep in intricate implementation details.</p>
<p>This is especially important for extracurricular projects as they don’t usually have a detailed, highly-technical spec, whereas most school projects do.</p>
<p>For my chess engine, I identified the following rewrites/additional features:</p>
<ul>
<li><p>Integrate the chess logic from python-chess</p>
</li>
<li><p>In my Ren’Py GUI code, replace the chess logic and chess AI I wrote with the chess logic and Stockfish APIs from python-chess</p>
</li>
<li><p>Support various gameplay modes: Player vs. Player, Player vs. Computer (where Player can choose to play as black or white), adjustable strength of the chess AI via adjustments to Stockfish’s configuration parameters</p>
</li>
<li><p>Develop a Ren’Py GUI for pawn promotion</p>
</li>
<li><p>Develop a Ren’Py GUI for claiming a draw in the case of threefold repetition or the fifty-move rule</p>
</li>
</ul>
<h3 id="heading-develop-a-proof-of-concept-prototype">Develop a Proof of Concept Prototype</h3>
<p>A Proof of Concept (POC) prototype helps me gauge the time and effort needed to implement the required features.</p>
<p>For my chess engine POC, I integrated python-chess with my original Ren’Py GUI code. I made sure its set of features was minimum yet readily extensible:</p>
<ul>
<li><p>I integrated python-chess with my original Ren’Py GUI code and was able to move pieces around</p>
</li>
<li><p>I only implemented Player vs. Player in order to postpone integrating Stockfish for chess AI</p>
</li>
<li><p>I only allowed non-promotion moves so as to postpone developing the GUI for pawn promotion</p>
</li>
</ul>
<h3 id="heading-identify-the-projects-definition-of-ready-and-definition-of-done">Identify the Project’s Definition of Ready and Definition of Done</h3>
<p>My project’s Definition of Ready (DoR) naturally follows from my initial investigation about library version compatibility and my POC.</p>
<p>In parallel, my project’s Definition of Done (DoD) follows from the feature requirements I identified from my design phase.</p>
<h3 id="heading-deliver-a-minimum-viable-product-or-better-yet-a-minimum-lovable-product">Deliver a Minimum Viable Product, or better yet, a Minimum Lovable Product</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/promotion.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>Promotion UI</em></p>
<p>When I was in the design phase gathering requirements, I knew that there were a lot of stretch goals to my project — perhaps even more than I could ever accomplish.</p>
<p>So it was important for me to implement the very basic set of required features, deliver a Minimum Viable Product (MVP), and gather feedback to iterate on it.</p>
<p>Better yet, I’d like to deliver a Minimum Lovable Product (MLP) on my first iteration. The minute difference is that whereas an MVP requires nothing more than functional features, an MLP has a lovable user experience by design.</p>
<p>For instance, to implement pawn promotion moves, for an MVP I could ask users to press different keys to select the piece type they want to promote to (like B for bishop and K for knight).</p>
<p>For an MLP, I would implement a UI with piece-type-shaped buttons that change colors when hovered or selected.</p>
<h2 id="heading-be-your-own-project-manager">Be Your Own Project Manager</h2>
<p>If you find keeping track of the list of features (plus the ever-growing list of bugs and fixes) overwhelming, you are not alone. It’s time to be your own project manager.</p>
<p>I found <a target="_blank" href="https://trello.com/">Trello</a> to be an amazing tool both for single-person projects and large-team projects.</p>
<p>This is how I usually organize my Trello board for a coding project:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/board.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>The Trello Board for My Chess Engine Project</em></p>
<p>Have four lists: <strong>Backlog</strong> (for features to be triaged), <strong>TODO</strong>, <strong>Doing</strong>, and <strong>Done.</strong></p>
<p>Have color-coded labels:</p>
<ul>
<li><p><strong>Ready for QA:</strong> A red label to get the attention of my teammates</p>
</li>
<li><p><strong>Impact:</strong> low (yellow) vs. high (orange), determined by the amount of impact a feature or a bug fix will generate. For example, a slightly misaligned UI panel is of low impact where a deterministically crashing bug is of high impact.</p>
</li>
<li><p><strong>An estimate of the time it will take to implement:</strong> trivial (&lt; 1 hour, teal), medium (1–2 hours, light blue), and difficult (2–4 hours, dark blue).<br>  My other rule of thumb is, if I estimate that a card will take more than 4 hours to implement, I should probably break it down into several finer-grained cards.</p>
</li>
<li><p>Color serves as a great visual cue: I always tackle cards with orange and teal tags (high impact and low time commitment) before tackling those with yellow and difficult tags (low impact but high time commitment).</p>
</li>
</ul>
<h2 id="heading-write-documentation-and-reflect-on-your-learning">Write Documentation and Reflect on Your Learning</h2>
<p>Having pushed every single Trello card from TODO to Doing to Done and fixed every nasty bug, is it finally time to call a project done? Yes and no.</p>
<p>To maximize my learning from a project, I find it immensely worthwhile to reflect on my takeaways, technical or soft skills:</p>
<ol>
<li><p>Write a clear, concise README in the GitHub project repository. This helps other developers understand and become interested in the project.</p>
</li>
<li><p>Write a blog post (like the one I’m writing now) about the higher-level aspects, for example, architecture overview, feature design, challenges and solutions, and so on.</p>
</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/README-1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>My README Section about Integrating My Chess Engine into Other Game Projects</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/-readme1-1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>My README Section Comparing the Two Versions of My Chess Engine</em></p>
<h3 id="heading-credits-amp-links">Credits &amp; Links</h3>
<p>Many thanks to Tim Min for prompting me to work on this project, for his contributions (new feature ideas + QA) on the Trello board, and for holding me accountable. Tim is the writer of the kinetic novel game, <a target="_blank" href="https://madeleine-chai.itch.io/the-wind-at-dawn"><em>The Wind at Dawn</em></a><em>.</em></p>
<ul>
<li><p><a target="_blank" href="https://github.com/RuolinZheng08/renpy-chess">My chess engine GitHub repository</a></p>
</li>
<li><p><a target="_blank" href="https://trello.com/b/ip9YLSPa/renpy-chess">The public Trello board for this chess engine project</a></p>
</li>
<li><p><a target="_blank" href="https://www.renpy.org/">Ren’Py: a Visual Novel Game Development Engine</a></p>
</li>
<li><p><a target="_blank" href="https://python-chess.readthedocs.io/en/latest/">python-chess: a pure Python chess library</a></p>
</li>
</ul>
<p>Let's stay in touch! Connect with me on <a target="_blank" href="https://www.linkedin.com/in/ruolin-zheng/">LinkedIn</a>, <a target="_blank" href="https://github.com/RuolinZheng08">GitHub</a>, <a target="_blank" href="https://medium.com/@ruolinzheng">Medium</a>, or check out <a target="_blank" href="https://ruolinzheng08.github.io/">my personal website</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How I Went From 0 to 70k Subscribers on YouTube in 1 Year – And How Much Money I Made ]]>
                </title>
                <description>
                    <![CDATA[ It's hard to believe that it has already been 1 year since I started my YouTube channel, codeSTACKr. In this article, I want to be open and transparent about everything that has gotten me to where I am now, the good decisions as well as bad. And I ho... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-grow-your-youtube-channel/</link>
                <guid isPermaLink="false">66d45f6533b83c4378a517e4</guid>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ side project ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ youtube ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Jesse Hall ]]>
                </dc:creator>
                <pubDate>Thu, 20 Aug 2020 17:37:36 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/08/fCC_-70k-2-2.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>It's hard to believe that it has already been 1 year since I started my YouTube channel, <a target="_blank" href="https://youtube.com/codestackr">codeSTACKr</a>.</p>
<p>In this article, I want to be open and transparent about everything that has gotten me to where I am now, the good decisions as well as bad. And I hope that you can take this information and apply it to your circumstances.</p>
<p>I believe that no matter what category or niche you may be in, this information can help you to grow your channel as well.</p>
<p>This post is not meant to brag. Rather, it’s meant to provide insight into how I quickly grew my YouTube channel.</p>
<p>I hope that this post will help you in some way, but what worked for me is not guaranteed to work for you. So adapt my methods to meet your needs.</p>
<p>All of these strategies and tricks can also apply to blogs and any other social media platforms.</p>
<p>Let me get started by giving you a little background on myself and why I started a YouTube channel.</p>
<h2 id="heading-how-it-all-started">How It All Started</h2>
<p>There are many reasons that people start a YouTube channel. It could be for fame and notoriety, to make money, to help people, or maybe just as a hobby. Well, I started my channel to prove a point.</p>
<p>You see, I have 2 teenagers, and they are typical teenagers. I wanted to challenge them to come up with a business idea. You know, instead of playing video games, watching Netflix, or chatting with their friends all day.</p>
<p>As you can expect, there were not many ideas being passed around. So I thought, maybe they could start YouTube channels and make content about things they enjoy doing. My son could start a gaming channel and my daughter could start a hair-styling channel.</p>
<p>They seemed to think it was an okay idea. My son downloaded a screen recorder and was going to create some videos. I helped my daughter set up a tripod and camera so she could record some fancy hair braids.</p>
<p>And that's about as far as they got. No videos ever got posted.</p>
<p>That's when I came up with the idea to start my own channel. I wanted to prove a point: <strong>you can make something successful if you put in the effort</strong>.</p>
<p>I decided that I was not going to tell anyone, not even my wife, that I started the channel until I had proof that it was successful. I thought, "if I can get 300 subscribers I'll tell them".</p>
<p>Choosing a topic for your channel is, in my mind, the most important decision. You want to pick something that is not too broad, but also not too narrow. You want to appeal to a specific, targeted audience.</p>
<p>The topic of my channel was a no-brainer. I've been coding since I was 12 and it's a topic that I'm passionate about. So talking about web development made sense.</p>
<p>I had been watching other channels like <a target="_blank" href="https://www.youtube.com/TraversyMedia/">Brad Traversy</a>, <a target="_blank" href="https://www.youtube.com/Academind/">Academind</a>, and <a target="_blank" href="https://www.youtube.com/TheNetNinja">The Net Ninja</a> for years. So I started with a tutorial on VS Code.</p>
<p>We'll get to more about my channel and videos later. For now, let's talk about motivation and expectations for starting a channel.</p>
<h2 id="heading-motivation-amp-expectations">Motivation &amp; Expectations</h2>
<p>When starting a YouTube channel, a blog, or any social media account, you need to understand what your motivation is and what you expect to get out of it.</p>
<p>For me, I wanted to prove something to my kids. Are you trying to become famous? Do you want to make money? Do you want to help people in some way?</p>
<p>Whatever your answer is, you need to understand that you will not see results overnight. It could take months, even years to even see any results.</p>
<p>This is where expectations come into play. If you can manage your expectations, then you will be able to withstand the ups and downs that are sure to come.</p>
<p>When choosing the topic of your channel, make sure that it is something that you are passionate about. If not, you'll be setting yourself up for failure. It will only be a matter of time before you get bored and give up.</p>
<h2 id="heading-getting-started">Getting Started</h2>
<p>The first thing that I did was pick a channel name. Honestly, I don't remember why or how I landed on codeSTACKr.</p>
<p>I went to <a target="_blank" href="http://namecheap.com">namecheap.com</a> and was looking for domains. I was looking for combinations of "code", "full", "developer", "stack", etc. I remember that codestack was taken, so I added an "r" to the end ?.</p>
<p>The next step was to record the video. I decided that I was not going to spend a dime on this channel to start with. If I made any money from it, then I would invest that money back into the channel.</p>
<p>Since I would be sharing my screen, I didn't need a camera. I could just use a screen recorder. I used <a target="_blank" href="https://obsproject.com/">OBS</a> for that, and I still do.</p>
<p>If you will be starting a channel that requires a camera, start with the webcam on your laptop or your phone. Most phones have great cameras.</p>
<p>If you are going to spend any money, the first area I would recommend would be on audio. Audio is by far the most important asset to any video. It will make or break your channel in my opinion.</p>
<p>When I watch a video and the audio quality is not there, I will most likely move on to another video.</p>
<p>For my first several videos, I just used a headset mic. Like one that you would use for gaming or even earbuds from your phone.</p>
<p>Once I got everything recorded, then I needed to edit the video. There are a few options for this. If you have a Mac, then iMovie is a great option. I have a Windows computer, so I use <a target="_blank" href="https://www.blackmagicdesign.com/products/davinciresolve/">Davinci Resolve</a>. It is free and is very robust. It is also available on Mac and Linux.</p>
<p>Now it's time to post the video. This is where some get hung up.</p>
<p>I know it's nerve-wracking to upload the first video, and you want it to be perfect. But don't obsess over this. It will never be perfect, no matter how much time you spend on it. Just upload it!</p>
<p>That is exactly what I did and it was not perfect. I had a blaring misspelling in my video that I still get comments on to this day. ?</p>
<h2 id="heading-results-from-the-first-video">Results From The First Video</h2>
<p>Before I posted my video I did some research. I wanted to find places to promote the video. I had zero following on any other social platform. So, I started looking at Reddit and found a subreddit where I could post the link to my video.</p>
<p>I know that self-promotion on Reddit is frowned upon. So be very careful there. I found a subreddit that allowed this type of posting, and I made sure that I was not breaking any rules.</p>
<p>I also researched SEO for the video. I made sure that the title, description, and tags were optimal for the video. That in itself is an entire article.</p>
<p>Now it was time to post. I nervously clicked the button. Then hit refresh frantically for several minutes to see if there would be any views. Nope, no views. So I posted the video link on the subreddit. That worked! I started to get a few views.</p>
<p>The day after I posted the video, we left for vacation. I took every chance I could get to inconspicuously check my YouTube analytics while we were gone. It's hard not to get caught up on the numbers, but try not to. And we'll talk more about that in a bit.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/VS-Code-Jun-5---11.jpg" alt="The first week's analytics of my first video." width="600" height="400" loading="lazy"></p>
<p><em>The first week's analytics of my first video.</em></p>
<p>On the first day, I got 111 views and 8 subscribers. The next day was 231 views and 14 subscribers. Then the views dropped down to 23 and 2 subscribers. These mostly came from the Reddit post. On that first Reddit post, I got 88 up-votes. That's pretty good for Reddit.</p>
<p>You'll find that this is a typical graph for most videos. You will get a spike in initial views, then they level off. At some point, you hope that the YouTube algorithm will pick it up. We'll talk about that in a bit.</p>
<p>So how did I go from getting a few views per day to thousands per day? That's coming up next.</p>
<h2 id="heading-consistency">Consistency</h2>
<p>The number one thing that will help you grow your channel, which I'm sure you've heard before, is posting consistently.</p>
<p>Come up with a plan that works for you. If you can post once a week, once every two weeks, or once a month, stick to it! You will not get subscribers if you are not consistent.</p>
<p>For me, I have a full-time day job. So after we got back from vacation, I decided that I could find the time to post once a week. So I stuck to that. I posted consistently, at least once per week. Every post bumped up my average views.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/June-2019-Subs.jpg" alt="June 2019 Subscribers Gained." width="600" height="400" loading="lazy"></p>
<p><em>June 2019 Subscribers Gained.</em></p>
<p>You can see from this graph that in June, 2019 I posted three videos. You can also see the gap where I was on vacation. Each post gave me a bump in views and subscribers, not only for the video being released, but also for the previous videos.</p>
<p>You'll find that some videos get more views than others. You will have videos that do great and others that flop. Use these insights to hone in on what your viewers want to see. If a video does well, then make another video on the same or similar topic.</p>
<p>Consistency is what got me to my 300 subscriber goal after about 10 videos and 2 months.</p>
<h2 id="heading-revealing-my-secret">Revealing My Secret ?</h2>
<p>So I sat my family down to tell them the good news. Imagine, a 39-year-old father and husband sitting his wife and 2 teenagers down to tell them that he has created a YouTube channel and has 300 subscribers. ?</p>
<p>After the chuckles were over I proceeded to inform them of my plans to continue growing the channel and see where it could go.</p>
<h2 id="heading-avoid-burnout">Avoid Burnout</h2>
<p>Understanding that consistency is a marathon and not a sprint is very important. During January 2020 I decided that I was going to post a short video every day. I wanted to create short videos that explained small parts of JavaScript. I called it <a target="_blank" href="https://www.youtube.com/playlist?list=PLkwxH9e_vrALlH7D0XLDn2td-uoHqHFxq">#JavaScriptJanuary</a>.</p>
<p>These were about 90 second videos. You might think that short videos would be easier to make. And in theory, they should be.</p>
<p>But I tend to overdo things. I made sure that these videos were packed full of info. They had animations and were very engaging. On average, they each took 3 hours to make. ?</p>
<p>That was a bad decision. Don't get me wrong, I am proud of the videos that I created. I have gotten many compliments on them and thankful viewers who love them and want more.</p>
<p>But it was very hard to keep up with the schedule. I did manage to get a video out every day, but I will never do that again.</p>
<p>What did I learn from my mistake? Even though I posted a video every day, I did not see a significant increase in views or subscribers. In fact, I lost some subscribers because they did not like me flooding their home page with new videos every day.</p>
<p>When you first start your channel you will be very excited to get going and want to work all of the time. Be very careful, pace yourself, and don't sign yourself up for more than you can handle, or more than your audience can handle.</p>
<h2 id="heading-be-active-in-the-community">Be Active In The Community</h2>
<p>To engage with my viewers, I responded to every comment on every video. Your viewers want to know that they are being heard.</p>
<p>This has been one of my keys to success. By engaging with the viewers I have been able to adjust my content strategy to include topics that they are interested in watching.</p>
<p>You may think that you know what your audience wants, but you really don't until you ask them what they want.</p>
<p>Market and community research is critical to growing your brand. You need to understand who the big players are and try to interact with them as well, as much as possible.</p>
<p>Now, if you are just starting, you wouldn't want to bug a large channel asking for things. You want to engage with the community and bring value.</p>
<p>One of the first real engagements that I had was with <a target="_blank" href="http://freecodecamp.org">freeCodeCamp.org</a>. I was able to create a 2 hour long tutorial on <a target="_blank" href="https://youtu.be/_a5j7KoflTs">Sass</a> for them to post on their YouTube <a target="_blank" href="https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ">channel</a>. At the time, their channel had around 1 MILLION subscribers!</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/fcc-bump.jpg" alt="My subscriber bump from the freeCodeCamp video." width="600" height="400" loading="lazy"></p>
<p><em>My subscriber bump from the freeCodeCamp video.</em></p>
<p>In this graph, you can see the spike in subscribers that I got from posting my video on the <a target="_blank" href="http://freecodecamp.org">freeCodeCamp.org</a>'s YouTube <a target="_blank" href="https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ">channel</a>.</p>
<p>By this time I had acquired around 500 subscribers. Then I got over 300 in one day! I was shocked and amazed. Of course, it leveled back off eventually. But notice that with every bump, the average increases. Each one takes you to the next level.</p>
<p>Another thing that has helped me is getting to know others in my community. You would think that other YouTubers that post videos on the same topic would be competition. But that is not true at all.</p>
<p>I was able to collaborate and share insights with many in my community that post about the same things as I do. Even though we may post about the same subject, we all have different methods of teaching and different viewpoints. So it's not a big deal.</p>
<p>Bottom line: you need to network and get to know others that are in the same niche as you.</p>
<h2 id="heading-the-elusive-algorithm">The Elusive Algorithm</h2>
<p>The YouTube algorithm is an enigma. Don't try to understand it. Just know that when it finds you, you will know it!</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/social-blade-weekly.jpg" alt="Social Blade graph of my weekly views and subscribers gained over the past year." width="600" height="400" loading="lazy"></p>
<p><em>Social Blade graph of my weekly views and subscribers gained over the past year.</em></p>
<p>Notice in the graph the large spike around December, 2019. That is when the mighty algorithm decided to push one of my videos to tens of thousands of viewers.</p>
<p>I was averaging 1,000 views a day at that time. Then, all of a sudden, I was getting 12,000 views in one day. That then took me to the next level. I didn't do anything different. I was consistently posting one video per week.</p>
<p>You can see in the next graph the trajectory change around December, 2019.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/social-blade-monthly.jpg" alt="Social Blade graph of my monthly views and subscribers gained over the past year." width="600" height="400" loading="lazy"></p>
<p><em>Social Blade graph of my monthly views and subscribers gained over the past year.</em></p>
<p>Since then, the algorithm has picked up several of my videos. By staying consistent, listening to my audience, and interacting with my community, I was able to gain 70,000 subscribers and almost 2 million views in a year. Craziness!</p>
<h2 id="heading-dont-get-stuck-on-the-numbers">Don't Get Stuck On The Numbers</h2>
<p>I initially set the goal of getting 300 subscribers. For me, at the time, that was the number that would mean I was successful and that my strategies were working.</p>
<p>That was another mistake. Try your hardest not to focus on numbers. <strong>Your number of subscribers or followers does not define your success.</strong> <strong>The quality and value of your content is what defines your success.</strong> If you have quality and valuable content, they will come.</p>
<p>And... Do not compare yourself with others. Every journey is different. Focus on your circumstances, remain consistent, and produce quality content.</p>
<h2 id="heading-highs-amp-lows">Highs &amp; Lows</h2>
<p>Looking back at some of the graphs you will see peaks and valleys. That is totally normal. Don't get scared when your views start to drop. It's the natural cycle of YouTube. They will pick back up as long as you stay consistent.</p>
<h2 id="heading-monetization">Monetization</h2>
<p>On YouTube, you are required to have 1,000 subscribers and 4,000 watch hours to be monetized. That's 240,000 minutes of watch time!</p>
<p>I hit 1,000 subscribers after 3 months, in September of 2019. But I didn't hit 4,000 watch hours until November of 2019. That's 5 months after starting my channel.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/monthly-revenue.jpg" alt="Monthly ad revenue" width="600" height="400" loading="lazy"></p>
<p><em>Monthly ad revenue</em></p>
<p>In November I made <strong>$197</strong>. ? I could not believe that I was making money uploading videos to YouTube! In December I made $545. Then in January, which was right after the algorithm picked up one of my videos, I made $830!</p>
<p>After that, the revenue drops off but has leveled off and has recently begun to increase. After 8 months of monetization, I made just over $5,000.</p>
<p>That's not enough for me to quit my day job, but I am still amazed that I have been able to create side-income so quickly.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/CPM.jpg" alt="Weekly ad revenue graph with CPM" width="600" height="400" loading="lazy"></p>
<p><em>Weekly ad revenue graph with CPM</em></p>
<p>In this graph, you will see the weekly ad revenue breakdown. The other two stats are part of what the revenue is based on.</p>
<p>CPM is "Cost per Mille", or simply the price that an advertiser pays per 1,000 views of a video. My average CPM here is $10.20. So advertisers paid $10.20 per every 1,000 monetized views of my videos.</p>
<p>RPM is "Revenue per Mille", or simply the revenue that <strong>you</strong> earn per 1,000 views of a video.</p>
<p>Since YouTube is facilitating these views, they take a cut, and I'm OK with that. They own the platform, they maintain it, they send viewers to my channel, they do most of the heavy lifting. Plus they provide many great tools for content creators and are constantly adding and improving on these. So, $3.03 is what I made per 1,000 monetized video views.</p>
<p>Now, not all views count. Notice that I said "monetized" views. Which means that the ad was seen. If the viewer is using an ad-blocker or they skip the ad, it will not count as a monetized view.</p>
<h2 id="heading-other-sources-of-revenue">Other Sources of Revenue</h2>
<p>Besides the ad revenue, I also made approximately $8,000 from sponsors in the past year. This is not something that comes right away. You have to build your brand and become known in the community.</p>
<p>I have not gotten a single sponsorship by reaching out and asking for sponsors. All of my sponsors have reached out to me first. So, again, it's a marathon. Don't expect things to happen overnight. Stay laser-focused and good things will come.</p>
<p>In any business, you want to diversify your income. YouTube ad revenue should never be your main source of income. What if YouTube accidentally deletes your account, or for some reason stops monetization? You have to diversify!</p>
<p>Besides YouTube ads revenue and sponsors, my goal was to create my own digital products.</p>
<p>This is an example of another mistake that I made. The mistake was not the decision to make my own products, but my delay in making them. In fact, to this day, I still have not released any products.</p>
<p>I planned to release 3 premium courses in 2020. We are over halfway through the year and I have not released 1.</p>
<p>I got caught up in other side projects and did not focus on my own projects. These other side projects brought in subscribers and money for me but they should not have been my main focus.</p>
<p>Your main revenue stream should be your personal products. That is what you control. Everything else could one day disappear. Stay focused!</p>
<h2 id="heading-tips-for-success">Tips For Success</h2>
<p>The biggest tip for success that I could give you is to focus. It is so easy to get distracted by all of the things that you "could" do to increase your reach.</p>
<p>Focus on making quality videos. Try to stay organized. Create a list of content that you want to create. Every time you think of a new idea, add it to the list.</p>
<p>But, focus on one topic at a time. Create the content for that video, then move on to the next topic.</p>
<p>Earlier I said that when I started my channel that I did not have a presence on any other social platforms.</p>
<p>If you already have a following somewhere else, then you should use that to your advantage to bring viewers to your channel. But if you don't have a following elsewhere, don't try to grow multiple platforms at the same time. Stay focused on whatever platform is working for you.</p>
<p>After I got my YouTube routine down, which was after about 6 months, I started an Instagram, Facebook, LinkedIn, and Twitter account. I have slowly grown on these platforms as well, some better than others. (I have no idea how Facebook works ?.)</p>
<p>After several months on these platforms, they have had a very minimal impact on my YouTube growth. I think that, for my niche, Twitter and Instagram have been the most effective. Twitter especially for networking. But the impact from these on my channel has not been significant.</p>
<p>Depending on your niche, you may find that your audience may be more receptive on specific platforms. Use these for brand building once your channel gets a bit of traction.</p>
<p>If you want to revisit the concepts in this article via video, you can check out this <a target="_blank" href="https://www.youtube.com/watch?v=oNGZ7h5LR-o&amp;feature=youtu.be">video-version I made here</a>.</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/oNGZ7h5LR-o" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<p> </p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In conclusion, I just want to say that anyone can do anything. If you have (1) the proper motivation, (2) realistic expectations, and (3) you don't overwork yourself, you can be successful.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/06/footer-banner-1.png" alt="Jesse Hall (codeSTACKr)" width="600" height="400" loading="lazy"></p>
<p>I'm Jesse from Texas. Check out my other content and let me know how I can help you on your journey to becoming a web developer.</p>
<ul>
<li><p><a target="_blank" href="https://youtube.com/codeSTACKr">Subscribe To My YouTube</a></p>
</li>
<li><p>Say Hello! <a target="_blank" href="https://instagram.com/codeSTACKr">Instagram</a> | <a target="_blank" href="https://twitter.com/codeSTACKr">Twitter</a></p>
</li>
<li><p><a target="_blank" href="https://codestackr.com/">Sign Up For My Newsletter</a></p>
</li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Reflections on being an indie hacker ]]>
                </title>
                <description>
                    <![CDATA[ By Tigran Hakobyan My name is Tigran and by definition, I’m probably a half-indie hacker. Why half you may ask? Because I’m a full-time software engineer at Buffer but at the same time I’m building an online profitable side-business called Cronhub. I... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/reflections-on-being-an-indie-hacker-95e19d2edb47/</link>
                <guid isPermaLink="false">66c35dd856e6b06442afd85e</guid>
                
                    <category>
                        <![CDATA[ Entrepreneurship ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Personal growth   ]]>
                    </category>
                
                    <category>
                        <![CDATA[ side project ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ startup ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 05 Dec 2018 21:32:02 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*Or2dantuEoAbOMXRY6i4oQ.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Tigran Hakobyan</p>
<p>My name is Tigran and by definition, I’m probably a half-indie hacker. Why half you may ask? Because I’m a full-time software engineer at Buffer but at the same time I’m building an online profitable side-business called <a target="_blank" href="http://www.cronhub.io/">Cronhub</a>.</p>
<p>If we think how one of my favorite Internet sites, <a target="_blank" href="http://www.indiehackers.com/">Indie Hackers</a> defines it, I think I fit into that definition but not quite.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/q62s-UwFndhhmw53l4TUa98rL5vAO-qtBpeM" alt="Image" width="629" height="240" loading="lazy">
<em>How IndieHackers.com defines indie hacker</em></p>
<p>I generate money independently through the product I’ve created but also have a primary source of income which is my employer. I’m a solo founder and have been bootstrapping <a target="_blank" href="http://www.cronhub.io/">Cronhub</a> for the past 8 months or so. As you see I may have the rights to call myself an indie hacker, right? If your answer is yes then let’s read my story further. Also, I’ve written <a target="_blank" href="https://blog.cronhub.io/reflections-on-being-a-remote-developer/">another article</a> if you like to read more about how I work remotely.</p>
<p>I wanted to be an indie hacker for multiple reasons but the biggest motivation has always been my passion for building products. In the past, I’ve built other <a target="_blank" href="http://tigranhakobyan.com/projects">side-projects</a> that were free. I even created a side-project when I was studying at Rochester Institute of Technology (RIT) called Wheelie. It became the official ride-sharing online platform for RIT students. However, I’ve shut it down two years ago due losing my interest for the product as well as worrying too much about safety issues. So yes, I love side-projects because it’s fun and you get to learn a wide range of skills.</p>
<p>Another reason why I started Cronhub is financial income. I understand that money doesn’t necessarily buy happiness but it can buy freedom and I think it’s a big deal at least for me. Not having enough money is always very stressful and making money is usually more fun.</p>
<p>For the past year or so I’ve started to value my time a lot and decided if I ever get involved in side-projects it won’t be for free. Having a full-time job and a family doesn’t give you too much free time so I better justify what I spend my time on. This thinking really changed my perspective on things that I was keen to work on. This article is a reflection of that journey.</p>
<h4 id="heading-the-motivation-behind-this-article">The motivation behind this article</h4>
<p>The motivation for writing this article is primarily based on wanting to share my knowledge and experience with others who are thinking of becoming an indie hacker. When I started this journey I always enjoyed reading other people’s stories, how they came up with an idea, how they ran their businesses and what it was like being an indie hacker.</p>
<p>Unfortunately, there isn’t a universal formula that one can share for building a successful business. Even the word “successful” has a different meaning for different people. One may define success by revenue and others care about other metrics.</p>
<p>Thus, my goal is not to give any advice but rather openly share everything I’ve learned and experienced throughout this year so you can make your own conclusions. I also want to encourage other indie hackers to write about their stories because having more data points only helps people who want to get started with building their own products and making money independently.</p>
<p>The Internet has become the most innovative medium to meet like-minded people, read stories and get inspired by them. Inspiration and motivation are two great forces that fuel your mind to achieve your goals and dreams. So I hope I can motivate you even a little bit with this article. If I do, then my time writing this article is fully justified.</p>
<h3 id="heading-launch">Launch</h3>
<p>Starting my own business and having side-income has been on my mind for a long time. Since I changed my perspective about side-projects I knew that if I was going to dedicate my time to building something it wouldn’t be free.</p>
<p>Getting paid for my own products was never about quitting my full-time job. I know many indie hackers whose main motivation is to become independent and not work for anyone. I can see that view and respect it. However, I enjoy my current job at Buffer and have no plans to leave it anytime soon. Will I ever work for myself full-time? I don’t know yet.</p>
<p>Coming up with an idea that can turn into a business wasn’t as hard as I imagined. I had a couple of requirements which I used to run my ideas over for evaluation.</p>
<p>For each idea I asked the following questions:</p>
<ul>
<li>Is this the idea for the market I’m familiar with?</li>
<li>Is this product solving my own problem?</li>
<li>Can I charge for this product?</li>
<li>Is this something I’m passionate about?</li>
</ul>
<p>At the end only two ideas made it to the last step:</p>
<ol>
<li>An online course on how to build a SaaS product with Laravel and Vue.js</li>
<li>An easy Cron monitoring tool for developers</li>
</ol>
<p>I ended up choosing the second option above only because I knew it would take me less time to launch the MVP compared to making an online course.</p>
<p>I’ve never done any online course before so I knew it would take quite a lot of time to finish it. I told myself I was going to give this idea a try and if it didn’t work out then I was going to step back and focus only on creating educational materials for developers. I knew there would always be a demand for those type of products.</p>
<p>Cron monitoring has always been very tricky and challenging. At Buffer I deal with many cron jobs and need to make sure they run on time and if they fail I want to be aware of it. Before Buffer when I was at YCharts I created a custom dashboard for the team to track all internal scheduled jobs. The dashboard would contain the list of the scheduled jobs and some logs.</p>
<p>However, the way we would know whether the jobs ran or not was by looking at the internal dashboard. This meant that we had to check the dashboard every single day to make sure all the checks have passed. This wasn’t ideal.</p>
<p>When I talked to other developers I realized that this pattern repeats in many engineering teams. So this was a big signal for me of an existing problem. So I decided to build a product that makes it a breeze to monitor Cron jobs. If I could build it, I could use it for my side-projects and Buffer.</p>
<p>After working on the first version of the product for almost 2 months (part-time) I launched Cronhub on <a target="_blank" href="https://www.producthunt.com/posts/cronhub">Product Hunt on March 20, 2018</a>. The reaction of the PH community was quite positive and this set the beginning of my indie hacker journey.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/4omaTQwAsqhPtlDE0yjL6PQSbEvYHPoFu-Qn" alt="Image" width="800" height="680" loading="lazy">
<em>Cronhub’s listing on ProductHunt</em></p>
<p>Launching a new product is a great milestone to hit but what comes after that is probably what most people struggle with. Growing your product and finding a product-market fit is a big challenge especially for first time founders.</p>
<h4 id="heading-growing-and-attracting-users">Growing and attracting users</h4>
<p>Trying to grow a business on the side comes with many challenges. Obviously, time is the biggest constraint but figuring out what to work on is another one that most founders face. Early on when you don’t have many users or customers it’s really hard to rely on data and make data-driven decisions. So the only option left is either seek advice from other founders or follow your own intuition.</p>
<p>Most of the product based decisions early on were based on my own intuition. Since I was building Cronhub for myself I knew exactly the features I needed to focus on. Being your own user is a big advantage and I strongly believe the idea of solving your own problem is really on point.</p>
<p>After launching your own product, you usually end up doing two things:</p>
<ol>
<li>Iterating on the product</li>
<li>Selling your product</li>
</ol>
<p>Most developers I know including myself are good at iteration but kind of suck at selling and marketing. I had no knowledge of sales so I focused on marketing instead.</p>
<p>I decided the way I was going to attract users and acquire customers is content marketing. Not only do I enjoy writing but I also knew that it had great long-term SEO benefits. It helps to grow your audience and get more exposure.</p>
<p>After following all the basic SEO guides and publishing articles I was able to bring Cronhub to the first page of Google under certain keywords such as “cron monitoring”. It jumped from the 6th page to the second search result within months after me sharing articles on the blog.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/TQtuw5M5D5Nz5q3vdhhUHYkOA-vNqiQX8aU2" alt="Image" width="800" height="421" loading="lazy"></p>
<p>Checking Cronhub’s Google Analytics data for November 2018, organic search was the biggest acquisition channel. So I think writing really pays off if you enjoy it.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/6fKikKxFeXsfu1GFi-HaRQL8Trw2D1BbSp4b" alt="Image" width="800" height="281" loading="lazy">
<em>Jumped to the first page for certain keywords!</em></p>
<p>However, content marketing is very time-consuming so it’s hard and sometimes not sustainable for a solo founder. Making it your primary marketing channel requires you to dedicate a ton of time on writing.</p>
<p>I started to think about different distribution channels that could work for Cronhub. One of them is Github marketplace which I’m currently working on. With this, I hope I can get more exposure to developers. I will share my experience after launching Cronhub on Github Marketplace in a different article so stay tuned.</p>
<h4 id="heading-current-growth">Current growth</h4>
<p>For the past few months, growth has been slow but partially meeting my own expectations, if I take into account the time I spend on Cronhub. November has been the highest revenue month when I hit around $620 in revenue.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/9aEDORcw6Q6tB0kkISLrnLocGBGt9K1aSGPe" alt="Image" width="800" height="182" loading="lazy">
<em>The organic search is the top acquisition channel</em></p>
<p>I do want to speed up growth and increase revenue but I think that requires changing my strategy. First, I need to understand who my ideal customer is and If I’m targeting developer teams then I should narrow it down further. It will help me to create a plan to bring more relevant users to Cronhub and increase the conversion rate.</p>
<p>Apart from bringing more leads to the site, I want to improve the onboarding process for new users. New users should be able to easily integrate their system jobs with Cronhub monitors. I usually have around 7 - 10 signups every day but only 2 - 3 of them actually activate monitors.</p>
<p>In order to increase the activation, I want to eliminate the manual work it requires. For this purpose, I’m building a new CLI tool that developers can run on their servers to easily hook up their cron jobs with Cronhub monitors. I’m very excited about this tool and can’t wait to release the first version next year.</p>
<p>Another small addition that helped me increase the number of sign-ups was supporting Github authentication. It took me less than a day to get it done but as of now almost half of my new users choose to sign up with Github. It’s a different concern whether those users have a higher conversion rate or not.</p>
<h4 id="heading-reflections">Reflections</h4>
<p>Writing articles like this is really a great way to reflect on your past journey. I feel like writing in a way is a meditation where you try to control your thoughts and direct them into a single purpose - writing.</p>
<p>So here I’ll try to write down everything that comes to my mind, everything that is worth sharing with you. These reflections are solely based on my experience of building a side-business while working full-time. The reason why I emphasize this is because it can be very different from someone who is working full-time on their own project.</p>
<p>When I meet new people in person or online and tell them about my side-project they keep asking me about how I manage to find time to work on anything else other than my job. My answer has been the same for the past year. I spend very little time but do it every day. It can be an hour or two hours but no more than that. After doing the same work every day it gets easier over time and it becomes a habit.</p>
<p>When I know I have only 1 - 2 hours every day to work on Cronhub I get very strict about things I should work on. I usually break down my tasks so that I can finish them in a day. I know if it goes beyond a day or two I’m going to abandon it. It’s tough but it happens to me every single time. I keep my tasks small and that helps me get things done.</p>
<p>There are some days when I feel down and just want to watch Netflix. I believe this happens to everyone and I noticed there is a pattern in my case. When I don’t get new customers for 2 weeks or so I lose my motivation because I think growth has stopped. When this happens I try to encourage myself to have the patience or sometimes open a new Dropbox Paper and write down some ideas that can help me accelerate the growth.</p>
<p>I miss having a co-founder sometimes. I need someone to bounce my ideas off or ask for advice. It also helps with motivation. When you share your concerns with someone who really cares and gets the context it helps because when you share you suddenly feel a lot better.</p>
<p>Will I ever try to find a co-founder for Cronhub? Maybe. I thought about this a lot and obviously, I don’t want a co-founder just for helping me feel better. ?</p>
<p>I do want to fully define that role before I start actively looking for one. I also need to understand the trade-offs of having a co-founder versus staying solo.</p>
<p>Customer support and pricing is something I wonder a lot about as well. How one affects another? I think it does in some way. If I’m considering running my business alone for a long time I need to define the type of customers I want to serve.</p>
<p>I can have many low-touch customers or few high-touch customers. I don’t want to spend too much time on customer support because I won’t have time left for product work. I think it’s better for me to focus on high-touch customers and focus on serving teams. On the other hand, targeting high-touch businesses suggests that I should start working on sales and it really scares me.</p>
<p>Product-market fit always gets me. How does one define finding a product-market fit? Or how do you know if you found one? <a target="_blank" href="https://a16z.com/2017/02/18/12-things-about-product-market-fit/">I read</a> about these topics a lot but it’s still unclear for me how you apply the theory in practice. One signal that maybe tells me that I have yet to find a product-market fit is slow growth.</p>
<p>Thus, I want to keep working on the product, make it better and only then hit the growth pedal. I’d like to learn more about the symptoms that people look for when thinking about product-market fit.</p>
<p>While working on Cronhub for the past year I discovered my strong passion for helping developers. I realized how much I love and enjoy building tools for developers. Improving developer productivity even with a small margin is a big deal and has a strong business value if you look at it on the company level.</p>
<p>Even 5% developer productivity increase can play a huge role in any company and directly impact the value that business delivers. This realization helped me to shape my professional vision - I want to help developers be more productive. I’m currently defining the “How” part.</p>
<p>I found a great report, <a target="_blank" href="https://stripe.com/reports/developer-coefficient-2018">The Developer Coefficient</a> by <a target="_blank" href="http://www.stripe.com/">Stripe</a> that conducted a study with thousands of C-level executives and developers across 30+ industries. One of the survey questions was the following:</p>
<blockquote>
<p>How much of a priority is it for upper management to increase the productivity of its developers?</p>
<p>And the answer was 96%.</p>
</blockquote>
<p>Then I started to think about the environment where I could maximize my impact on developers. How can I have a bigger impact? It’s really hard to answer but I’ve been thinking about this for a while now. I can work for myself in the long run by becoming an entrepreneur or have an employer where I can build a career. Right now, I have taken the hybrid approach where I do both but I’m curious to see how this evolves over time. Maybe it’s a story for another time.</p>
<p>Thanks for reading. If you’re a developer who is using cron jobs or any scheduled tasks then try <a target="_blank" href="https://cronhub.io/">Cronhub</a>. It’d mean a lot to me if you could share the word. Thank you!</p>
<p>_I also want to thank my wife <a target="_blank" href="https://www.instagram.com/_nyut/">Ani</a> for helping me to edit this article. ❤️_</p>
<p><em>Originally published at <a target="_blank" href="https://blog.cronhub.io/reflections-on-being-an-indie-hacker/">blog.cronhub.io</a> on December 5, 2018.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ The Ultimate Guide for Working with Side Projects ]]>
                </title>
                <description>
                    <![CDATA[ By Shem Magnezi Over the last ten years or so, I’ve made a habit of maintaining at least one side project at any given moment. Those side projects have served a couple of purposes: Learn new things: Trying out a new technology, a new field, or learn... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/the-ultimate-guide-for-side-projects-fdcc3531dfd5/</link>
                <guid isPermaLink="false">66c362aeef766eb77cd787e6</guid>
                
                    <category>
                        <![CDATA[ creativity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ side project ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 13 Jun 2018 11:30:08 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*F1vls0SXhW5kjgH3g7PTJw.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Shem Magnezi</p>
<p>Over the last ten years or so, I’ve made a habit of maintaining at least one side project at any given moment.</p>
<p>Those side projects have served a couple of purposes:</p>
<ol>
<li><strong>Learn new things:</strong> Trying out a new technology, a new field, or learning a new skill.</li>
<li><strong>Build something:</strong> It’s nice and fulfilling when you can show your product to others, or take a look at something and know you’re the one that created it.</li>
<li><strong>Refreshing:</strong> It’s a great way to get out of your comfort zone and do something different from your day job.</li>
</ol>
<p>I’ve listed these reasons in order of importance to me. Personally, most of the times my primary goal was to learn something new, but this can be different for you.</p>
<p>There are a lot of articles about why side projects are important. You can read about them <a target="_blank" href="https://medium.freecodecamp.org/why-side-projects-are-so-damn-important-239ba37209e">here</a> or <a target="_blank" href="https://medium.com/the-year-of-the-looking-glass/the-importance-of-side-projects-cf9f63954031">here</a>.</p>
<p>Here are some of my the side projects I’ve worked with:</p>
<ul>
<li><strong>3D house model:</strong> Building a 3D model of my house back in the day. I even thought about applying for a job at Pixar. So to increase my chances of getting a job as a software engineer there, I decided to learn how to work with <a target="_blank" href="https://www.autodesk.com/products/maya/overview">Maya</a>.</li>
<li><strong>Bill splitting app:</strong> I built a bill splitting app while exploring new fields I wanted to experience, like developing a user interface product. That’s why I created the <a target="_blank" href="https://play.google.com/store/apps/details?id=org.bill.splitter">Bill Splitter - Tip Calculator</a> app, which later helped me get hired by a mobile startup.</li>
<li><strong>Decorate my children’s room:</strong> When I was young I loved drawing, but I never had the time to do that when I grew up. So, I used the opportunity to learn how to draw with acrylic colors and sketch some stuff in our children’s room before my older daughter came into the world. Later, I did the same for our baby boy.</li>
<li><strong>Write a blog:</strong> To practice my English, I started to publish content regularly. I might have written stuff that <a target="_blank" href="https://medium.com/@shemag8/when-your-story-go-viral-8a1c84ad0fdb">went viral</a>, but my English is still not as good as I wish it was.</li>
</ul>
<p>Those are just a few representative examples to give you a sense of what a side project can look like and what you can achieve.</p>
<p>Some side projects can help you learn something new that may be relevant to your role (For example, Android, Kotlin, Gatsby.js, etc.). Other projects can give you an opportunity to touch aspects of your job that you don’t regularly have time for (For example, product, marketing, design, etc.). And some projects just let you do something entirely new (write a blog, give a talk).</p>
<p>After years of maintaining side projects, I understand that there are certain elements to every useful and effective side project. If in the past I could work 10+ hours a week on a side project, now, with two small children I have only around 4 hours to work on it.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/QPemsa4SEdjRDWIAagcrpsjMJ9tBLPmiWEdJ" alt="Image" width="800" height="535" loading="lazy"></p>
<p>So I want to share with you some principles to get the most out of your time. So let’s start:</p>
<h3 id="heading-1-decide-what-you-want-to-learn">1. Decide what you want to learn</h3>
<p>Before you start building something, think of what you want to achieve from the project. What do you want to learn? What do you want to practice?</p>
<p>This should be <strong>one thing</strong> and one thing only. Sure, you might get other things along the way as well, but focus on one thing at first.</p>
<p>Setting one <strong>single</strong> goal will later help you during the project with all kinds of decisions you’ll have to make. For example, should you write tests? If your primary goal is to practice responsive design, it may not be so relevant.</p>
<p>Remember, we want to get the most out of it in as little time as possible. We want to pay attention to what we’re working on, and more precisely, ignore what’s not relevant.</p>
<h3 id="heading-2-choose-a-product-that-you-would-use">2. Choose a product that you would use</h3>
<p>Next, we need to decide what we want to build. There are plenty of resources out there for side project ideas that you can create. Go over them to get a sense of the options you have and then ignore them altogether.</p>
<p>Your side project should be something you (theoretically) would use.</p>
<p>There are two reasons for working on a side project that you’d use:</p>
<ol>
<li>There are going to be ups and downs along the way. You will have days when you’ll be extremely excited about the project (especially at the start), but there will be times when you’ll need to find the energy to skip this new Netflix show and fix some weird bug in your project. If you aren’t really passionate about the project, it’ll be difficult to stick with it.</li>
<li>Most of the time you’ll be alone. You don’t have a product manager or boss to tell you what to do. You’ll need to figure out what to do on your own, and the best way to do that is to build something for yourself.</li>
</ol>
<h3 id="heading-3-not-too-hard-but-not-too-easy">3. Not too hard but not too easy</h3>
<p>Now when it comes to building a side project, it’s important to aim at the right level. In other words, don’t build something that’s too hard for you — but it also shouldn’t be too easy.</p>
<p>That way you’ll stay motivated during the project. Whenever you cross a hurdle, you’ll feel a sense of achievement. It’s called the Goldilocks Rule, and you can read more about it <a target="_blank" href="https://jamesclear.com/goldilocks-rule">here</a>.</p>
<h3 id="heading-4-break-it-into-a-small-deliverable-chunks">4. Break it into a small deliverable chunks</h3>
<p>Before you start doing the thing, you should sit and plan.</p>
<p>As boring and tedious as it sounds, building a rough roadmap for the side project will help you later. The roadmap you define should not be comprised of only significant milestones, but it should have very small checkpoints that you can achieve in every “sprint” (usually a week or so).</p>
<p>Here is an example for one that I can think of for a simple chat web app:</p>
<ul>
<li>Set up the environment</li>
<li>Make one client work locally</li>
<li>Sync data with the server</li>
<li>Make the remote client work</li>
<li>Styling</li>
<li>Deploy</li>
</ul>
<p>Here is another one for a blog post:</p>
<ul>
<li>Write an Outline</li>
<li>Write Section I</li>
<li>Write Section II</li>
<li>Write Section III</li>
<li>Introduction and summary</li>
<li>Add relevant links</li>
<li>Layout and image</li>
<li>Publish and share</li>
</ul>
<p>Again, developing a rough roadmap serves two main purposes:</p>
<ol>
<li><strong>Focus:</strong> As I mentioned before, you probably won’t have much time during the side project and every minute counts. You need to know exactly what you need to do and enter the zone as quickly as possible.</li>
<li><strong>Getting in and out of context:</strong> Since it might be days or even weeks since you last worked on the side project, it will be very hard for you to create a seamless continuing workflow. Continuing from the exact point you stopped, and understanding the context might take an hour or two. That’s why it’s better to close every session so you’ll have a fresh start in the next round.</li>
</ol>
<h3 id="heading-5-make-it-a-habit">5. Make it a habit</h3>
<p>Over the years, I’ve learned that consistency is the name of the game. It’s more important to work on a side project consistently, a few hours a day, for a couple of weeks than trying to squeeze it into a 12 hour marathon and never come back.</p>
<p>That’s why, personally, I find it beneficial to make the whole thing into a habit. I know exactly what I’m doing every Friday when the clock strikes 10 AM. I open my Mac and continue working from the last point I stopped last week.</p>
<p>Since I’m doing the project at home, and working from home is not something that I’m doing in my day job, I also put my self into a working state of mind — sitting in a specific place, with a particular setup.</p>
<p>That way I enter work mode easily without really thinking what should I do now or whether this is the right time or place to work on the side project.<br>I also try to keep that habit for as many straight weeks as possible, even for just an hour. I’ve realized that when I miss even one session, it’s a slippery road from there, and I tend to skip many more sessions for many weeks. You can read more about it <a target="_blank" href="https://jamesclear.com/stop-procrastinating-seinfeld-strategy">here</a>.</p>
<h3 id="heading-6-perfection-is-your-enemy">6. Perfection is your enemy.</h3>
<p>When the times goes by, it’ll be easy sometimes to go down the rabbit hole because you want to change some text font or waste your time chasing a small bug. <strong>Don’t let that happen!</strong></p>
<p>Remember that we want to achieve as much as we can in as little time possible, so always remind yourself what you’re here for and focus on the important stuff.</p>
<p><a target="_blank" href="https://medium.com/personal-growth/give-yourself-permission-to-screw-up-2c5f55e9b9e6">Done is better than perfect</a>, and you should keep the wheel spinning.</p>
<p>It’ll help you with the sense of accomplishment. The worst thing that can happen to you is to wake up after a 5 hour session to realize you just spent the whole day <a target="_blank" href="https://seths.blog/2005/03/dont_shave_that/">yak shaving</a> without really making any progress.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/0JBHCDTfNdXuXb-bY6H4lzbD7pXxoeEwRdWo" alt="Image" width="640" height="425" loading="lazy"></p>
<p>Side projects are an excellent opportunity to acquire new skills and gain experience with stuff that you don’t usually have the chance to do in your day-to-day job.</p>
<p>As with anything new, it’s probably easier to keep up when you’re still excited. The secret is how you maintain this feeling and make this excitement last even when you feel tired.</p>
<p>I hope these tips will motivate you to build great products and learn something new.</p>
<p><strong>If you enjoyed this post, please hit the “recommend” button below and share this story with your friends. I’ll also love hearing about any other tips that you may have or any cool side project that you’re currently working on. Thank you!</strong></p>
<p><em>Originally published at <a target="_blank" href="http://shem8.github.io/blog/2018/06/08/the-ultimate-guide-for-side-projects/">shem8.github.io</a> on June 8, 2018.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What I learned building three services in three months while working full-time ]]>
                </title>
                <description>
                    <![CDATA[ By taira To give you a bit of a context, I’ll start off with a little bit about me. I’m a self-taught developer currently working in Japan. I’m not special in any way, I don’t have any Internet celebrity friends, but I do love coding and have a posit... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-i-learned-building-three-services-in-three-months-while-working-full-time-5cf1bbf207d0/</link>
                <guid isPermaLink="false">66c365538e244e1678738620</guid>
                
                    <category>
                        <![CDATA[ csv ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ serverless ]]>
                    </category>
                
                    <category>
                        <![CDATA[ side project ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Vue.js ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 06 Jun 2018 17:23:02 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*gxHw9bxhEY-ezPeMC26kOQ.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By taira</p>
<p>To give you a bit of a context, I’ll start off with a little bit about me. I’m a self-taught developer currently working in Japan. I’m not special in any way, I don’t have any Internet celebrity friends, but I do love coding and have a positive can-do attitude.</p>
<p>At the end of last year, I decided to launch an experimental project, to try to create one service per month in 2018 in my spare time. I wanted to see if I, an Indie-hacker-wanna-be, could work something out. And here’s my story so far.</p>
<p>I’ll break my discussion of each service into these sections:</p>
<ul>
<li>How the idea came about</li>
<li>What the service is</li>
<li>Tech stack</li>
<li>How much $ I spent</li>
<li>Lessons learned</li>
</ul>
<h3 id="heading-january-scratch-my-own-itch">January: scratch my own itch.</h3>
<h4 id="heading-how-the-idea-came-about"><strong>How the idea came about</strong></h4>
<p>The first thing that came to my mind was to build something that I’d use heavily. In the worst case scenario, if my service attracted no one, it would still help me.</p>
<p>I started to look into my day-to-day flow. I realized that I spent quite a lot of time every day going to a variety of websites. So wouldn’t it be nice to have a web service to keep eyes on those sites for me, and send me updates via email? This would help me focus on the important things.</p>
<h4 id="heading-what-the-service-is"><strong>What the service is</strong></h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*tNX15eL8kX2r5Pz_8L1C7w.png" alt="Image" width="800" height="495" loading="lazy">
<em>KMPPP</em></p>
<p><a target="_blank" href="https://kmppp.com">Keep Me PPPosted</a> is what I ended up building. To make the service even more user-friendly, I built a <a target="_blank" href="https://chrome.google.com/webstore/detail/keep-me-ppposted/fnfioeoaippeenifnfhpblddioiaaeji?utm_source=medium">Chrome extension</a> as well, which allowed the user to subscribe to updates for any website right on the spot. You can check out the detailed user stories and design decisions on the <a target="_blank" href="https://kmppp.com/about?perspective=dev">About</a> page, and I’m in the progress of opening sourcing this project, here’s the Github <a target="_blank" href="https://github.com/slashbit/spider-less">repo</a> :)</p>
<h4 id="heading-tech-stack"><strong>Tech stack</strong></h4>
<p>I went with what I’m most comfortable with: front-end Vue.js and back-end AWS Lambda Serverless combo. I have been working with these in my current company on a daily basis for the last year and a half. Serverless fits my design very well, considering most parts of my service follow the event-sourcing pattern.</p>
<h4 id="heading-how-much-i-spent"><strong>How much I spent</strong></h4>
<p>$22 in total: $7 for the domain, $10 for the Sendgrid subscription (100,000 emails per month, I could use it for my other services as well), and a $5 one-time fee for publishing the extension on the Chrome web store. Everything else was covered by the AWS free tier plan.</p>
<h4 id="heading-lessons-learned"><strong>Lessons learned</strong></h4>
<p>It was definitely a valuable learning experience, since it was my very first full-scale web service. I posted it on Indie hackers and got a couple of users. But more importantly, I got the chance to talk directly with my users, working as a developer in the company.</p>
<p>In my job, I never get to talk with my end users to get instant feedback and have full control over the product that I build. That alone was worth the time and effort I put into it.</p>
<h3 id="heading-february-leverage-my-resources">February: leverage my resources.</h3>
<h4 id="heading-how-the-idea-came-about-1"><strong>How the idea came about</strong></h4>
<p>January was pretty tense, so I decided to take it easy. I thought about what else I could offer, besides my half box of chicken wings in my fridge. Something that others might need.</p>
<p>I’m in Japan, and working here might be something developers would be interested in. On top of that, I often get recruiters sending me job opportunities. Connecting developers and recruiters might be something I could work on.</p>
<h4 id="heading-what-the-service-is-1"><strong>What the service is</strong></h4>
<p>Instead of jumping right into coding, I created a mailing list using MailChimp. I started to share my experience in developer communities whenever I got the chance. It worked, and my mailing list grew to 500+ subscribers within a month.</p>
<p>In the meantime, whenever a recruiter reached out to me, I would casually mention my mailing list, and ask if I could share that with my subscribers.</p>
<h4 id="heading-how-much-i-spent-1"><strong>How much I spent</strong></h4>
<p>$0. The outgoing mails are covered by the same Sendgrid account, and the backend cron job which was built with AWS Lambda was again covered by my AWS free tier plan.</p>
<h4 id="heading-lesson-learned"><strong>Lesson learned</strong></h4>
<p>It seems that the less time I spent on coding, and the more time on promoting my service, the more potential users I’d get. Two weeks after I started, I got an email from one of my subscribers thanking me for what I did.</p>
<p>He hadn’t gotten a job using the service yet, he just wanted to thank me for sharing that information. That email just warmed my heart, knowing that what I’m doing actually helps others. That’s just the best feeling ever!</p>
<h3 id="heading-march-get-ideas-from-others">March: get ideas from others.</h3>
<h4 id="heading-how-the-idea-came-about-2"><strong>How the idea came about</strong></h4>
<p>At this point, I’d kinda run out of ideas. That’s when I started to talk with my non-developer friends. I tried to understand what their day to day life is like, and if there were pain points they have that I could help with.</p>
<p>As part of his job, one of my friends receives CSV files from clients, and then imports those files into an internal system. Often times, the files he receives does not match the requirements, are missing columns, or contain incompatible data types — and so on.</p>
<p>He often has to go back and ask his client to redo and re-send the files. He has tried using Excel to automate the process, but failed because most of the files were really big (300+ MB with 1M+ rows). That sure sounded like something that I could help with.</p>
<h4 id="heading-what-the-service-is-2"><strong>What the service is</strong></h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*vlk_6w7yVafO3dkFjFTDyA.png" alt="Image" width="800" height="431" loading="lazy"></p>
<p>I created <a target="_blank" href="https://csvlint.com">CSV Lint</a>, a CSV file validation service for businesses, that allows a user to create a schema easily for validating CSV files once the schema is created. It can be shared with others (who could use it without having an account). This means that once my friend created the schema, he could ask his clients to use it to validate their files before sending them to him.</p>
<h4 id="heading-tech-stack-1"><strong>Tech stack</strong></h4>
<p>Instead of AWS, I went with Google Cloud Platform, Firebase for hosting and database, and Google Cloud Functions to handle the backend logic. Once again, their free tier covered everything.</p>
<h4 id="heading-how-much-i-spent-2"><strong>How much I spent</strong></h4>
<p>$17 in total. I spent $7 for the domain — and it is a pretty awesome domain, I have to say, patting myself on the back. And another $10 on Udemy for a how to make demo video using a Keynote course. It was money well spent, another new skill learned. ?</p>
<h4 id="heading-lessons-learned-1"><strong>Lessons learned</strong></h4>
<p>Ideas that I come up with lead to nothing 9 out of 10 times. Talking with others, especially people outside my normal circle, often helps me get new ideas. However, the sad part is I don’t really have a lot of friends that I can talk to — looks like I’ll need to work on that as well. ?</p>
<h3 id="heading-wrapping-up">Wrapping up</h3>
<p>So, that’s my journey so far. None of my projects have succeeded big time, and I’m currently making $0 out of them. But each one of those services is helping people one way or another, and that puts a big smile on my face every day as I go to sleep. Also, they cost me close to nothing, there’s still some chicken wings left in my fridge. All good, all good.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to price your side-project ]]>
                </title>
                <description>
                    <![CDATA[ By Tigran Hakobyan Introduction If you had asked me a couple months ago if I could ever write an article about pricing, it probably would have made me laugh. Until a few months agao, I didn’t know anything about product pricing even though I’d launch... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-price-your-side-project-f4e0f86dbfde/</link>
                <guid isPermaLink="false">66c353f4b3da455a9c10dc21</guid>
                
                    <category>
                        <![CDATA[ SaaS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ side project ]]>
                    </category>
                
                    <category>
                        <![CDATA[ startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 29 May 2018 21:44:22 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*GvFlbBgvsCc4ofc3Wg2uPQ.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Tigran Hakobyan</p>
<h4 id="heading-introduction">Introduction</h4>
<p>If you had asked me a couple months ago if I could ever write an article about pricing, it probably would have made me laugh.</p>
<p>Until a few months agao, I didn’t know anything about product pricing even though <a target="_blank" href="https://blog.cronhub.io/my-first-saas-project/">I’d launched my first SaaS project</a>. The way I priced my product was by solely relying on my own intuition, as well as looking at how other similar SaaS products priced their services. I think this is what most beginners do.</p>
<p>Then why on earth write an article if I’m not an expert on pricing? Because I’ve come to realize that it’s totally okay to write about topics you’re not expert on.</p>
<p>Chris Coyier’s <a target="_blank" href="https://twitter.com/chriscoyier/status/925081793576837120?lang=en">tweet</a> inspired me to start writing about things I wish I could find on Google.</p>
<p>I started to use blogging as an excuse to learn a specific topic. This article is the fruit of that inspiration, and I’m happy to share it with you all.</p>
<p>There aren’t many articles on the pricing of side-projects, even though the number of revenue-generating side-projects is growing. If you go to <a target="_blank" href="http://www.indiehackers.com/">Indie Hackers</a> you can see many of them there, and many makers in the community wonder and ask questions about pricing as well.</p>
<p>In this article, I’ve summarized everything I’ve learned about side-project pricing. For the last two months or so, I’ve been reading about pricing and talking to people who are knowledgeable about pricing. It really helped me to understand the basics and create a more successful pricing model for an SaaS project.</p>
<p>I’ve used <a target="_blank" href="http://www.cronhub.io/">Cronhub</a> (my side-project) as an example to better explain my view and thinking process, because I believe it’s easier to digest new information using an example.</p>
<p>All my learnings here apply to SaaS products, but I think other types of businesses can benefit from them, too.</p>
<h3 id="heading-why-monetizing">Why monetizing?</h3>
<p>Monetizing your project from day one is very important. You can think of the “monetization” as a feature that you want your product to have. This feature significantly increases your product’s chances of success. Usually, you build features for your customers but this one is for you, to keep you more motivated to work on your project.</p>
<p>Your motivation and persistence are the key drivers to move your project forward. If you value something, it keeps your motivation high. What’s the easiest way to know whether your project is valuable? Asking people to pay for it. In my opinion, if you can find 10 people willing to pay for your project, you know you’ve got something that people are ready to pay for. After that, you can find the next 100, 1000, and even more. Finding the first customers is the hardest part.</p>
<p>Because finding the first customers is hard, it’s important to set the right pricing model in the beginning. Pricing is a living feature, and as any other feature, it requires multiple iterations until you get it right. It’s totally okay to make mistakes in the beginning. In fact, for Cronhub, I’m still not sure whether I’ve got it right or not. ?</p>
<p>However, I’m open to changing it if that’s what’s best, and that’s what matters.</p>
<p>If your intention is to build a business from your side-project, then you should charge for your project. It’s hard and more often demotivating to work for free. You value your time and others should, too.</p>
<h3 id="heading-pricing-strategies">Pricing strategies</h3>
<p>Since I’m not an expert in this field, I can’t give you very technical answers to pricing strategies. However, one thing I can do is to explain these strategies in a more human way with simple words.</p>
<p>Maybe that’s even better for you? ? Good. Let’s go for it.</p>
<p>The primary goal of a pricing strategy is to maximize your product’s revenue. According to a book that I’ve read, “<a target="_blank" href="https://www.priceintelligently.com/developing-your-saas-pricing-strategy">The anatomy of SaaS pricing strategy</a>” (which a great book btw), there are three pricing strategies for SaaS products.</p>
<h4 id="heading-cost-plus-pricing"><strong>Cost-Plus Pricing</strong></h4>
<p>This is the most basic pricing model you can think of, because it really makes sense. First, you calculate everything that costs money for your project and then add a healthy margin on top of it. The margin is your profit, and it represents the value that you give to your customers.</p>
<p>Let’s take Cronhub as an example. Cronhub is a cron job (or any scheduled task) monitoring tool. Monitors cost me money, because they send emails and SMSs to my users. Sending emails and SMSs is costly for my business. Having more monitors will increase my cost, and that’s why I priced Cronhub by the number of monitors. If you want more monitors, you should pay more.</p>
<p>I think most first-time side-project builders take this approach, because it’s simple and it covers the costs. The challenge with this pricing strategy is the unpredictability of the future. If your costs unexpectedly go up in the future your profit margin will drop and you will have to increase your prices.</p>
<h4 id="heading-competitor-based-pricing"><strong>Competitor-Based Pricing</strong></h4>
<p>As the name implies, this pricing strategy is influenced by your competitors. When you don’t know the initial value of your product, you usually turn to your competitors. You check their pricing tables so you can come up with yours. Well, I’ve done it for Cronhub, too.</p>
<p>If you’re launching a product in a new industry, it makes sense to check competitor pricing because you don’t want to go too high or too low. We’re always afraid of losing customers because of the big price difference from our competitors.</p>
<p>This pricing strategy is simple and less prone to be wrong. You can probably spend an hour or so researching competitors and come up with a pricing table that is similar to your competitors. This way your future customers won’t think that your product is too expensive or too cheap.</p>
<p>The one downside I see for this model is that you don’t want to be guided by your competitors from day one. You want your product to have its own personality, and it should be reflected in the pricing as well. Use competitor pricing as an inspiration and benchmark, but not your guiding strategy. For me, I see this strategy mostly used in combination with other pricing models.</p>
<h4 id="heading-value-based-pricing"><strong>Value-based pricing</strong></h4>
<p>This strategy is also called customer-based strategy and is solely based on your customer surveys and research. You want to know how much your customers are willing to pay for your product, and the only way to do so is to go and talk to them. Most companies use in-product surveys to collect this data.</p>
<p>There are many other benefits with this strategy, too. You get to know your customers and their needs, which helps you to build the best product. I think that by following this strategy, you’re most likely to come up with a better pricing table.</p>
<p>However, this model can only be applied after some initial iterations when you have a decent customer base. That’s why I believe that this model should be used as part of the last pricing iterations on your pricing table. It doesn’t mean that you should not talk to your customers from early days. Just set a goal for yourself that you eventually want to use this strategy to decide your pricing table.</p>
<p>You may want to re-apply this strategy often, because your customer base and the market needs keep changing.</p>
<h3 id="heading-break-down-your-customers-into-groups">Break down your customers into groups</h3>
<p>I strongly believe that breaking down your user base into groups is not only important for building a better product, but also for modeling your pricing. When you start thinking about pricing, you naturally measure it with only one dimension using just a single variable (like I used only the monitor count as a pricing measure for Cronhub).</p>
<p>However, you want to add another dimension based on your customer groups. There is a term called “Pricing Axes” which I first heard from <a target="_blank" href="https://twitter.com/joelgascoigne">Joel Gascoigne</a> in <a target="_blank" href="http://www.buffer.com/">our company</a> retreat this year in Singapore. These axes represent variables that you can use to better model your pricing. For instance, Cronhub has two pricing axes now after launching the team plan: the number of monitors and the team member count.</p>
<p>Breaking down my customers into groups helped me come up with the second axis for Cronhub. I have divided my potential customers into two groups, solo developers, and developer teams. It naturally makes sense that there should be different pricing for each of these groups, because their needs are different. Following this strategy, I’ve created two pricing plans for the team depending on the number of team members they need.</p>
<p>Of course, you can add more axes along the way, and it depends on your product. I think keeping your pricing axes around 2 - 3 makes sense at least in the beginning. Adding more variables may confuse your users, and you don’t want that.</p>
<h3 id="heading-applying-the-strategies-to-cronhub">Applying the strategies to Cronhub</h3>
<p>I want to also talk about how I’ve applied the above-mentioned pricing strategies for Cronhub and the pricing challenges I’ve faced when starting Cronhub.</p>
<p>Cronhub is a product for developers. I knew that the developer market is not an easy one to be in, but it didn’t stop me starting something I’m very passionate about. I really enjoy hanging out with developers and getting to know them better. For me, what mattered most was to launch a product that would serve this market.</p>
<p>Being a developer, I know how much developers love to use free tools. However, they’re also willing to pay for a product that provides significant value to their flow and productivity. I want Cronhub to be one of these tools. I launched Cronhub with only two plans, “Free” and “Developer ($7/month)”. I wanted to see whether this was something other developers would pay for or not.</p>
<p>My very first pricing model was mostly a symbolic strategy to validate my idea. I didn’t spend much time thinking about the pricing plan and followed Cost-Plus pricing strategy to use the monitor count as a divider between the free and the paid plan. In the first month, I got a couple of paid customers which made me revisit my pricing. That’s when I’ decided to invest a little bit of time to learn about this topic.</p>
<p>After two months of reading and seeking advice from product people, I’ve come up with these key learnings that I’ve applied to Cronhub.</p>
<h4 id="heading-dont-give-up-too-many-things-in-the-free-plan"><strong>Don’t give up too many things in the free plan</strong></h4>
<p>We tend to give up too much in the free plan, especially in the beginning. It’s quite possible that your product doesn’t offer any free plan. But for Cronhub, I wanted to use this channel as a way to acquire customers. Limit the free plan to the minimum.</p>
<h4 id="heading-know-your-customer-groups"><strong>Know your customer groups</strong></h4>
<p>Knowing your customers is important, because it helps you understand how much they can afford to pay for your product. Cronhub’s free and developer plans are intended only for solo developers who have projects on the side.</p>
<p>I now also have two team plans: “Startup $19/month” and “Business $49/month,” and they are intended for engineering teams. Engineering teams should collaborate together, so the team support is necessary. Team sizes are different and that’s why I’ve priced these plans by the number of team members.</p>
<h4 id="heading-think-about-your-conversion-flow"><strong>Think about your conversion flow</strong></h4>
<p>Picturing the customer conversion flow in your head is really helpful in understanding how pricing may work, and that’s why I’ve decided to offer a free plan.</p>
<p>I imagine the flow like this: a developer signs up for the free plan to use it for their personal projects. If they like my product very much, the chances are high that they will also promote my product within their company. It’s the word-of-mouth effect. Now someone from their company signs up to try the team plan, and there you have your potential lead who is very likely to become a customer.</p>
<h4 id="heading-your-pricing-is-probably-too-cheap"><strong>Your pricing is probably too cheap</strong></h4>
<p>Don’t be afraid to raise your prices. We tend to undervalue our product, because we are afraid that no one will pay if it’s expensive. This is true especially for people who don’t have experience with pricing.</p>
<p>Unfortunately, pricing your project very cheap may discredit the value your product provides. It can make people question the quality of your product. That’s why you want to find the <strong>sweet spot</strong> where it’s not cheap and also not expensive.</p>
<h4 id="heading-pricing-will-affect-your-long-term-productivity"><strong>Pricing will affect your long-term productivity</strong></h4>
<p>If you’re a single person team, then you probably do the product support as well. Higher paying customers tend to create fewer support requests compared to the customers who have signed up for the lowest pricing plan.</p>
<p>Think about your time and how you want to spend it. If you’re planning to stay a one-person team, then this will make a huge difference.</p>
<p>For Cronhub, eventually, I’m thinking I’ll only have two plans: a free plan and a business plan. The free plan will be for developers and the business plan for small and medium-sized engineering teams. Instead of having many low paying customers (and spending many hours answering support questions), I would prefer having a small number of high paying customers (and enjoy building a product).</p>
<p>Thank you very much for your time. I hope you’ve enjoyed reading this article and learned a little bit about side-project pricing. Writing is what I enjoy doing most after programming, and I hope to write more articles in the future. If you don’t want to miss any of my writings, <a target="_blank" href="http://www.twitter.com/@tiggreen">follow me on Twitter.</a> Feel free to send me a message or ask questions below!</p>
<p>Finally, If you’re a developer or part of a developer team that uses cron jobs, you can try <a target="_blank" href="http://www.cronhub.io/">Cronhub</a> for free to monitor all your cron jobs in a beautiful dashboard.</p>
<p><em>Originally published at <a target="_blank" href="https://blog.cronhub.io/how-i-priced-my-side-project/">blog.cronhub.io</a> on May 27, 2018.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What to do in the first 100 days after launching your side project ]]>
                </title>
                <description>
                    <![CDATA[ By Tigran Hakobyan It’s been almost three weeks since I launched my first ever SaaS project, Cronhub. I wrote a very personal story on how I shipped Cronhub while working full-time. Today, I’m writing another personal story on how I plan to grow my S... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/things-to-do-in-the-first-100-days-after-launching-your-side-project-f572f8efa739/</link>
                <guid isPermaLink="false">66c36308af2b7c40e7d7eb42</guid>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ side project ]]>
                    </category>
                
                    <category>
                        <![CDATA[ startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Thu, 12 Apr 2018 12:26:51 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/0*POyTiBNEahqK_TES.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Tigran Hakobyan</p>
<p>It’s been almost three weeks since I launched my first ever SaaS project, <a target="_blank" href="https://cronhub.io/">Cronhub</a>. I wrote a <a target="_blank" href="https://www.indiehackers.com/@tigran/how-i-shipped-my-first-saas-side-project-while-working-full-time-42862e847b">very personal story</a> on how I shipped Cronhub while working full-time.</p>
<p>Today, I’m writing another personal story on how I plan to grow my SaaS side-project to acquire more customers in next 100 days.</p>
<p>The goal of this article is to share and be transparent about my thinking process. If you’re anyone like me who really wants to build a profitable side-business, then I also hope to inspire you with this article to talk and share more about your product in the comments. That’s the only way we can help each other to achieve our goals.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/BNBQLCf1hiDHFkTZ6tEMPQQ5gQbppt0HZGhp" alt="Image" width="800" height="704" loading="lazy">
<em>I’ve been in Bali for the last couple of weeks and am loving it here! :)</em></p>
<h3 id="heading-introduction">Introduction</h3>
<p>My name is Tigran and I’m a software engineer at <a target="_blank" href="https://www.indiehackers.com/@tigran/www.buffer.com">Buffer</a>. Programming is not only what I do for living, but also one of my favorite hobbies. I love building side-projects.</p>
<p>For the last year or so, I’ve started to strongly think about where I want to be in a couple of years. I’ve decided that I want to build a profitable side-business as a source of income. This business will also help me learn valuable multidisciplinary life skills which I wouldn’t have learned otherwise.</p>
<p>To turn my idea into reality, I launched my first SaaS side project a couple of weeks ago.</p>
<p>I’ve noticed that there are many articles about the launch of a product and how makers approach the launch day. That’s great, but I felt that there weren’t many stories about what comes after the launch.</p>
<p>It’s probably because it’s hard for founders to share with the world the small disappointment that comes after the launch day. This is very natural, and I don’t blame anyone. To see the sessions or users count drop is not pleasant, and is hard to share with others.</p>
<p><strong>In this article, I want to share how I plan to grow my new SaaS project and acquire more customers after the launch. Mainly, I want to share my strategies and thinking process with you, with the intent of learning and getting feedback.</strong></p>
<h3 id="heading-where-im-at-now">Where I’m at now</h3>
<p>I thought that sharing first where I am right now will give you’ll some context. Let’s do a quick rundown.</p>
<p><a target="_blank" href="https://www.producthunt.com/posts/cronhub">I launched Cronhub</a> on March 20, 2018, and it has been a few weeks now. Cronhub became the #2 product of the day on Product Hunt with more than 800 upvotes. Seeing people upvote or comment on your project is a great feeling. Feedback from people was mostly encouraging.</p>
<p>On the day after the launch, I got my first and only paid user. To see the email from Stripe notifying me that I have a new paid customer was the best feeling. I’d not change that feeling with anything.</p>
<p>For the last few weeks, I saw the number of sessions drop significantly after the launch day. To be honest, it wasn’t a big surprise to me since I knew exactly what to expect from the <a target="_blank" href="https://www.producthunt.com/posts/booknshelf">previous side-project launches</a>.</p>
<p>Here is the screenshot of the Cronhub sessions for the last 2 weeks. The distribution below is by the hour. I’ve had 8,289 sessions in total so far.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/J1Ob7OAa0wQhvWp9ZH3z-Ig4d6AOxZ77GIoZ" alt="Image" width="800" height="409" loading="lazy">
<em>GA Cronhub numbers for the last 2 weeks</em></p>
<p>Two weeks after the launch, I have 1 paid user, about 450 sign-ups, and 125 active cronjob monitors on Cronhub. I consider the monitor active if it has at least one ping. My monthly recurring revenue (MRR) is $7 and I currently spend around $40 per month to cover all Cronhub expenses. I expect the expense number to grow a little bit in the future.</p>
<p>Now that we know where I stand, I’ll go ahead and share what comes next for Cronhub and how I plan to acquire more paid users in the next 100 days.</p>
<h3 id="heading-whats-my-goal">What’s my goal?</h3>
<p>My goal is to find a product market fit. What does it mean to me? It means to acquire at least 10 paid customers on the “Developer” plan and one customer on the “Team” plan (I’ll be launching the team plan next month).</p>
<p>These numbers are random but also important. The reason I’m so focused on these numbers is that I believe nothing endorses the value of the product more than paid users. If I have 10 - 15 paid customers, I can tell myself that I’ve found or I’m very close to finding product-market fit.</p>
<p>With my goal and these numbers, I want to measure the success of the decisions I make around Cronhub. My product decision domain is very broad and it’s not tied only to what features I should build next. I also ask myself how I should market Cronhub or who my ideal customer is.</p>
<p>If you ask me who my targets should be, I wouldn’t know the exact answer. Currently, I’m targeting individual engineers and engineering teams. That may be right, but I have to be certain. I want to eventually find the niche market that Cronhub belongs to.</p>
<p>If you’re an engineer like I am, you know that building is most likely the easiest part, and what comes next is the hardest. I’m so pumped to challenge myself, though.</p>
<p>Now that I have set my goal, I want to talk about the steps I’ll take to achieve it. Of course, as with any other goal, it’s possible that I won’t achieve it. However, what drives me is really the process of getting there.</p>
<p>During the next 100 days, I’ll learn important lessons from all of the good and bad decisions I make, and I promised myself I’d write them down in my <a target="_blank" href="https://www.google.co.id/search?q=decision+journal&amp;oq=decision+journal&amp;aqs=chrome..69i57j0l5.4370j1j1&amp;sourceid=chrome&amp;ie=UTF-8">decision journal</a>. The decision journal helps me to reflect on my decisions so I can become a better decision maker in the future.</p>
<h3 id="heading-my-strategy">My strategy</h3>
<h4 id="heading-product-cycles">Product cycles</h4>
<p>I’m a product engineer, and this step is probably the one I’m most qualified for. Spending time to build new features or even fix bugs is fun compared to other things I have to do.</p>
<p>However, I know it’s a myth that if you build it people will come. I don’t believe in that.</p>
<p>Most engineers tend to measure their productivity based on how much they ship. I’m afraid I’m not an exception here, however, I try to change the way I think about my productivity. It doesn’t always have to be materialistic. Sometimes the time you spend thinking about a particular product feature is the best time spent.</p>
<p>Before jumping into coding and building a new feature, I try to spend enough time answering the following questions.</p>
<ul>
<li>Is this feature really needed?</li>
<li>If the answer is yes then I ask another question: is this the most important thing I should be working on/building right now?</li>
</ul>
<p>Usually, these two questions are enough to decide whether a new feature will make it or not. Prioritizing and time management are likely the most important skills for solo developers. As a single founder or maker, we don’t have too many resources to rely on so we do everything by ourselves. That’s where time and prioritization come into play.</p>
<p>Most of the Cronhub product ideas come from user feedback as well as my own intuition. It’s a mix of these two. For user feedback, I have a dedicated <a target="_blank" href="http://paper.dropbox.com/">Dropbox Paper</a> where I collect all the Cronhub feedback I’ve received from different people and users. This is how I’ve organized it so far.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/wBxES-7-aOtOjlbPy7Lg3whUnOP0ogLtn15K" alt="Image" width="800" height="629" loading="lazy">
<em>I collect all user feedback in a dropbox paper</em></p>
<p>I have to keep talking to my users and hear their feedback. Until I have many customers, I’m going to keep trusting my intuition, too. Once I have enough customers I’ll probably start creating a comprehensive data tracking mechanism for Cronhub to better understand how my customers use my product. With only a few data points, I don’t think it’s worth focussing on data-driven decisions just yet.</p>
<p>I keep most of my ideas in the Trello Backlog column, and then prioritize them into product cycles. At Buffer, we use 6-week product cycles and I find them very valuable. As a team, we get a lot of things done within 6 weeks.</p>
<p>I’ve decided to do something very similar with Cronhub as well. The difference is that my cycles are a month long and I have one week in between cycles to prioritize the most important tasks for the next cycle.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/E6aICKZDlmIF-mh6lKFM4kc74uiMU3n8Zsa8" alt="Image" width="800" height="433" loading="lazy"></p>
<p>If a single feature request comes up many times, it gets more attention from me. For instance, “<a target="_blank" href="https://www.indiehackers.com/@tigran/cronhub.io/features">Webhook Integration</a>” was one of them and I just shipped it. Every feature is broken down into very small tasks. If I need to spend more than a day on a single task, then the task is not small enough. Keeping my tasks smaller has been key to seeing continuous progress.</p>
<p>For the next 100 days, I plan to finish three product cycles. I hope after three months that the improvements on Cronhub will be very visible. What features do I have in mind for the next three cycles?</p>
<ul>
<li>I want to launch the <a target="_blank" href="https://cronhub.io/pricing">new “Team” plan</a>. It will be $49 per month and it will include unlimited team members with up to 100 monitors. I can start targeting teams, too, when I have this plan available. This plan will most likely have a “Free Trial.” I know my ideal customers are teams and not individual developers. Also, I think selling a product to businesses is a lot easier than to individual consumers.</li>
<li>I want to improve the weekly report I send to all Cronhub users. Weekly reports are super important, and I want to make it more valuable to my users.</li>
<li>Product improvements and better documentation. As a developer, I really appreciate the importance of a well-documented product. I envision Cronhub docs to also include educational materials.</li>
</ul>
<p>I think all these will keep me busy for the next couple of months considering that I also have a full-time job that I love!</p>
<h4 id="heading-content-marketing">Content marketing</h4>
<p>I know I have to market Cronhub, no questions asked. However, I’m not sure how I should market it and what the best marketing strategy is for Cronhub. I’ve read Gabriel Weinberg’s “<a target="_blank" href="https://medium.com/@yegg/the-19-channels-you-can-use-to-get-traction-93c762d19339">The 19 Channels You Can Use to Get Traction</a>” article (which is great, btw) and it helped me to find a temporary answer.</p>
<p><strong>I want to focus on the marketing channel I personally enjoy and my working competitors dismiss.</strong></p>
<p>I think that would be content marketing. None of my competitors are focused on content marketing, and I personally enjoy writing articles and educational materials. After all, I come from a family of teachers.</p>
<p>But first, I have to define what content marketing means for Cronhub. Most of my users are developers, so I roughly know that my target audiences are developers and developer teams. I should write content that acquires more developer visitors. I’ve created the following flow to better visualize my marketing strategy.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/5rTOzYNZA3XlD9DEoYprV2jIUInooGaKvktk" alt="Image" width="627" height="296" loading="lazy"></p>
<p>According to my Google Analytics numbers, 15% of my visitors sign up for Cronhub. I don’t know what the industry average is but I feel 15% is not bad. Cronhub is a very niche product, so I don’t ever expect a very high number of signups anyway.</p>
<p>If my visitor/sign up rate is not low, then my main challenge is to convert already signed up users to paid customers, right? For that, I have to work on the product side. I know that awareness and acquisition are all marketing efforts, but activation is all about the product.</p>
<p>My marketing goal is to bring visitors that are more likely to convert to paid customers. Since I don’t know who exactly those potential customers are, I want to bring more visitors so I can put the conversions into buckets by visitor types. This way I can differentiate the type of visitors that convert and that will probably be my niche target audience.</p>
<p>When I have a better idea of my target audience, I can research to find out what really interests them. I’ll write blogs posts and educational articles on the topics that interest them.</p>
<p>But for now, I’m going to focus on the broad developer market and write content for that audience. This article is part of that strategy.</p>
<p>Since I’m a developer, it’s not hard for me to guess what type of content will attract other developers. Building a product for the market that you’re part of is really invaluable. I built Cronhub to scratch my own itch and because I believed that there have to be other developers facing the same problem. I hope I’m right.</p>
<p>Another reason why I think content marketing is a better fit for Cronhub is that I strongly believe that investing in writing quality content now will pay off in the long run, especially for SEO. I’ll probably write a different article just about SEO, but in a nutshell, I’m planning to get better at the SEO game by hosting my own blog on Cronhub and constantly producing quality content for developers.</p>
<p>Apart from content marketing I also want to share a quick hack I’ve done on Twitter to bring more visitors to Cronhub. Most of my Twitter followers are tech people, so it fits well to use my existing audience as well.</p>
<p>I love Twitter, and I use it to occasionally tweet updates on Cronhub. Some of my past tweets got a lot of attention recently. Those tweets most often earn profile clicks. Since I know that, I’ve recently intentionally added a direct cronhub.io link to my Twitter profile so people checking out my profile are more likely to click on that link.</p>
<p>Believe it or not, it really worked. The days when I have high tweet engagement I have relatively more visitors to Cronhub. It has become an essential part of my social media marketing, plus I really enjoy connecting with my followers.</p>
<p>One example is my most recent tweet that earned high impressions (and thus many profile clicks). After checking GA, I saw I had more visitors for that day.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/w5jy9sLyKdOsZ-mKi3j7c1INDYGoBr4R9k1i" alt="Image" width="800" height="223" loading="lazy">
_[https://twitter.com/tiggreen/status/981004806457245697](https://twitter.com/tiggreen/status/981004806457245697" rel="noopener" target="<em>blank" title=")</em></p>
<p>To sum up, marketing is hard for me and it’s okay. I know it’s hard because it’s new to me and I don’t have the necessary skillset just yet. However, I’m really interested in learning about different marketing strategies and understanding what other marketing channels may work for Cronhub.</p>
<p>Content marketing is very time consuming, especially for a single person, so I have to consider different channels as well at some point. However, as I said, content marketing is very natural to me because I really enjoy writing!</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>Now that I’ve shared my goals and strategies with you, the next step for me is to accomplish them. And this has to be without burning myself out or working myself into exhaustion. Since I have a full-time job, I plan to work 1 - 2 hours every day on Cronhub. Rest is very important to me, so spending long nights or working long hours on the weekends is not an option.</p>
<p>I’ll be dividing my time between product and content marketing. I’m so excited for my journey, and can’t wait to share more in the future. Expect more articles like this from me.</p>
<p>Thank you very much for reading. I hope you enjoyed reading my story and learned at least one thing from it. Even if you didn’t, maybe it inspired you to build and market your side project.</p>
<p>If you’re building a product and this story resonates with you, I’d love to hear from you. What have you done in the first 100 days after the launch of your product? Please feel free to comment with your questions. You can reach out to me on <a target="_blank" href="https://twitter.com/@tiggreen">Twitter</a> or email me at tigran[at]<a target="_blank" href="http://cronhub.io/">cronhub.io</a>.</p>
<p>If you’re a developer or part of a developer team that uses cronjobs, you can try <a target="_blank" href="http://www.cronhub.io/">Cronhub</a> for free. Use coupon code “freecodecamp” to get a 20% discount if you upgrade to the “Developer” plan.</p>
<p><em>Originally published at <a target="_blank" href="https://www.indiehackers.com/@tigran/the-next-100-days-after-my-saas-side-project-launch-or-how-i-plan-to-acquire-my-first-customers-5d84d18eab">www.indiehackers.com</a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
