<?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>DEV Community: rinas</title>
    <description>The latest articles on DEV Community by rinas (@rinas).</description>
    <link>https://dev.to/rinas</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%2F199351%2F1279effc-b6fe-4848-9d91-271866047784.jpeg</url>
      <title>DEV Community: rinas</title>
      <link>https://dev.to/rinas</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rinas"/>
    <language>en</language>
    <item>
      <title>Make Fathom Analytics work with Turbolinks / Turbo in your Rails project</title>
      <dc:creator>rinas</dc:creator>
      <pubDate>Wed, 16 Jun 2021 19:45:38 +0000</pubDate>
      <link>https://dev.to/rinas/make-fathom-analytics-work-with-turbolinks-turbo-in-your-rails-project-2d2i</link>
      <guid>https://dev.to/rinas/make-fathom-analytics-work-with-turbolinks-turbo-in-your-rails-project-2d2i</guid>
      <description>&lt;p&gt;If you have Turbolinks or Turbo in your Rails project, only the first page view would be counted and tracked by Fathom Analytics. Here is how you can make use of &lt;code&gt;load&lt;/code&gt; event to track the page views.&lt;/p&gt;

&lt;p&gt;For turbolinks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;turbolinks:load&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;fathom&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;fathom&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;trackPageview&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For turbo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;turbo:load&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;fathom&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;fathom&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;trackPageview&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;I had recently confirmed the same with Fathom team:&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1376209437094895620-102" src="https://platform.twitter.com/embed/Tweet.html?id=1376209437094895620"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1376209437094895620-102');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1376209437094895620&amp;amp;theme=dark"
  }



&lt;br&gt;
and looks like this is the way to go:&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1376210757218562053-135" src="https://platform.twitter.com/embed/Tweet.html?id=1376210757218562053"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1376210757218562053-135');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1376210757218562053&amp;amp;theme=dark"
  }



&lt;/p&gt;

</description>
      <category>rails</category>
      <category>analytics</category>
      <category>turbolinks</category>
    </item>
    <item>
      <title>2 tricks to stay motivated on your side project</title>
      <dc:creator>rinas</dc:creator>
      <pubDate>Sun, 06 Jun 2021 08:17:29 +0000</pubDate>
      <link>https://dev.to/rinas/2-tricks-to-stay-motivated-on-your-side-project-4a4b</link>
      <guid>https://dev.to/rinas/2-tricks-to-stay-motivated-on-your-side-project-4a4b</guid>
      <description>&lt;h2&gt;
  
  
  1. Build for yourself
&lt;/h2&gt;

&lt;p&gt;This trick helps a lot. If you are building a tool for yourself, there is no need for the "motivation" part at all. You just want to make your life easier with it.&lt;/p&gt;

&lt;p&gt;I would say keep a single project/codebase for all the tools you are building. So that there is no yet another "setting up the project" involved. Straight to building stuff.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Charge your customers
&lt;/h2&gt;

&lt;p&gt;In case you don't the tool you built anymore, there are other people still using it. If it's a free tool, having paid customers would give you a boost to work on it more.&lt;/p&gt;

&lt;p&gt;Well, nothing is free. You still have to pay the server bills right? (also I'm hoping you are not selling your customer data and making some money secretly 🤷‍♀️). Let me know if you have any tips!&lt;/p&gt;




&lt;p&gt;In case you haven't read, check out my &lt;a href="https://dev.to/onerinas/top-1-way-to-not-mess-up-your-project-29mk"&gt;Top 1 way to not mess up your project&lt;/a&gt;. TL;DR - Don't be a perfectionist 😬😆&lt;/p&gt;

</description>
      <category>sideprojects</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Top 1 way to not mess up your project </title>
      <dc:creator>rinas</dc:creator>
      <pubDate>Tue, 01 Jun 2021 05:41:07 +0000</pubDate>
      <link>https://dev.to/rinas/top-1-way-to-not-mess-up-your-project-29mk</link>
      <guid>https://dev.to/rinas/top-1-way-to-not-mess-up-your-project-29mk</guid>
      <description>&lt;p&gt;If you are a web developer, maker or an entrepreneur who is trying to build a sustainable businesses, &lt;/p&gt;

&lt;p&gt;Here is the Top 1 (yes, it's not a yet another Top 10 article) way to not mess up your project. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Don't be a perfectionist&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you really want to be a perfectionist, change the definition 😂&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Perfectionist - someone who takes the perfect next logical step for the project.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And not someone who keeps tweaking that 1px off margin 🤣&lt;/p&gt;

&lt;p&gt;Not convinced yet? Sorry I didn't try to perfect this post 🤷&lt;/p&gt;




&lt;p&gt;Original Tweet - &lt;a href="https://twitter.com/onerinas/status/1399596072318640128"&gt;https://twitter.com/onerinas/status/1399596072318640128&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Update: Wrote about &lt;a href="https://dev.to/onerinas/2-tricks-to-stay-motivated-on-your-side-project-4a4b"&gt;2 tricks to stay motivated on your side project&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sideprojects</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Toggle 🌒 dark and 🔆 sunny mode using AlpineJS, and TailwindCSS</title>
      <dc:creator>rinas</dc:creator>
      <pubDate>Mon, 31 May 2021 03:46:11 +0000</pubDate>
      <link>https://dev.to/rinas/toggle-dark-and-sunny-mode-using-alpinejs-tailwindcss-and-localstorage-7fo</link>
      <guid>https://dev.to/rinas/toggle-dark-and-sunny-mode-using-alpinejs-tailwindcss-and-localstorage-7fo</guid>
      <description>&lt;p&gt;Hey 👋&lt;/p&gt;

&lt;p&gt;Rinas here.&lt;/p&gt;

&lt;p&gt;This is done using some Alpine JS magic 🪄 and I enjoyed implementing it.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏎 Let's start
&lt;/h2&gt;

&lt;p&gt;Update your Tailwind config to let it know need dark mode toggle based on class.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;

&lt;span class="c1"&gt;// tailwind.config.js&lt;/span&gt;
&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;darkMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;class&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="c1"&gt;// ...&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This will let you write &lt;code&gt;bg-gray-50 dark:bg-black&lt;/code&gt; and show background colours based on the current mode.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;

&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"dark"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"bg-gray-100 dark:bg-gray-600"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- ... --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Now let's try to remove that hardcoded &lt;code&gt;dark&lt;/code&gt; class in &lt;code&gt;html&lt;/code&gt; tag and grab the value from &lt;code&gt;localStorage&lt;/code&gt; using Alpine&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;

&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt;
  &lt;span class="na"&gt;x-data=&lt;/span&gt;&lt;span class="s"&gt;"{ darkMode: localStorage.getItem('dark') === 'true'} "&lt;/span&gt;
  &lt;span class="na"&gt;x-init=&lt;/span&gt;&lt;span class="s"&gt;"$watch('darkMode', val =&amp;gt; localStorage.setItem('dark', val))"&lt;/span&gt;
  &lt;span class="na"&gt;x-bind:class=&lt;/span&gt;&lt;span class="s"&gt;"{ 'dark': darkMode }"&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  🤔 Wait, what's going on here?
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

x-data="{ darkMode: localStorage.getItem('dark') === 'true' "


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;code&gt;x-data&lt;/code&gt; tells the framework to initialize a new component with the following data object.  In our case, the object is:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;

&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;darkMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dark&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;I think of it as a simple variable and setting &lt;code&gt;darkMode&lt;/code&gt;'s value to either &lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt; based on the localStorage item &lt;code&gt;dark&lt;/code&gt;'s value.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

x-init="$watch('darkMode', val =&amp;gt; localStorage.setItem('dark', val))"


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;code&gt;$watch&lt;/code&gt; is a magic property (yup, that's the official terminology 😁) in Alpine used to watch data we have and trigger a function.&lt;br&gt;
&lt;code&gt;x-init&lt;/code&gt; You might have already guessed it. It runs an expression when a component is initialized.&lt;/p&gt;

&lt;p&gt;So good so far? If not, let me know. I'll try to clarify in comments and update this post accordingly&lt;/p&gt;

&lt;p&gt;Let's add the button to toggle the theme now.&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;

&lt;p&gt;&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="na"&gt;click=&lt;/span&gt;&lt;span class="s"&gt;"darkMode = !darkMode"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;
  Toggle Theme&lt;br&gt;
&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  🏁 Yup, that's all you need 😎&lt;br&gt;
&lt;/h2&gt;




&lt;p&gt;Here is the polished version I used in &lt;a href="https://highscore.domains" rel="noopener noreferrer"&gt;HIGHSCORE.domains&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn70adi4dfmajrkb62bgk.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn70adi4dfmajrkb62bgk.gif" alt="toggle"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;This is my first time using AlpineJS and got featured in &lt;a href="https://buttondown.email/alpinejs/archive/alpinejs-weekly-61/" rel="noopener noreferrer"&gt;Alpine.js Weekly #61&lt;/a&gt; by &lt;a class="mentioned-user" href="https://dev.to/hugo__df"&gt;@hugo__df&lt;/a&gt; &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://highscore.domains" rel="noopener noreferrer"&gt;highscore.domains&lt;/a&gt; got a darkmode toggled powered by Alpine and TailwindUI by @onerinas &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fajtov32kq6dye84orslu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fajtov32kq6dye84orslu.png" alt="Screenshot 2021-05-31 at 8.07.54 AM"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Leaving few links here which might be useful if you want to try this out in your project:&lt;/p&gt;

&lt;p&gt;TailwindCSS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://tailwindcss.com/docs/installation" rel="noopener noreferrer"&gt;https://tailwindcss.com/docs/installation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailwindcss.com/docs/dark-mode#toggling-dark-mode-manually" rel="noopener noreferrer"&gt;https://tailwindcss.com/docs/dark-mode#toggling-dark-mode-manually&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AlpineJS:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;x-init&lt;/code&gt;&lt;br&gt;
Runs an expression when a component is initialized.&lt;br&gt;
&lt;a href="https://github.com/alpinejs/alpine#x-init" rel="noopener noreferrer"&gt;https://github.com/alpinejs/alpine#x-init&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;x-data&lt;/code&gt;&lt;br&gt;
Declares a new component scope.&lt;br&gt;
&lt;a href="https://github.com/alpinejs/alpine#x-data" rel="noopener noreferrer"&gt;https://github.com/alpinejs/alpine#x-data&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;x-bind&lt;/code&gt;&lt;br&gt;
Sets the value of an attribute to the result of a JS expression.&lt;br&gt;
&lt;a href="https://github.com/alpinejs/alpine#x-bind" rel="noopener noreferrer"&gt;https://github.com/alpinejs/alpine#x-bind&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$watch&lt;/code&gt;&lt;br&gt;
Will fire a provided callback when a component property you "watched" gets changed.&lt;br&gt;
&lt;a href="https://github.com/alpinejs/alpine#watch" rel="noopener noreferrer"&gt;https://github.com/alpinejs/alpine#watch&lt;/a&gt;&lt;/p&gt;

</description>
      <category>alpinejs</category>
      <category>tailwindcss</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Buying a new domain is not the way to start your side project</title>
      <dc:creator>rinas</dc:creator>
      <pubDate>Sun, 30 May 2021 11:08:22 +0000</pubDate>
      <link>https://dev.to/rinas/buying-a-new-domain-is-not-the-way-to-start-your-side-project-21e8</link>
      <guid>https://dev.to/rinas/buying-a-new-domain-is-not-the-way-to-start-your-side-project-21e8</guid>
      <description>&lt;p&gt;💡 When an idea strikes, the very next thing to do is buy a domain 😅&lt;/p&gt;

&lt;p&gt;I do this a lot and started to slow down recently. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You take a shower and the idea generator puts an awesome idea in your head&lt;/li&gt;
&lt;li&gt;It would be the most incredible idea you have ever come across. &lt;/li&gt;
&lt;li&gt;Rush to laptop see if that perfect domain name is available and boom 💥 &lt;/li&gt;
&lt;li&gt;What did just happen? You got a dopamine effect of achieving something. Feels like the project is half done right? Nope. Wrong. &lt;/li&gt;
&lt;li&gt;In reality, you did nothing. You just paid some few $$&lt;/li&gt;
&lt;li&gt;Now you have 1 year to work on the project before it expires. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Guess what? You will probably let it expire or worse, renew it for one more year assuming some miracle is gonna happen this year. Nope, you are wrong again. &lt;/p&gt;

&lt;p&gt;I started keeping aside at least an hour for side projects starting March and obviously, I ended up buying few domains - nonolist.me, shipit.club, myfailedstartups.com&lt;/p&gt;

&lt;p&gt;Wanna know the current status of these projects? MVP is not ready yet. &lt;/p&gt;

&lt;p&gt;Meanwhile, I started thinking about this domain hoarding problem and hit the aha shower moment again 💡&lt;/p&gt;

&lt;p&gt;Let's build a website to find out how many domains people own 😂&lt;/p&gt;

&lt;p&gt;For some miraculous reason, I didn't buy a domain for this 😹&lt;/p&gt;

&lt;p&gt;📝 I created a form using typeform and tweeted the link asking how many domains people own. &lt;/p&gt;

&lt;p&gt;😱 oh boy, many owned hundreds of domain names &lt;/p&gt;

&lt;p&gt;👨‍💻 Ok, now I hit that rush to buy a domain to build a website for this. &lt;/p&gt;

&lt;p&gt;🐣 &lt;a href="https://highscore.domains"&gt;HIGHSCORE.domains&lt;/a&gt; is born. A fun leaderboard to find out who owns more domains. &lt;/p&gt;

&lt;p&gt;🤔 I know you are reading this and thinking "oh wait, how many domains do I own actually?" 🤣&lt;/p&gt;

&lt;p&gt;😎 HIGHSCORE.domains is the project I bought the domain after seeing people are responding to it and might have some potential. &lt;br&gt;
Guess what? this is the only project which is live and not yet another "Sign up for early access" page.&lt;/p&gt;

&lt;p&gt;🙋 Do you face this problem as well - ie, ended up buying domains and not use them? Is there any tricks/realization you had recently which helped to overcome this?  &lt;/p&gt;

</description>
      <category>sideprojects</category>
      <category>discuss</category>
      <category>domain</category>
    </item>
  </channel>
</rss>
