<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Tilo</title>
    <description>The latest articles on Forem by Tilo (@tilomitra).</description>
    <link>https://forem.com/tilomitra</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F140950%2Fe0526802-cb23-47a4-b0f3-3527c2f3b228.jpg</url>
      <title>Forem: Tilo</title>
      <link>https://forem.com/tilomitra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tilomitra"/>
    <language>en</language>
    <item>
      <title>How I aggregated a million datapoints and built a travel website</title>
      <dc:creator>Tilo</dc:creator>
      <pubDate>Tue, 03 Mar 2020 19:24:11 +0000</pubDate>
      <link>https://forem.com/tilomitra/how-i-aggregated-a-million-datapoints-and-built-a-travel-website-4726</link>
      <guid>https://forem.com/tilomitra/how-i-aggregated-a-million-datapoints-and-built-a-travel-website-4726</guid>
      <description>&lt;p&gt;It was December 2019. The gloomy weather and frigid temperatures in Toronto made me crave for a warm getaway. As I navigated through search results, I realized I had dozens of tabs open to answer a pretty simple question: "What are some warm places to travel to in December with cheap flights?"&lt;/p&gt;

&lt;p&gt;Being a software engineer, I realized that all I was doing was trying to apply a filter to a broad set of travel results. What if I had a lot of data on places in the world? Can I build some type of filtering to find cool places?&lt;/p&gt;

&lt;p&gt;I dove in over the next week to see how much data I could find on the internet to build a travel website that would help me find interesting destinations.&lt;/p&gt;

&lt;p&gt;60 days later, &lt;a href="https://www.visabug.com"&gt;Visabug&lt;/a&gt; was born and soft-launched on Reddit where it went to #1 on the &lt;a href="https://www.reddit.com/r/SideProject/comments/f6e2bq/i_built_a_free_website_that_tells_you_where_you/"&gt;sideproject&lt;/a&gt; and &lt;a href="https://www.reddit.com/r/reactjs/comments/f90oi9/i_built_this_website_that_suggests_places_that/"&gt;reactjs&lt;/a&gt; subreddits. 🎉&lt;/p&gt;

&lt;p&gt;My goals for Visabug were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Build something that is genuinely useful:&lt;/strong&gt; I didn't want to just build something because it was technically interesting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make data freely available to help people make better decisions:&lt;/strong&gt; Travel opens our eyes to other cultures and makes us more tolerant. I didn't want to hide data behind paywalls.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Country Information
&lt;/h2&gt;

&lt;p&gt;The first piece of data that I was interested in was country information. I wanted to answer the question, &lt;em&gt;"What countries can I travel to easily, and how much would it cost on average to fly there?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;To start, &lt;a href="https://github.com/samayo/country-json"&gt;I got a list&lt;/a&gt; of all the countries in the world. Then, I used &lt;a href="https://data.worldbank.org/"&gt;data from the World Bank&lt;/a&gt;, along with Google's Geocoding API to get common data such as location, population, capitals, languages, and more.&lt;/p&gt;

&lt;p&gt;This was my starting point. I created a JSON file for each country, so I had 238 JSON files titled as &lt;code&gt;canada.json&lt;/code&gt;, &lt;code&gt;india.json&lt;/code&gt;, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7RBeCzp9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i2.wp.com/tilomitra.com/wp-content/uploads/2020/03/image-2.png%3Fw%3D566" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7RBeCzp9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i2.wp.com/tilomitra.com/wp-content/uploads/2020/03/image-2.png%3Fw%3D566" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With a little bit of extra work, I was able to also find data on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Related countries and nearby countries&lt;/li&gt;
&lt;li&gt;Regions and Continents&lt;/li&gt;
&lt;li&gt;Population&lt;/li&gt;
&lt;li&gt;Weather patterns (Temperature and Rainfall)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Visa and Travel Information
&lt;/h2&gt;

&lt;p&gt;Next, I wanted to get tourist visa data. If I were a citizen of a country and wanted to travel to another country, what kind of visa would I need?&lt;br&gt;
I tried looking around for APIs but there weren't any that were easily available. &lt;/p&gt;

&lt;p&gt;I turned towards Google Search. It turns out when you search this on Google, you get a nice card with some useful information:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KCSl_RrR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i2.wp.com/tilomitra.com/wp-content/uploads/2020/03/image.png%3Fw%3D1354" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KCSl_RrR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i2.wp.com/tilomitra.com/wp-content/uploads/2020/03/image.png%3Fw%3D1354" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I wrote a script that created an array of Google search queries with each country permutation. It looked something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const visaSearchSet = [ 
  "usa visa requirement for canada citizens", 
  "brazil visa requirement for algeria citizens" 
  ...
]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Then, I wrote a &lt;a href="https://github.com/puppeteer/puppeteer"&gt;Puppeteer&lt;/a&gt; script that queried Google and scraped the result set from the card. This was piped into another JavaScript function that parsed the string into a data structure. The result was something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"united-kingdom": { 
  "nepal": { 
    visaCategory: "required", 
    validity: "three to six months from date of issue", 
    embassy: "12A, Kensington Palace Gardens, London, 48 4KU" 
  }, 
  ...
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;This was my initial prototype. Since then, I've improved the algorithm to double check the visa requirements against some other sites, so a single wrong result doesn't give me incorrect data.&lt;/p&gt;

&lt;p&gt;After fetching visa information, I wanted to also fetch travel advisories. A country may be easy to get to, but you may not want to go there because its dangerous!&lt;/p&gt;

&lt;p&gt;Luckily, there's a site called &lt;a href="https://www.smartraveller.gov.au/destinations/asia/india"&gt;SmartTraveller&lt;/a&gt; that makes it really easy to get travel advisories, customs information, immunizations and more.&lt;/p&gt;

&lt;p&gt;Currently, Visabug is able to track:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visa requirements between any two countries in the world&lt;/li&gt;
&lt;li&gt;Classifies visas as "required", "not required", "e-visas", and "visas-being-refused"&lt;/li&gt;
&lt;li&gt;Support for Schengen area visas&lt;/li&gt;
&lt;li&gt;Embassy locations&lt;/li&gt;
&lt;li&gt;Travel Advisories&lt;/li&gt;
&lt;li&gt;Customs Information (coming soon)&lt;/li&gt;
&lt;li&gt;Immunizations (coming soon)&lt;/li&gt;
&lt;li&gt;Multi-country visas (coming soon)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6pyybiqy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i0.wp.com/p59.f1.n0.cdn.getcloudapp.com/items/Z4u5kNJK/Screen%2BShot%2B2020-03-02%2Bat%2B12.00.00%2BPM.png%3Fzoom%3D2%26w%3D700%26ssl%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6pyybiqy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i0.wp.com/p59.f1.n0.cdn.getcloudapp.com/items/Z4u5kNJK/Screen%2BShot%2B2020-03-02%2Bat%2B12.00.00%2BPM.png%3Fzoom%3D2%26w%3D700%26ssl%3D1" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting City Data
&lt;/h2&gt;

&lt;p&gt;Next, I wanted to get city data. To do this, I had to first figure out the most popular cities in the world. I couldn't just use population because many popular cities are relatively small. I used &lt;a href="https://github.com/lutangar/cities.json"&gt;this free dataset&lt;/a&gt; for my initial set of cities. As a bonus, that dataset let me map cities to their parent country.&lt;/p&gt;

&lt;p&gt;Next, I wanted to collect some useful metrics about these cities.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What is the city known for?&lt;/strong&gt; To solve this, I used Tripadvisor to get the most popular things to do, and classified them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What is the cost of living?&lt;/strong&gt; The Cost of Living index from Numbeo helped provide relative costs per city.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is Uber available?&lt;/strong&gt; Uber's website has a list of all the cities in which they operate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How safe is it?&lt;/strong&gt; Numbeo also has a safe cities index!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I collect a lot more data than the list above, but that should give you an idea of how it works. By piecing together data from different providers, I was able to understand the unique characteristics of all cities. &lt;/p&gt;

&lt;p&gt;Currently, I also collect:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Average Flight Prices between two countries&lt;/li&gt;
&lt;li&gt;Cost of Meals&lt;/li&gt;
&lt;li&gt;Internet Speeds&lt;/li&gt;
&lt;li&gt;Popular SIM Providers&lt;/li&gt;
&lt;li&gt;Whether water is safe to drink&lt;/li&gt;
&lt;li&gt;Air Quality (coming soon 🤫)&lt;/li&gt;
&lt;li&gt;Popular Tourist Attractions (coming soon 🤫)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creating Filters
&lt;/h2&gt;

&lt;p&gt;In Visabug, you are able to use filters to find unique destinations. Here's a screenshot of the filter box.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Eg9R8RHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i0.wp.com/tilomitra.com/wp-content/uploads/2020/03/image-1.png%3Fzoom%3D2%26fit%3D659%252C940" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Eg9R8RHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i0.wp.com/tilomitra.com/wp-content/uploads/2020/03/image-1.png%3Fzoom%3D2%26fit%3D659%252C940" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apart from the Visa Requirement filters, the filtering actually works on the city-level, not at a country-level. So when you apply a filter like "Sand and Beaches", Visabug finds all cities that it thinks are close to beaches, and bubbles the result up to the country-level.&lt;/p&gt;

&lt;p&gt;There is some averaging that is done to ensure that countries are not marked as false-positives. For example, you wouldn't say Canada is close to sand and beaches, but Toronto is. I have written some code to verify that a single city doesn't influence the overall country's classification.&lt;/p&gt;

&lt;p&gt;The reason I went with this approach is that I like the information to be living at a more granular level. It would let me do city-level searching in the future.I like the information to be living at a more granular level. It would let me do city-level searching in the future.&lt;/p&gt;

&lt;p&gt;This is why you can see city level information in Visabug. Cities are what actually power most of the non-visa data, and it's one of the areas of the site I want to improve.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PZXG67t6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i1.wp.com/tilomitra.com/wp-content/uploads/2020/03/image-3.png%3Fw%3D1278" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PZXG67t6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i1.wp.com/tilomitra.com/wp-content/uploads/2020/03/image-3.png%3Fw%3D1278" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Images
&lt;/h2&gt;

&lt;p&gt;I'm really happy with how the Visabug User Interface looks, and a large part of that is due to the imagery. It just makes me want to travel! &lt;/p&gt;

&lt;p&gt;Images were very easy to get. I signed up for an &lt;a href="https://unsplash.com/developers"&gt;Unsplash Developer Account&lt;/a&gt; that gave me access to 50 requests/hour through the Unsplash API. 5 hours later, I had images for all 238 countries in the world.&lt;br&gt;
To determine what image to show for a country, I ordered Unsplash's images by likes and picked the highest-liked one.&lt;/p&gt;

&lt;p&gt;Recently, I &lt;a href="https://twitter.com/tilomitra/status/1225533053667282945"&gt;was approved&lt;/a&gt; to get an Unsplash Partner Account, which now gets me 5000 requests/hour. I intend to use this to have better images for Cities in the near future.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RWIVDTz8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i1.wp.com/tilomitra.com/wp-content/uploads/2020/03/image-4.png%3Fw%3D814" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RWIVDTz8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i1.wp.com/tilomitra.com/wp-content/uploads/2020/03/image-4.png%3Fw%3D814" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All image data is stored as JSON files, so I don't have to make any API queries in real-time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Storing the data
&lt;/h2&gt;

&lt;p&gt;The funny thing is that I wanted to build Visabug out really quickly, to see if there was any interest in the product. To speed things up, I actually launched the site without a database. 😅&lt;/p&gt;

&lt;p&gt;Currently, &lt;a href="https://www.visabug.com"&gt;Visabug&lt;/a&gt; has 2 JSON files: one with all country data, and another with all the city data. Together, they are about 300 MB. When the application starts up, this data is loaded into memory. This isn't ideal but has worked up until now.&lt;/p&gt;

&lt;p&gt;Of course, I can't send 300MB of data to the client, so Visabug has a NodeJS server that does processing on this data and only sends back what the client wants. Everything is server-rendered and I don't have a public API yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happened next?
&lt;/h2&gt;

&lt;p&gt;I had acquired all this data by January, and spent the next month actually building out the product. This is what Visabug looked like in January.&lt;/p&gt;


&lt;blockquote class="twitter-tweet"&gt;
&lt;p&gt;Here’s what Visabug looked like 60 days ago. I have spent about 1hr on it everyday since then and it has come a long way!&lt;br&gt;&lt;br&gt;Persistence and consistency are underrated. &lt;a href="https://t.co/Lsy8sbqc2e"&gt;&lt;/a&gt;&lt;a href="https://t.co/Lsy8sbqc2e"&gt;https://t.co/Lsy8sbqc2e&lt;/a&gt;&lt;/p&gt;— Tilo (&lt;a class="comment-mentioned-user" href="https://dev.to/tilomitra"&gt;@tilomitra&lt;/a&gt;
) &lt;a href="https://twitter.com/tilomitra/status/1233817209706831872?ref_src=twsrc%5Etfw"&gt;February 29, 2020&lt;/a&gt;
&lt;/blockquote&gt; 

&lt;p&gt;I am going to write about how I designed the website in the next post. I received help from Nathan Barry who generously helped me shape my Home Page messaging, and Chris Messina gave me many useful product tips.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/tilomitra"&gt;Follow me on Twitter&lt;/a&gt; or here on Dev.to if you want to be notified when that post comes out. Of course, please do &lt;a href="https://visabug.com"&gt;check out Visabug&lt;/a&gt; and let me know what you think!&lt;/p&gt;

</description>
      <category>startup</category>
      <category>javascript</category>
      <category>indiehacker</category>
      <category>react</category>
    </item>
    <item>
      <title>How my JavaScript App went to #1 on Reddit (and how yours can too)</title>
      <dc:creator>Tilo</dc:creator>
      <pubDate>Tue, 25 Feb 2020 16:06:10 +0000</pubDate>
      <link>https://forem.com/tilomitra/how-i-got-to-1-on-reddit-and-drove-10k-visitors-and-how-you-can-too-15fd</link>
      <guid>https://forem.com/tilomitra/how-i-got-to-1-on-reddit-and-drove-10k-visitors-and-how-you-can-too-15fd</guid>
      <description>&lt;p&gt;Working on a side-project can be lonely. It helps to get validation from others that what you are doing is genuinely useful. Does that sound familiar? It’s the same boat I was in (and still am, somedays). I've been building a free web application called &lt;a href="https://www.visabug.com"&gt;Visabug&lt;/a&gt; which helps people find unique destinations given their passports and travel interests.&lt;/p&gt;

&lt;p&gt;In this post, I’ll highlight my journey over the last week where I went from no product validation to &lt;a href="https://www.reddit.com/r/reactjs/comments/f90oi9/i_built_this_website_that_suggests_places_that/fip7fb5?utm_source=share&amp;amp;utm_medium=web2x"&gt;people thanking me for building my product&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;These comments of validation from strangers really help to motivate and to guide future product development.&lt;/p&gt;

&lt;p&gt;I have found that Reddit is a great website for mini-launches, as people cluster in groups (subreddits) related to one topic. My product is in the travel space, but it’s also a side project and built using React. I chose to target the sideproject (46k members) and reactjs (130k members) subreddits.&lt;/p&gt;

&lt;p&gt;My general process was simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💻 Show the site&lt;/li&gt;
&lt;li&gt;😃 Tell people why I built it, and tailor my post to something that would interest them&lt;/li&gt;
&lt;li&gt;🙋‍♂️Be available to ask all questions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Post #1
&lt;/h2&gt;

&lt;p&gt;My first post was on the sideproject subreddit as it was smaller and I didn't want my site to go down if a lot of people visited it. &lt;a href="https://www.reddit.com/r/SideProject/comments/f6e2bq/i_built_a_free_website_that_tells_you_where_you/"&gt;Here’s the post that I made&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The side project Reddit group is entrepreneurial so I spoke about some of the product decisions that I made. I answered questions such as “what makes my product unique”, and “why I built this”. I also openly asked for feedback. I’ve been keeping a Trello sheet of all feedback so I can see what the most important features to build are.&lt;/p&gt;

&lt;p&gt;The post ended up getting ~80 likes, stayed #1 for 24 hours, and sent 3,000 visitors to my website. The bounce rate was super low (30%) which is great! It told me I was on the right path.&lt;/p&gt;

&lt;h2&gt;
  
  
  Incorporating Feedback
&lt;/h2&gt;

&lt;p&gt;After a few days, traffic went down again. This is natural and I expected it to happen. However, it brings back sad feelings and thoughts. They call it the trough of sorrow.&lt;/p&gt;

&lt;p&gt;I took this time to address some of the feedback that was provided by the Reddit community. I improved my SEO by building out a better way to filter, updated the user interface, and added Analytics to practically every user interaction. This would help me track usage metrics to figure out which features were actually being used.&lt;/p&gt;

&lt;h2&gt;
  
  
  Post #2
&lt;/h2&gt;

&lt;p&gt;After a few days, I posted on another Subreddit. This time it was the reactjs subreddit. It’s 3x larger (140k members). Since my application is built on React and Next, I figured people would be interested in it. &lt;a href="https://www.reddit.com/r/reactjs/comments/f90oi9/i_built_this_website_that_suggests_places_that/"&gt;Here’s my post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Since this audience is mostly developers, I created a post with more technical post. I answered questions like “what is my tech stack”, “how I collected data”, “how I designed the web app”, etc. Once again, the post took off and reached #1 almost immediately. As I write this, it’s still #1 and has around 200 upvotes and 60 comments.&lt;/p&gt;

&lt;p&gt;There’s a lot of great feedback in here for me. I’ve been diligent in collecting them to iterate on this idea. I’d like to thank Redditors who took the time to respond. &lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;Here’s what traffic looks like this week (the week still has a few days left!)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;8,200 users (up 3,800%) ✅&lt;/li&gt;
&lt;li&gt;9,220 sessions (up 3700%) ✅&lt;/li&gt;
&lt;li&gt;32% bounce rate (down 44%) ✅&lt;/li&gt;
&lt;li&gt;2m 12s avg duration (up 124%) ✅
￼&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So what did I learn through this exercise? Here are a few things I would keep in mind:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create something polished even if it’s an MVP. A lot of people liked and upvoted me because what I built was considered to actually look like a real product.&lt;/li&gt;
&lt;li&gt;Write a thorough post explaining your product and tailor it to the audience in mind.&lt;/li&gt;
&lt;li&gt;Be open and available to answer questions.&lt;/li&gt;
&lt;li&gt;Collect the feedback in an organized manner and iterate on it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dealing with failure
&lt;/h2&gt;

&lt;p&gt;Lastly, if you post somewhere and it doesn’t go anywhere, don’t get too disheartened. Before these two posts took off, I had posted in some other subreddits which didn’t get any upvotes. There is an element of luck to all of this. However if you see the same pattern occurring 3-4 times, then you may want to analyze the situation further.&lt;/p&gt;

&lt;p&gt;Let me know if you have any questions, and check out &lt;a href="https://www.visabug.com"&gt;Visabug&lt;/a&gt; if you want to learn more about what I’ve been building.&lt;/p&gt;

</description>
      <category>sideprojects</category>
      <category>growth</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
