<?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: Hirvesh Munogee</title>
    <description>The latest articles on DEV Community by Hirvesh Munogee (@hirvesh).</description>
    <link>https://dev.to/hirvesh</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%2F1826800%2F18063b17-b733-4636-8692-82fc7b7ca696.jpg</url>
      <title>DEV Community: Hirvesh Munogee</title>
      <link>https://dev.to/hirvesh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hirvesh"/>
    <language>en</language>
    <item>
      <title>Weekly Indie Log #25</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Mon, 09 Jun 2025 14:55:29 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-25-2bpj</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-25-2bpj</guid>
      <description>&lt;p&gt;It’s June already and we’re #25 of the Weekly Indie Log! This passed week has been a downer compared to the previous weeks in terms of revenue and it can be attributed to one thing which I will elaborate below.&lt;/p&gt;

&lt;p&gt;First let’s look at the numbers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Downloads
&lt;/h2&gt;

&lt;p&gt;Habit Pixel reached ~2000 users this week from the ~1800 we had last week. Compared to the ~800 new users last week, looks like only some ~200 users joined this week.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A416518b8-96c0-434b-b6ac-f3448ddf60ca%253ACleanShot_2025-06-09_at_17.35.432x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-807d-8469-f1104528c597" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A416518b8-96c0-434b-b6ac-f3448ddf60ca%253ACleanShot_2025-06-09_at_17.35.432x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-807d-8469-f1104528c597" alt="Image" width="800" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Revenue &amp;amp; MRR
&lt;/h2&gt;

&lt;p&gt;Revenue and MRR stagnated over the last week. Currently sitting at $28 in MRR and $368 in revenue. Last week it was $24 in MRR and $272 in revenue.&lt;/p&gt;

&lt;p&gt;Not a big jump by any means and I believe the reason is the new onboarding screen I implemented and deployed at the start of last week.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Abda2b0b6-57df-429d-acdf-3e96b27fb5ee%253ACleanShot_2025-06-09_at_17.41.01.png%3Ftable%3Dblock%26id%3D20d92264-dc86-802b-9263-c36ad73f2597" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Abda2b0b6-57df-429d-acdf-3e96b27fb5ee%253ACleanShot_2025-06-09_at_17.41.01.png%3Ftable%3Dblock%26id%3D20d92264-dc86-802b-9263-c36ad73f2597" alt="Image" width="391" height="129"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A30676cb1-7378-4f5b-b0d6-b44ff8d72903%253ACleanShot_2025-06-09_at_17.41.26.png%3Ftable%3Dblock%26id%3D20d92264-dc86-80ad-8a76-c00b210ad724" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A30676cb1-7378-4f5b-b0d6-b44ff8d72903%253ACleanShot_2025-06-09_at_17.41.26.png%3Ftable%3Dblock%26id%3D20d92264-dc86-80ad-8a76-c00b210ad724" alt="Image" width="388" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is how the sales breakdown looks like for this week, not a lot of change:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Aef2f455e-94a8-497b-a58d-76b244e9b73c%253ACleanShot_2025-06-09_at_17.42.42.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8062-818d-fbc778b5792d" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Aef2f455e-94a8-497b-a58d-76b244e9b73c%253ACleanShot_2025-06-09_at_17.42.42.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8062-818d-fbc778b5792d" alt="Image" width="777" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This the breakdown by platform. Android is my biggest sales driver (prices are also lower there - I wonder if this is what’s driving more of the sales compared to iOS):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A0da575d9-89f5-4f1e-8d73-ba6485d4cbf9%253ACleanShot_2025-06-09_at_17.43.16.png%3Ftable%3Dblock%26id%3D20d92264-dc86-801b-8846-ccde65654ae2" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A0da575d9-89f5-4f1e-8d73-ba6485d4cbf9%253ACleanShot_2025-06-09_at_17.43.16.png%3Ftable%3Dblock%26id%3D20d92264-dc86-801b-8846-ccde65654ae2" alt="Image" width="773" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One thing I was also curious was when my most successful days were for sales. Monday and Saturday lead the way, with Friday/Sunday the least active days.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A200d7963-60b9-4b70-bfc8-dccb19165e7e%253ACleanShot_2025-06-09_at_17.44.15.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8055-b77a-d3cef8d24c61" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A200d7963-60b9-4b70-bfc8-dccb19165e7e%253ACleanShot_2025-06-09_at_17.44.15.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8055-b77a-d3cef8d24c61" alt="Image" width="775" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Onboarding Screen Fiasco
&lt;/h2&gt;

&lt;p&gt;One of the biggest recommendations I got when showcasing Habit Pixel around was that it needs an onboarding. So I set out to design an onboarding for the app which would walk you through understanding the rationale behind building the habits, have the user choose some habits, show them the paywall, enable notifications to encourage engagement later - but alas it tanked my conversion rate.&lt;/p&gt;

&lt;p&gt;It seems that showing the paywall first thing as the user opens the app drastically improves conversion.&lt;/p&gt;

&lt;p&gt;So this week, I have decided to turn off the onboarding and go back to showing the paywall as the first thing the user sees when they open the app. I will report back if there are changes to the conversion rate and if it does to normal.&lt;/p&gt;

&lt;p&gt;This is a kick to my ambitions of reaching $100 MRR by but there’s still time and I aim to reach it no matter what!&lt;/p&gt;

&lt;h2&gt;
  
  
  Ratings/Reviews
&lt;/h2&gt;

&lt;p&gt;I am also working on getting more reviews/ratings for Habit Pixel. I revamped the prompting algorithm some weeks back to determine the ideal time to show a prompt in a quest to capture the high of completing habits.&lt;/p&gt;

&lt;p&gt;Currently, I have more ratings/reviews on the App Store than Play Store, but hopefully this changes as I up my efforts towards Android as it’s the platform earning most revenue right now.&lt;/p&gt;

&lt;p&gt;I also intend to improve on the ratings for App Store where some harsh reviewers gave some 1 stars due to me limiting the free version to 4 habits and paywalling pro features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A75cd4ec5-ed33-42ba-8fe3-08e52b384f95%253ACleanShot_2025-06-09_at_17.53.052x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-80b0-a166-fc1bd4094545" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A75cd4ec5-ed33-42ba-8fe3-08e52b384f95%253ACleanShot_2025-06-09_at_17.53.052x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-80b0-a166-fc1bd4094545" alt="App Store Ratings/Review" width="2280" height="328"&gt;&lt;/a&gt;App Store Ratings/Review&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A23d947ed-83be-41d3-940d-208a3ee8f17b%253ACleanShot_2025-06-09_at_17.59.452x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8007-990a-f15ed1b8ed7d" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A23d947ed-83be-41d3-940d-208a3ee8f17b%253ACleanShot_2025-06-09_at_17.59.452x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8007-990a-f15ed1b8ed7d" alt="Play Store Ratings/Reviews" width="2160" height="342"&gt;&lt;/a&gt;Play Store Ratings/Reviews&lt;/p&gt;

&lt;h2&gt;
  
  
  User Spotlight
&lt;/h2&gt;

&lt;p&gt;As usual each week, I collect and showcase words from the community around Habit Pixel&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A1b9000f9-8eca-4200-a335-2da55ded7054%253ACleanShot_2025-06-09_at_18.38.172x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8024-8e83-cc44a66ff09f" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A1b9000f9-8eca-4200-a335-2da55ded7054%253ACleanShot_2025-06-09_at_18.38.172x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8024-8e83-cc44a66ff09f" alt="Image" width="954" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ac44b120c-a275-4d38-805a-cff57bdd4f9e%253ACleanShot_2025-06-09_at_18.38.352x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8094-978c-fa1c5ea083d3" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ac44b120c-a275-4d38-805a-cff57bdd4f9e%253ACleanShot_2025-06-09_at_18.38.352x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8094-978c-fa1c5ea083d3" alt="Image" width="964" height="234"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A437d4317-fc78-4499-8a3c-0c3ceb47515b%253ACleanShot_2025-06-09_at_18.38.482x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-80aa-b1dc-e7183d05d209" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A437d4317-fc78-4499-8a3c-0c3ceb47515b%253ACleanShot_2025-06-09_at_18.38.482x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-80aa-b1dc-e7183d05d209" alt="Image" width="958" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Aa8a911ab-393d-43d2-ae75-b5da5f3cfb09%253ACleanShot_2025-06-09_at_18.40.182x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8017-af92-c55790f8ff71" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Aa8a911ab-393d-43d2-ae75-b5da5f3cfb09%253ACleanShot_2025-06-09_at_18.40.182x.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8017-af92-c55790f8ff71" alt="Image" width="1112" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A9593885c-7b6b-4abb-a37a-64b284a7c609%253ACleanShot_2025-06-09_at_18.41.27.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8027-b14f-ee24b7af07f2" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A9593885c-7b6b-4abb-a37a-64b284a7c609%253ACleanShot_2025-06-09_at_18.41.27.png%3Ftable%3Dblock%26id%3D20d92264-dc86-8027-b14f-ee24b7af07f2" alt="Image" width="481" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Week’s Focus
&lt;/h2&gt;

&lt;p&gt;This week’s focus for Habit Pixel is to bring the app to par with some of the competitors as part of a v4.0 then as from the ensuing week, to start leading the way 😉&lt;/p&gt;

&lt;p&gt;I will be working on these in no particular order:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Configurable start of the day&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Allow for users to go over daily completion goals for check-ins&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Category Analytics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A new view for the habits, which is not grid-based as some users have expressed a need for this.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A lot of other minute UI/UX adjustments for a bette experience&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s going to be a big week. After this week, even bigger as we move to support desktop, iPads, Android tablets + syncing across devices! Super excited about all of this! Watch out for the next one!&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #24</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Mon, 02 Jun 2025 13:52:34 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-24-1a21</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-24-1a21</guid>
      <description>&lt;p&gt;Welcome to this edition of the Weekly Indie Log! I will discuss all things Habit Pixel - my habit tracker app for iOS/Android - including revenue, updates and upcoming plans.&lt;/p&gt;

&lt;p&gt;As usual, we will start our blog post with a review of the numbers!&lt;/p&gt;

&lt;h2&gt;
  
  
  Downloads
&lt;/h2&gt;

&lt;p&gt;Habit Pixel has had tremendous growth over the last week, adding an additional ~800 users from the ~1300 we had last week.&lt;/p&gt;

&lt;p&gt;As we stand today, these are the numbers:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Aa2af1785-db04-4e69-b348-dbf67ece93c2%253ACleanShot_2025-06-02_at_17.18.162x.png%3Ftable%3Dblock%26id%3D20692264-dc86-8069-921f-dd3541b54040" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Aa2af1785-db04-4e69-b348-dbf67ece93c2%253ACleanShot_2025-06-02_at_17.18.162x.png%3Ftable%3Dblock%26id%3D20692264-dc86-8069-921f-dd3541b54040" alt="Image" width="800" height="272"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Revenue &amp;amp; MRR
&lt;/h2&gt;

&lt;p&gt;Both MRR &amp;amp; revenue nearly doubled this week and I am pretty happy with that!&lt;/p&gt;

&lt;p&gt;The goal still is to hopefully reach $100 MRR by the end of June.&lt;/p&gt;

&lt;p&gt;Total number of subscribers is current 21.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A4fc65f3b-c8b5-40ba-b205-9f44c6c5057b%253ACleanShot_2025-06-02_at_17.22.532x.png%3Ftable%3Dblock%26id%3D20692264-dc86-8036-bcdc-d16350050b30" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A4fc65f3b-c8b5-40ba-b205-9f44c6c5057b%253ACleanShot_2025-06-02_at_17.22.532x.png%3Ftable%3Dblock%26id%3D20692264-dc86-8036-bcdc-d16350050b30" alt="Image" width="846" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ae53f17cd-8f5e-45fe-833e-7dd0e34343b4%253ACleanShot_2025-06-02_at_17.23.162x.png%3Ftable%3Dblock%26id%3D20692264-dc86-806a-8ff6-fd358e6e0cbd" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ae53f17cd-8f5e-45fe-833e-7dd0e34343b4%253ACleanShot_2025-06-02_at_17.23.162x.png%3Ftable%3Dblock%26id%3D20692264-dc86-806a-8ff6-fd358e6e0cbd" alt="Image" width="840" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the breakdown of how the revenue is distributed currently:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A337c1783-540f-4b53-aa7e-164d8ddf0810%253ACleanShot_2025-06-02_at_17.28.232x.png%3Ftable%3Dblock%26id%3D20692264-dc86-801b-9780-ca1f9c586514" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A337c1783-540f-4b53-aa7e-164d8ddf0810%253ACleanShot_2025-06-02_at_17.28.232x.png%3Ftable%3Dblock%26id%3D20692264-dc86-801b-9780-ca1f9c586514" alt="Image" width="1398" height="912"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, yearly plan is leading the way, followed closely by monthly plans and lifetime plans.&lt;/p&gt;

&lt;p&gt;Obviously, I prefer monthly/yearly recurring revenue as this makes my app business more sustainable over time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ae5c65d37-60f2-41ec-9ac0-f7c823b3f9d3%253ACleanShot_2025-06-02_at_17.30.182x.png%3Ftable%3Dblock%26id%3D20692264-dc86-8054-9065-e32cbbc5adad" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ae5c65d37-60f2-41ec-9ac0-f7c823b3f9d3%253ACleanShot_2025-06-02_at_17.30.182x.png%3Ftable%3Dblock%26id%3D20692264-dc86-8054-9065-e32cbbc5adad" alt="Image" width="1390" height="916"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The features driving the pro plan sales still remain unlimited habits and the gap is increasing as between the next most requested feature.&lt;/p&gt;

&lt;p&gt;Widgets was previously second in the list but not finds itself third.&lt;/p&gt;

&lt;h2&gt;
  
  
  User Spotlight
&lt;/h2&gt;

&lt;p&gt;The week came with some more positive reviews of the app and here’s some of the words being said about it:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A6cdf8f1c-4b45-4869-8855-9c2832e603e6%253ACleanShot_2025-06-02_at_17.32.502x.png%3Ftable%3Dblock%26id%3D20692264-dc86-808f-b906-da425b3ce2c7" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A6cdf8f1c-4b45-4869-8855-9c2832e603e6%253ACleanShot_2025-06-02_at_17.32.502x.png%3Ftable%3Dblock%26id%3D20692264-dc86-808f-b906-da425b3ce2c7" alt="Image" width="1490" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Aad265c4a-f1f6-4771-b10f-c0a083b78825%253ACleanShot_2025-06-02_at_17.34.022x.png%3Ftable%3Dblock%26id%3D20692264-dc86-80b5-9c27-c5ad69cf9f27" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Aad265c4a-f1f6-4771-b10f-c0a083b78825%253ACleanShot_2025-06-02_at_17.34.022x.png%3Ftable%3Dblock%26id%3D20692264-dc86-80b5-9c27-c5ad69cf9f27" alt="Image" width="760" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A7a0e8b74-baf9-473d-9d08-870da17fc79e%253ACleanShot_2025-06-02_at_17.34.552x.png%3Ftable%3Dblock%26id%3D20692264-dc86-8022-97dc-eda6b09f42a7" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A7a0e8b74-baf9-473d-9d08-870da17fc79e%253ACleanShot_2025-06-02_at_17.34.552x.png%3Ftable%3Dblock%26id%3D20692264-dc86-8022-97dc-eda6b09f42a7" alt="Image" width="930" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Week’s Focus
&lt;/h2&gt;

&lt;p&gt;Last week I shipped v2.41.0 - which contains the new onboarding flow and several bug fixes - along with Expo SDK 53.&lt;/p&gt;

&lt;p&gt;The goal this week is to get back on improving the UX and feature of the app, while maintaining its simplicity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Revamped Calendar UI
&lt;/h3&gt;

&lt;p&gt;One of my goals for this week is to revamp the calendar UI for going back in time to check-in habits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Adce491d0-99c9-451b-a573-22377c3da0fe%253ACleanShot_2025-06-02_at_17.42.322x.png%3Ftable%3Dblock%26id%3D20692264-dc86-8082-94ef-dbcceacb7915" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Adce491d0-99c9-451b-a573-22377c3da0fe%253ACleanShot_2025-06-02_at_17.42.322x.png%3Ftable%3Dblock%26id%3D20692264-dc86-8082-94ef-dbcceacb7915" alt="Image" width="2324" height="636"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Previously it was behind a toggle button next to the categories icon but I decided to move it to the bottom of the screen and it will show/hide based on the user scrolling.&lt;/p&gt;

&lt;p&gt;This is a video I posted on X to show the new layout:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/hirvesh/status/1929395622622503144" rel="noopener noreferrer"&gt;https://x.com/hirvesh/status/1929395622622503144&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Category Analytics
&lt;/h3&gt;

&lt;p&gt;I will also try to implement category analytics, which will roll-up analytics of all the different habits into a consolidated view under the analytics tab. Still thinking about the UX - but hopefully can ship an MVP this week.&lt;/p&gt;

&lt;h3&gt;
  
  
  Share Habits
&lt;/h3&gt;

&lt;p&gt;I also want to implement a share habit option so that users can share their habits as images to social media/friends/family to keep accountability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Multi Views
&lt;/h3&gt;

&lt;p&gt;Besides the Github-style interface displayed on the app main page, I also want to provide some alternative layouts for those preferring a more conventional layout like lists.&lt;/p&gt;

&lt;p&gt;This will also come with new widgets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I will keep it at that for this week and some smaller stuff. I am planning on two big big features in the week after - I am excited to share this to you in the next couple of week. First however, I need to get the “smaller” stuff off my plate then full steam to the next big items.&lt;/p&gt;

&lt;p&gt;The goal is to make Habit Pixel the market leader in habit tracking. The app has been designed from ground up to be that and all the decisions made is geared towards it.&lt;/p&gt;

&lt;p&gt;Let’s see how far I can make it! 😎&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #23</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Mon, 26 May 2025 04:26:35 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-23-hh2</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-23-hh2</guid>
      <description>&lt;p&gt;Welcome to edition #23 of the Weekly Indie Log! This week has been a whirlwind as well with Habit Pixel picking up some more traction!&lt;/p&gt;

&lt;p&gt;Let’s talk numbers!&lt;/p&gt;

&lt;h2&gt;
  
  
  Downloads
&lt;/h2&gt;

&lt;p&gt;The number of people who have downloaded Habit Pixel cumulatively across the Play Store and App Store now sits at ~1300 users.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Af72bc6df-383a-44b0-9e74-d079f298cfd5%253Aexport-habit-pixel-dashboard.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-801d-9db9-f6d04db5c068" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Af72bc6df-383a-44b0-9e74-d079f298cfd5%253Aexport-habit-pixel-dashboard.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-801d-9db9-f6d04db5c068" alt="Image" width="1600" height="1018"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Daily Active Users (DAU)
&lt;/h2&gt;

&lt;p&gt;Right now DAU is pretty low, with some ~75 DAU on Android and ~45 on iOS. This is something I am working to fix with the new onboarding flow and enabling notifications as part of that flow so that Habit Pixel can start nudging people consistently to track their habits - which hopefully should increase the engagement.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A5cbf73b8-8c88-445b-98ef-72af7fb3ca32%253Adau.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-80b4-8768-ef7973abe046" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A5cbf73b8-8c88-445b-98ef-72af7fb3ca32%253Adau.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-80b4-8768-ef7973abe046" alt="Image" width="1600" height="1048"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Revenue &amp;amp; MRR
&lt;/h2&gt;

&lt;p&gt;On the revenue side, this are starting to pick up with nearly a sale per say (one-time or subscription). This is very encouraging for me right now and this shows there is a demand for this kind of habit tracker even in a saturated market.&lt;/p&gt;

&lt;p&gt;Revenue overall to date, which includes one-time purchases is $150.&lt;/p&gt;

&lt;p&gt;MRR for subscriptions is currently $11.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ad314e525-0824-4ce1-9181-38b6941a1076%253ACleanShot_2025-05-26_at_08.00.132x.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-80a3-a822-ceeb3ed193b2" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ad314e525-0824-4ce1-9181-38b6941a1076%253ACleanShot_2025-05-26_at_08.00.132x.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-80a3-a822-ceeb3ed193b2" alt="Image" width="836" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A7f9bd9a3-f6d7-45b1-838a-5b87b827da0a%253ACleanShot_2025-05-26_at_08.02.552x.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-801d-815f-d151de5106e2" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A7f9bd9a3-f6d7-45b1-838a-5b87b827da0a%253ACleanShot_2025-05-26_at_08.02.552x.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-801d-815f-d151de5106e2" alt="Image" width="834" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The goal is to hopeful hit $100 MRR by end of June and keep pushing from there. With that in mind, I am keeping an eye on what is driving pro subscriptions for users. For this, I have been tracking the most requested features. Here’s a breakdown:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ae4747706-535d-4bdf-8246-d59e1e72a64f%253Arequested_features.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-809f-9cd7-e0c92d86722c" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ae4747706-535d-4bdf-8246-d59e1e72a64f%253Arequested_features.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-809f-9cd7-e0c92d86722c" alt="Image" width="1600" height="1018"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, unlimited habits is the main driver of looking for the pro plan right now, followed closely by widgets.&lt;/p&gt;

&lt;p&gt;Analytics come in not so far at third position.&lt;/p&gt;

&lt;p&gt;The above insights drive my marketing strategies - I put widgets + unlimited habits at the front of the marketing messaging for pro plan.&lt;/p&gt;

&lt;p&gt;I intend to eventually do a funnel on PostHog to show the flow on which feature drove a sale and how long it took to eventually get to a sale.&lt;/p&gt;

&lt;h2&gt;
  
  
  User Spotlight
&lt;/h2&gt;

&lt;p&gt;This week I got feedback from one of my pro customers and the request was to add category analytics - which is a fair enough request and I did not think of it either! I will try to implement this and ship it out in the next version.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A483856ed-7a78-41b8-af5b-ca382926a480%253Aimage.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-807c-96c4-d3ec9e719006" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A483856ed-7a78-41b8-af5b-ca382926a480%253Aimage.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-807c-96c4-d3ec9e719006" alt="Image" width="1055" height="837"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I also have users who send me their stories of them sharing Habit Pixel because they like it so much:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A3b419360-fa01-4034-b5f7-3b0978ab36c7%253ACleanShot_2025-05-26_at_08.15.112x.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-80de-9ed7-c983106298f2" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A3b419360-fa01-4034-b5f7-3b0978ab36c7%253ACleanShot_2025-05-26_at_08.15.112x.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-80de-9ed7-c983106298f2" alt="Image" width="850" height="1654"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Week’s Focus
&lt;/h2&gt;

&lt;h3&gt;
  
  
  New Onboarding Flow
&lt;/h3&gt;

&lt;p&gt;This week I am laser focused on completing the onboarding flow for Habit Pixel. I posted a couple of video of how it looks like on social media; here’s a peak:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/hirvesh/status/1926133628716675096" rel="noopener noreferrer"&gt;https://x.com/hirvesh/status/1926133628716675096&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The goal with the onboarding is to improve activation (first habit created) and also to get notification permissions to keep engagement up during the following weeks and keep user active.&lt;/p&gt;

&lt;h3&gt;
  
  
  Optimization
&lt;/h3&gt;

&lt;p&gt;Habit Pixel, while snappy on iOS feels a bit sluggish on Android, especially low end devices. I have a user who pointed this out and this will be another one of my focuses for the week.&lt;/p&gt;

&lt;p&gt;The goal is to comb screen by screen and ensure that it’s as optimized as possible and avoiding unnecessary re-renders and bottlenecks in the app.&lt;/p&gt;

&lt;p&gt;Having gone really fast in shipping out features, some unoptimized code have accumulated and that will be the focus of this effort.&lt;/p&gt;

&lt;p&gt;I will also implement React Compiler in Habit Pixel which is the new React optimization “plugin” which automatically optimizes your app for better performance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ae2ceff55-ab6c-4128-a270-c3da177a6cb1%253Aimage.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-80d1-8f39-c1523745a4c8" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ae2ceff55-ab6c-4128-a270-c3da177a6cb1%253Aimage.png%3Ftable%3Dblock%26id%3D1ff92264-dc86-80d1-8f39-c1523745a4c8" alt="Image" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Better Feedback Flow
&lt;/h3&gt;

&lt;p&gt;I will also work on a better feedback request flow for Habit Pixel. Right now - the app requests a review/rating by prompting users directly using the platform specific review prompt.&lt;/p&gt;

&lt;p&gt;What I intend to do is show an “Enjoying Habit Pixel” prompt in-app and if yes, show the native rating modal otherwise redirect to the feedback form.&lt;/p&gt;

&lt;p&gt;Once these are done, I think I will be able to shift focus back to new features instead of workflow and onboarding optimizations.&lt;/p&gt;

&lt;p&gt;That’s it from me! If you have comments, drop them below - catch you in the next one!&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #22</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Mon, 19 May 2025 15:22:29 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-22-p4o</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-22-p4o</guid>
      <description>&lt;p&gt;Hello! Welcome to my Weekly Indie Log #22! Let’s dive right into it and talk numbers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Active Users
&lt;/h2&gt;

&lt;p&gt;Last week has been an eventful week! Habit Pixel reached nearly a &lt;code&gt;**1000**&lt;/code&gt; users combined across both iOS and Android, see numbers below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A13e7ee35-a9dc-478d-b555-0ae22746423f%253ACleanShot_2025-05-19_at_18.33.522x.png%3Ftable%3Dblock%26id%3D1f892264-dc86-80f3-bf31-e43e84c896c9" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A13e7ee35-a9dc-478d-b555-0ae22746423f%253ACleanShot_2025-05-19_at_18.33.522x.png%3Ftable%3Dblock%26id%3D1f892264-dc86-80f3-bf31-e43e84c896c9" alt="Image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My goal for end of the month of May is to reach ~1500 active users and I am actively promoting the app across any medium I can find.&lt;/p&gt;

&lt;h2&gt;
  
  
  Revenue
&lt;/h2&gt;

&lt;p&gt;I introduced 2 subscriptions (monthly/yearly) and one lifetime plan for Habit Pixel earlier during the month and I’ve got 1 sale across the 3 different plans already. This bodes well - I am hoping to win paid customers as I continue to improve the application - however, right now my focus is on marketing as the revenue numbers are negligible.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s New? - v2.21.0
&lt;/h2&gt;

&lt;p&gt;I released a new version of Habit Pixel over the weekend (2.21) which is the culmination of the work I’ve done on Android widgets. One of the early adopters (Aldy) reported that the widgets were looking weird on HyperOS and the alignment was off as well on a couple of the devices he test and the streak count has some issues too when no streak goal was set.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Abd251ea4-abee-46c7-8ef1-b29c533fd015%253ACleanShot_2025-05-19_at_18.40.162x.png%3Ftable%3Dblock%26id%3D1f892264-dc86-80c8-bf02-e669fe0d19fb" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Abd251ea4-abee-46c7-8ef1-b29c533fd015%253ACleanShot_2025-05-19_at_18.40.162x.png%3Ftable%3Dblock%26id%3D1f892264-dc86-80c8-bf02-e669fe0d19fb" alt="Alignment is off with too much spacing on the right side"&gt;&lt;/a&gt;Alignment is off with too much spacing on the right side&lt;/p&gt;

&lt;p&gt;For launchers which had different cell counts, the widget aspect ratio would change and I didn’t factor that in during my initial development and it would show up like so:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ae52f92d2-aaa1-40a5-b686-c21489d69dbb%253ACleanShot_2025-05-19_at_18.41.072x.png%3Ftable%3Dblock%26id%3D1f892264-dc86-8063-b005-f67ce502a7be" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Ae52f92d2-aaa1-40a5-b686-c21489d69dbb%253ACleanShot_2025-05-19_at_18.41.072x.png%3Ftable%3Dblock%26id%3D1f892264-dc86-8063-b005-f67ce502a7be" alt="Image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;v2.21.0 fixed all of those things and dynamically adjusts the layout based on the available space. This is not easy in widget-land for Android and there was a lot of hair pulling but I am glad this is sorted and now in a stable state.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paywall First
&lt;/h3&gt;

&lt;p&gt;I’ve also change the onboarding flow a little bit to show the paywall first - as several reports regarding conversion rate indicate that showing the paywall during onboarding increase conversion. This is something I am monitoring closely how it impacts sales.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Pipeline
&lt;/h3&gt;

&lt;p&gt;One of the biggest under-the-hood implementation for Habit Pixel is for me to setup proper analytics using PostHog to measure activation/retention/rating requests to know exactly how many users are activating i.e. creating a habit of their own and sticking around to use the app.&lt;/p&gt;

&lt;p&gt;I am also monitoring how many times users are being shown the rate app modal to understand the conversion between being shown the request and actual ratings - the platform APIs do not let you know when a user has rated your app - so this needs to be tracked and correlated manually.&lt;/p&gt;

&lt;h3&gt;
  
  
  Miscellaneous Changes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tap Edit:&lt;/strong&gt; Another feedback I got from Reddit was to allow editing of a habit when tapping on the title/description - I thought this was a good idea and implemented and shipped this.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Ftv2rm8smfj8ksjwj4jt3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ftv2rm8smfj8ksjwj4jt3.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tap Widget &amp;amp; Scroll to Habit In-App:&lt;/strong&gt; Tapping on the widget will now open the app and scroll to that widget if it is outside of the viewport&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Implemented OTA Updates:&lt;/strong&gt; It will now be possible to push OTA updates directly to users without having to go through store approval processes. This is something I plan on using to fix bugs and push minor tweaks directly to devices - this gives me comfort as I iterate fast and possibly break things - bugs being monitored by Crashlytics.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Marketing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;On the marketing side, I am posting about Habit Pixel every where I possibly can and intend to step up the effort even more in the upcoming weeks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I made a promo video which is now displayed on both the app store and the play store which I hope helps boost conversion and downloads. This is the video:&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/9DtKfQs-esc"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Upcoming
&lt;/h2&gt;

&lt;p&gt;My upcoming plans for Habit Pixel include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Working on a new and better onboarding to prime users and improve retention rates.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Have a built-in “What’s new” section which will inform users of new features and improvements for new versions dropped - be it via OTA updates or via store updates.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I am also gearing up towards connecting a back-end to Habit Pixel which should open up a world of possibilities including cross-device sync, AI integrations and more - excited but a lot of work to be done before this is ready - probably Q3/Q4 work.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Community
&lt;/h2&gt;

&lt;p&gt;I have gotten a lot of incredible feedback on Habit Pixel over the last week and I will make sure to collect them and share them here as this fuels my drive and gives me hope that Habit Pixel will make it among the big boy habit trackers 😅&lt;/p&gt;

&lt;p&gt;The first one is from Charlie Cheever one of the top members of the Expo team - the framework I used to build Habit Pixel. If he says it’s nice, it’s must be pretty rad 😁&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fpldvo5b1cc4o7jgsrl44.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fpldvo5b1cc4o7jgsrl44.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fy7ixllgvudpvv3ynm57x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fy7ixllgvudpvv3ynm57x.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F383anmo6r5al609rxi8z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F383anmo6r5al609rxi8z.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A4b204f6b-b2cf-4d00-9286-7a2535b0e091%253ACleanShot_2025-05-19_at_19.13.162x.png%3Ftable%3Dblock%26id%3D1f892264-dc86-80a1-9fef-ec5ca2407ea9" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A4b204f6b-b2cf-4d00-9286-7a2535b0e091%253ACleanShot_2025-05-19_at_19.13.162x.png%3Ftable%3Dblock%26id%3D1f892264-dc86-80a1-9fef-ec5ca2407ea9" alt="Image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/koficenti/status/1924204426190840190" rel="noopener noreferrer"&gt;https://x.com/koficenti/status/1924204426190840190&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/bidah/status/1922797702833672609" rel="noopener noreferrer"&gt;https://x.com/bidah/status/1922797702833672609&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s a wrap for this week! Catch you next week!&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #21</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Mon, 12 May 2025 13:56:23 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-21-5eii</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-21-5eii</guid>
      <description>&lt;p&gt;It’s been a minute since &lt;strong&gt;log #20&lt;/strong&gt; , but—surprise!—your favorite indie log is back. I even said so on X:&lt;/p&gt;

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

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



&lt;/p&gt;

&lt;p&gt;If you’ve been catching my updates on &lt;a href="https://www.notion.so/a891fa6233a746dc9c130a6f44f25d75?pvs=21" rel="noopener noreferrer"&gt;X&lt;/a&gt; , &lt;a href="https://bsky.app/profile/hirve.sh" rel="noopener noreferrer"&gt;Bluesky&lt;/a&gt; , or &lt;a href="https://www.threads.com/@hirvesh" rel="noopener noreferrer"&gt;Threads&lt;/a&gt; , you already know I’ve pivoted from &lt;strong&gt;Stomod&lt;/strong&gt; and &lt;strong&gt;AssistFlare&lt;/strong&gt; to a brand-new adventure: &lt;strong&gt;&lt;a href="https://habitpixel.com/get" rel="noopener noreferrer"&gt;Habit Pixel&lt;/a&gt;&lt;/strong&gt; .&lt;/p&gt;

&lt;h2&gt;
  
  
  Habit Pixel — Small Pixels, Big Changes
&lt;/h2&gt;

&lt;p&gt;Long-time Twitter pals will remember my soft spot for mobile apps and B2C. My very first startup, &lt;em&gt;OutLater&lt;/em&gt; , was a social-media scheduler that lived on both phone and web—proof here:&lt;/p&gt;

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

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



&lt;/p&gt;

&lt;p&gt;After two web-app detours (Stomod and AssistFlare), it felt right to swing back to a mass-market product. I’d been using Habitify to track my own routines and thought, &lt;em&gt;Why not build my own?&lt;/em&gt; One brainstorm later, &lt;strong&gt;Habit Pixel&lt;/strong&gt; was born—a name I still love.&lt;/p&gt;

&lt;p&gt;Domains secured—habitpixel.com and habitpixels.com (I stuck with the singular)—I whipped up the MVP in a couple of weeks and shipped it to both app stores:&lt;/p&gt;

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

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



&lt;/p&gt;

&lt;p&gt;The response? &lt;strong&gt;Positive.&lt;/strong&gt; Since launch on &lt;strong&gt;25 March 2025&lt;/strong&gt; , the numbers look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Afb868d33-2cc4-4532-b5d8-c5f8bdf5ebd5%253ACleanShot_2025-05-12_at_17.22.002x.png%3Ftable%3Dblock%26id%3D1f192264-dc86-807a-b188-f7de816c4b1a" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Afb868d33-2cc4-4532-b5d8-c5f8bdf5ebd5%253ACleanShot_2025-05-12_at_17.22.002x.png%3Ftable%3Dblock%26id%3D1f192264-dc86-807a-b188-f7de816c4b1a" alt="Image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;~400 downloads&lt;/strong&gt; so far—solid traction in a crowded habit-tracker arena.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;$19 in revenue&lt;/strong&gt; from early Pro subscribers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Goal:&lt;/strong&gt; hit &lt;strong&gt;1 000 downloads by 31 May&lt;/strong&gt; .&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tracking All the Things
&lt;/h3&gt;

&lt;p&gt;Next on my list: lock down full-funnel analytics—acquisition, retention, churn, the works. I’ll document every tracking tweak right here on the blog.&lt;/p&gt;

&lt;h2&gt;
  
  
  Marketing Habit Pixel
&lt;/h2&gt;

&lt;p&gt;I’m attacking discovery on three fronts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Social video&lt;/strong&gt; – YouTube Shorts, Instagram Reels, TikTok, plus #buildinpublic posts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SEO&lt;/strong&gt; – long-form content on &lt;a href="https://habitpixel.com/blog" rel="noopener noreferrer"&gt;https://habitpixel.com/blog&lt;/a&gt; .&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ASO&lt;/strong&gt; – fine-tuning the app-store listings.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Reddit Experiments
&lt;/h3&gt;

&lt;p&gt;I’m also dabbling in one-off promos. A recent post on /r/reactnative and /r/expo drew mixed but helpful feedback—chief among them: offer an alternative to the pixel-heavy Silkscreen font.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.reddit.com/r/reactnative/comments/1kj813o/just_launched_habit_pixelmy_githubstyle_habit/" rel="noopener noreferrer"&gt;https://www.reddit.com/r/reactnative/comments/1kj813o/just_launched_habit_pixelmy_githubstyle_habit/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What’s Up This Week?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Widget fixes&lt;/strong&gt; – polishing the new widgets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Paywall shift&lt;/strong&gt; – moving Pro-only features (analytics + widgets) behind the subscription.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;User analytics&lt;/strong&gt; – tracking rating prompts, habit creation events, and more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;New views&lt;/strong&gt; – adding layouts beyond the GitHub-style grid for broader appeal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Future roadmap&lt;/strong&gt; – backend, AI-powered perks, and cross-device sync so you can tick habits off on any gadget.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stay tuned—pixels are about to get a lot more powerful.&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #2</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Thu, 10 Apr 2025 07:07:06 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-2-5d59</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-2-5d59</guid>
      <description>&lt;p&gt;Welcome to my second edition of the Weekly Indie Log!&lt;/p&gt;

&lt;p&gt;Let’s get the big news out of the way first: Stomod reached $120 MRR for the first time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reaching $100+ MRR
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Ffc2fb8db-19d6-4afc-9dd0-4f50a472fe3d%252FUntitled.png%3Ftable%3Dblock%26id%3D36a4044f-2d5d-429a-a5d0-64a24f509f15" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Ffc2fb8db-19d6-4afc-9dd0-4f50a472fe3d%252FUntitled.png%3Ftable%3Dblock%26id%3D36a4044f-2d5d-429a-a5d0-64a24f509f15" alt="Image" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stomod reached $120 MRR in February and I couldn’t be happier about it! It took way over a year to reach here but now that’s I’m here it feel unreal and makes me believe that I can kick on and increase on that number.&lt;/p&gt;

&lt;p&gt;With this though in mind, I am doubling down on marketing, SEO and ads. I will be trying out various combos in the next few months with the idea of finding the best channels to acquire customers for Stomod. So far ads has been a good push toward moving beyond $100 MRR.&lt;/p&gt;

&lt;p&gt;I will be trying out some influencer marketing as well and have set aside a monthly budget for these initiatives.&lt;/p&gt;

&lt;p&gt;Since I am new to ads and using ads platforms as a channel, I will be giving each channel a spin and see what works best. I will be reporting back of course in the upcoming weekly indie log  posts. The channels I’m looking at are: Google Ads, Bing Ads, Reddit Ads, Twitter Ads, TikTok Ads, Facebook Ads and LinkedIn Ads.&lt;/p&gt;

&lt;p&gt;This is a long term plan and I only have so much money to throw at these platforms - but I intend to give each one a shot and re-invest earnings from Stomod into those.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contingency planning for my trip
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F871dc214-4ae3-44bb-a125-7b1f41cf01cf%252FUntitled.png%3Ftable%3Dblock%26id%3D385b3c3c-f073-4e46-8008-b514492285ea" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F871dc214-4ae3-44bb-a125-7b1f41cf01cf%252FUntitled.png%3Ftable%3Dblock%26id%3D385b3c3c-f073-4e46-8008-b514492285ea" alt="Image" width="760" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the &lt;a href="https://dev.to/380f681f6ebe4dedb4a4ae2b06f546de?pvs=25"&gt;first edition of my weekly indie log&lt;/a&gt; , I went on vacation with my family to Bangkok and Kuala Lumpur for two weeks - which put a stopped on my updates during that period.&lt;/p&gt;

&lt;p&gt;However, the life of an indie hacker is to be on alert all the time. During the time I was in Bangkok, I fortunately did not have any downtime for either of my products &lt;a href="http://stomod.com" rel="noopener noreferrer"&gt;stomod.com&lt;/a&gt; or &lt;a href="http://assistflare.com" rel="noopener noreferrer"&gt;assistflare.com&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;However, I did prepare for the trip in advance to make sure if shit hits the fan, I am ready.&lt;/p&gt;

&lt;p&gt;Before the trip, I did some contingency planning for what I would do if stuff went awry during my time away from home.&lt;/p&gt;

&lt;p&gt;I did pack my laptop to bring along for the trip. However it was not idea lug that around Bangkok in a backpack. I decided to take the lighter weight 12.1” iPad Pro I have along and setup essential software on both my iPad and iPhone.&lt;/p&gt;

&lt;p&gt;These are the software I have on all my devices which allows me to be ready to intervene if anything goes bad:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://termius.com/" rel="noopener noreferrer"&gt;Termius&lt;/a&gt; - app which allows me to SSH into my VPS to restart/diagnose problems if any.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://uptimerobot.com/" rel="noopener noreferrer"&gt;Uptime Robot&lt;/a&gt; - monitors my products’ uptime and alerts me if there’s any issue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://crisp.chat/en/" rel="noopener noreferrer"&gt;Crisp&lt;/a&gt; - For users to reach out to me if there’s any problem via live chat.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://logsnag.com/" rel="noopener noreferrer"&gt;Logsnag&lt;/a&gt; - To keep an eye on new sign ups and user flow on the apps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://orm.drizzle.team/drizzle-studio/overview" rel="noopener noreferrer"&gt;Drizzle Studio&lt;/a&gt; - For making changes to the database if needed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.airalo.com/" rel="noopener noreferrer"&gt;Airalo&lt;/a&gt; - For easy e-sims for data plans for internet access&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Going into action during the trip
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F57d0d5d9-82b7-452f-a6a7-7174c55119d4%252FUntitled.png%3Ftable%3Dblock%26id%3D6bd3ed2e-f8c8-44f9-9334-b5b522daaf07" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F57d0d5d9-82b7-452f-a6a7-7174c55119d4%252FUntitled.png%3Ftable%3Dblock%26id%3D6bd3ed2e-f8c8-44f9-9334-b5b522daaf07" alt="Image" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;During my trip, I had to spring into action twice for two customers to help them setup their blogs on Stomod. Fortunately both times I was in the airport and had time to kill anyways and managed to help them out without any issues.&lt;/p&gt;

&lt;p&gt;Coming out of those support sessions, it’s evident that I need to automate the ability to host a Stomod blog under a sub folder of another domain. Right now, there’s some manual intervention needed from my side which I plan to resolve in my next coding week.&lt;/p&gt;

&lt;h2&gt;
  
  
  Marketing week x coding week
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F51a208ca-2038-4fc2-b33f-da4e6928a44e%252FUntitled.png%3Ftable%3Dblock%26id%3D53303fc5-9e1b-4822-8746-acaace2f02e7" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F51a208ca-2038-4fc2-b33f-da4e6928a44e%252FUntitled.png%3Ftable%3Dblock%26id%3D53303fc5-9e1b-4822-8746-acaace2f02e7" alt="Image" width="1792" height="1024"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This brings me nicely to my new initiative going forward into March. I came across Jon Yongfook’s blog post: &lt;a href="https://www.bannerbear.com/blog/why-you-should-do-50-coding-and-50-marketing-as-a-solo-tech-founder/" rel="noopener noreferrer"&gt;3 Reasons Why I Think 50% Coding 50% Marketing is the Best Framework for Solo Tech Founders&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;This prompted to me consider trying this out as I felt mixing both coding and marketing was being counter productive. So last week, I decided to fully focus on coding. Previously, I would code a feature and then tweet about it with a video showcasing it.&lt;/p&gt;

&lt;p&gt;This time around, I decided to forego any tweeting or talking about those features and fully focused on my todo list for the week and managed to knock out a record number of tasks off my todo!&lt;/p&gt;

&lt;h2&gt;
  
  
  Weekly 3x gym challenge
&lt;/h2&gt;

&lt;p&gt;I saw a tweet from Pieter Levels (a.k.a levelsio on X) where he challenged anyone joining his “2024 PIETZ GYM CHALLENGE” to go to the gym 3x weekly or pay him $100. I’m not going to pay him $100.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Ff7da12dd-8271-42eb-8320-e77f5017da38%252FUntitled.png%3Ftable%3Dblock%26id%3D4ec740fe-ec41-42e8-bceb-39cef8993767" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Ff7da12dd-8271-42eb-8320-e77f5017da38%252FUntitled.png%3Ftable%3Dblock%26id%3D4ec740fe-ec41-42e8-bceb-39cef8993767" alt="Image" width="1580" height="987"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I decided to join the challenge and I’m posting updates on Twitter to keep me accountable. So that’s two initiatives already I’m part of together with the alternating coding &amp;amp; marketing weeks 😅&lt;/p&gt;

&lt;h2&gt;
  
  
  Product Updates
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Stomod updates
&lt;/h3&gt;

&lt;p&gt;Using a fully focused coding week, I managed to ship a bunch of customer requested features, including numerous bug fixes. Below is a list of what’s going into the February product update email:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Table of contents upgrades - The table of contents which is displayed on blog posts how highlights which section you are currently on within the page. It also will display a default (adjustable in the settings page) number of links on mobile as not to overcrowd the top of the post.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Discord social link - Added the ability to add a link to your Discord server in the footer alongside the other social links like X, Facebook, Instagram, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Zoomable images - Added a toggle in the settings to allow users to enable zoomable images - this will zoom any blog post image in a popup modal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;OG image for blog - Previously Stomod supported OG image only for blog posts but used the favicon as OG image for the landing page, but now you can upload a custom OG image for your blog.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;datePublished/dateModified Meta Data - Each blog posts on Stomod now embed meta data within the &lt;time&gt; HTML tag to signal to search engines regarding when the post was published and updated.&lt;/time&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Author bios - Stomod now supports author profile pictures and bios which are listed at the bottom of each post, on the author page and as a hover card when hovering on an author name.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JSON-LD support - Stomod finally supports JSON-LD for blog posts and will generate proper JSON-LD tags which helps search engines better understand your content.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AssistFlare updates
&lt;/h3&gt;

&lt;p&gt;No updates for AssistFlare for this week as I consider the product stable for now and working on getting customers for the platform.&lt;/p&gt;

&lt;p&gt;That’s it from me! Catch me next week for Weekly Indie Log #3 and &lt;a href="http://x.com/hirvesh" rel="noopener noreferrer"&gt;follow me on X&lt;/a&gt; for updates.&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #6</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Thu, 10 Apr 2025 07:06:36 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-6-d4a</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-6-d4a</guid>
      <description>&lt;p&gt;It’s Weekly Indie Log #6. I’ll be honest. Last week was meant to be marketing week but a pesky cache bug quickly torpedoed it into a coding week - an issue which threatened the value proposition of Stomod: unlimited posts and page views for your blog. Before we dive into the details, let’s first take a look at the MRR update.&lt;/p&gt;

&lt;h3&gt;
  
  
  MRR Update
&lt;/h3&gt;

&lt;p&gt;This week we are at $239 MRR following a couple of new blogs created. The good thing with Stomod is that even if I do not get new subscribers, existing customers get charged per blog and each new blog created adds to the MRR.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F4d4a52b6-492e-4665-9553-b89ca0d6e9b1%252FUntitled.png%3Ftable%3Dblock%26id%3Dae328db1-3943-44f0-a331-287f3c22b4f6" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F4d4a52b6-492e-4665-9553-b89ca0d6e9b1%252FUntitled.png%3Ftable%3Dblock%26id%3Dae328db1-3943-44f0-a331-287f3c22b4f6" alt="Image" width="2002" height="1354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Marketing Week Killer Bug
&lt;/h2&gt;

&lt;p&gt;I started off last week with big plans for marketing week but I needed to investigate an issue reported by one of my customers about some 502 errors he was having on the blog. This made me very curious.&lt;/p&gt;

&lt;p&gt;You see, blogs hosted on Stomod are intelligently cached on our CDN so that they are generated once and served from the CDN for up to a month if nothing changes in the blog content - with the blog posts periodically revalidated every 5 seconds.&lt;/p&gt;

&lt;p&gt;The idea is that at any point in time, no matter the traffic your blog is getting, my origin server is only polled once every five seconds for a particular blog post.&lt;/p&gt;

&lt;p&gt;When I heard of 502 errors, I saw that it aligned with some of the maintenance downtime I had planned for the Stomod app at app.stomod.com.&lt;/p&gt;

&lt;p&gt;However, with my CDN setup, this should not affect blogs which should remain up.&lt;/p&gt;

&lt;h3&gt;
  
  
  Investigation
&lt;/h3&gt;

&lt;p&gt;I started looking into the issue and quickly found out that for my customers using the &lt;code&gt;/blog&lt;/code&gt; sub folder feature of hosting their blog under their main domain - for e.g. &lt;a href="http://example.com/blog" rel="noopener noreferrer"&gt;example.com/blog&lt;/a&gt; coupled with hosting on Vercel using the rewrites functionality in their &lt;code&gt;vercel.json&lt;/code&gt; or &lt;code&gt;next.config.json&lt;/code&gt; , Cloudflare (CF) cache status would always be MISS.&lt;/p&gt;

&lt;p&gt;This initially got me thinking that it might be a misconfiguration from my side which was not allowing reverse-proxied URLs to be cached properly on CF since other domain mapping types were working properly.&lt;/p&gt;

&lt;p&gt;After reviewing the configuration a thousand times and trying different configuration combinations, I couldn’t figure out what’s going on.&lt;/p&gt;

&lt;p&gt;I then started thinking that maybe Vercel’s rewrites that was sending headers to CF which busted cached. I did some further testing and while I could see &lt;code&gt;Cache-Control: max-age=0&lt;/code&gt; on my server logs, I could not have CF properly ignore this header.&lt;/p&gt;

&lt;p&gt;In retrospective, this led me down a rabbit hole where I got obsessed with this and how to resolve this when the issue was actually something else 👀.&lt;/p&gt;

&lt;h3&gt;
  
  
  Throwing the Towel In
&lt;/h3&gt;

&lt;p&gt;Eventually, I just couldn’t understand why despite all my efforts, I couldn’t make CF cache Vercel reverse-proxied blogs. My head was spinning because I simply could not provide the value Stomod claims to provide if I could not leverage my CDN properly.&lt;/p&gt;

&lt;p&gt;I decided that I needed help and reached out to CF support after day 3 of struggling with the issue (another mistake, should have done this earlier).&lt;/p&gt;

&lt;h3&gt;
  
  
  Not all Heroes Wear Capes
&lt;/h3&gt;

&lt;p&gt;I reached out to CF on their Discord channel and got two support guys assisting me straight away. We started off by sharing details about what’s happening and the strange behavior being exhibited by CF cache.&lt;/p&gt;

&lt;p&gt;Fortunately I had setup a test environment to replicate and test changes with backend access for log retrieval.&lt;/p&gt;

&lt;p&gt;We overall debugged the issue together for 2 hours before one of the support engineers clocked that Vercel added additional headers to their rewrites which affects how CF caches pages.&lt;/p&gt;

&lt;p&gt;Basically that header was causing each request to seem like a new one even though it was to the same page and hence causing a MISS on CF cache.&lt;/p&gt;

&lt;p&gt;The support engineer provided a fix and I implemented that and boom, voila - everything was now being served under the CDN and one heavy burden was lifted from my shoulders. I was incredibly grateful to those support guys - to me heroes who saved me a big headache.&lt;/p&gt;

&lt;h2&gt;
  
  
  Continuing with Coding Week
&lt;/h2&gt;

&lt;p&gt;Since the week was already kind of a coding week by then, I decided that hey, I should continue with the building and replace the marketing week with the upcoming coding week.&lt;/p&gt;

&lt;p&gt;So after the cache bug hiatus, I managed to deliver some value for Stomod as well. Let’s take a look at what’s new below.&lt;/p&gt;

&lt;h3&gt;
  
  
  Email Drip Sequence
&lt;/h3&gt;

&lt;p&gt;This kind of falls under marketing since I have had this in my todo since forever. The idea was to implement an email drip sequence for users signing up to Stomod.&lt;/p&gt;

&lt;p&gt;The goal is to deliver well-timed emails at different points of a user’s Stomod journey to nudge them to the next right step.&lt;/p&gt;

&lt;p&gt;For the limited time I had left in coding week, I decided to just get out a &lt;em&gt;Welcome Email&lt;/em&gt; which would be sent 5 minutes after a user signed up for Stomod with some useful documentation links on how to get going.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F5ac9e0c9-b7b8-4fe5-b3f8-f85e5016397c%252FUntitled.png%3Ftable%3Dblock%26id%3Dc489bef5-c1b0-413d-beb1-6fadd5b35246" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F5ac9e0c9-b7b8-4fe5-b3f8-f85e5016397c%252FUntitled.png%3Ftable%3Dblock%26id%3Dc489bef5-c1b0-413d-beb1-6fadd5b35246" alt="Welcome email sent from Stomod" width="1929" height="1140"&gt;&lt;/a&gt;Welcome email sent from Stomod&lt;/p&gt;

&lt;p&gt;The next thing planned for the email drip sequence is to devise a flow chart of the different points at which an email needs to be sent to users and roll that out in the next coding week.&lt;/p&gt;

&lt;h3&gt;
  
  
  Blog Deletion &amp;amp; On-Demand Sync
&lt;/h3&gt;

&lt;p&gt;Customers are charged by blog created. Initially Stomod did not have a blog deletion feature build in. However now customers can delete blogs they do not need or created in error.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F1e4e3e14-85e4-4ceb-ae4c-d740061eaa2e%252FUntitled.png%3Ftable%3Dblock%26id%3Dbcf01d59-db39-4ced-9e5c-e15364770200" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F1e4e3e14-85e4-4ceb-ae4c-d740061eaa2e%252FUntitled.png%3Ftable%3Dblock%26id%3Dbcf01d59-db39-4ced-9e5c-e15364770200" alt="Blog delete functionality on Stomod" width="1214" height="631"&gt;&lt;/a&gt;Blog delete functionality on Stomod&lt;/p&gt;

&lt;p&gt;Another feature which I back-ported from AssistFlare is the whole site switcher component which allows users to sync their blogs on demand while also providing a nice intuitive interface for managing all their blogs, including creating/deleting blogs.&lt;/p&gt;

&lt;p&gt;With this feature, users now have full control over their blog sync and can see the date/time when their blog was last synced, which was something of a grey area previously as this was not indicated anywhere on the admin side.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F21ebad7e-4e4f-4818-b8a8-cbe8cc8baa11%252FUntitled.gif%3Ftable%3Dblock%26id%3Da62613a7-ab81-4603-812e-f9d9418e2a13" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F21ebad7e-4e4f-4818-b8a8-cbe8cc8baa11%252FUntitled.gif%3Ftable%3Dblock%26id%3Da62613a7-ab81-4603-812e-f9d9418e2a13" alt="On-demand sync functionality" width="1024" height="1024"&gt;&lt;/a&gt;On-demand sync functionality&lt;/p&gt;

&lt;p&gt;That’s it from me for this week! Back to marketing week and until the next one 💪&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/hirvesh/status/1774861488790053340?s=20" rel="noopener noreferrer"&gt;https://x.com/hirvesh/status/1774861488790053340?s=20&lt;/a&gt;&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #14</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Thu, 10 Apr 2025 07:06:28 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-14-28ij</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-14-28ij</guid>
      <description>&lt;p&gt;This last week went by fast. With my focus much on SEO and delivering more value out of Stomod and AssistFlare.&lt;/p&gt;

&lt;p&gt;The focus on shipping for the week was around Stomod. I intend to move my focus to AssistFlare in two weeks. Before I do that, in the two remaining weeks, I intend to make Stomod as near feature complete as possible.&lt;/p&gt;

&lt;p&gt;What does this mean? I want to cover everything on my roadmap and slow down development work to just new feature requests and focus more on marketing - but marketing a “complete” product which actually has a very strong value proposition. So how did I do last week in terms of shipping?&lt;/p&gt;

&lt;h2&gt;
  
  
  Moving Away from Credit Card Upfront Free Trial
&lt;/h2&gt;

&lt;p&gt;A couple of month back, I made the decision to move Stomod from a free trial without credit card to a free trial which required a credit card upfront to start.&lt;/p&gt;

&lt;p&gt;The idea behind the move was to get more qualified leads of people who actually wanted to try out the product seriously and reduce the number of weak leads.&lt;/p&gt;

&lt;p&gt;This turned out to be a bad idea as to where previously I was getting 1-2 trials per day, I got barely any trials weekly with the CC upfront method.&lt;/p&gt;

&lt;p&gt;Visitors were reticent to put their CC upfront from what I've seen and don't even sign up for the trial.&lt;/p&gt;

&lt;p&gt;The biggest disadvantage was that less people were signing up to use the product, I could not have them on my mailing list to try to re-activate those users with my product updates or promotions.&lt;/p&gt;

&lt;p&gt;I also don't get feedback or insight into how new users are behaving with the product when trialling out the product.&lt;/p&gt;

&lt;p&gt;This prompted me to shift back to having Stomod on a trial without CC flow and the ongoing free trials are nearly back to normal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Product Improvements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Improved Search with Full-Text Search
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Better Mobile Search UX
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Fixing Cover Image Aspect Ratios
&lt;/h3&gt;

&lt;h3&gt;
  
  
  RSS feed with Atom Compliance
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Embedded Tweets Light Theme
&lt;/h3&gt;

&lt;p&gt;Previously embedded tweets in posts would show up in dark mode, but now they will show up in light mode by default until dark mode lands in Stomod very soon and then it will be available in dark mode as well.&lt;/p&gt;

&lt;p&gt;Here’s an example embedded tweet in light mode:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/hirvesh/status/1795011660236640724" rel="noopener noreferrer"&gt;https://x.com/hirvesh/status/1795011660236640724&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  New Top Navbar
&lt;/h3&gt;

&lt;p&gt;The top navbar on Stomod has been a cause of many headaches for me. While it is pretty easy to design a responsive navbar with static items, designing one for a blog platform where logo sizes differ and there are a variety of configuration option including mega menus, search, CTA buttons - it can be a little challenging.&lt;/p&gt;

&lt;p&gt;The original implementation of the navbar had it’s challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Logos were not displayed at the proper size on mobile devices (was smaller than intended)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Logo + site name display combination would not display properly&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mega menu would not wrap properly and caused the navbar to break visually&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With the intention to put these issues behind once and for all, I sat down to implement a hyper responsive navbar taking concepts I had seen years ago online.&lt;/p&gt;

&lt;p&gt;The new hyper responsive header menu for all Stomod blogs will show all menu items in the navbar but progressively wrap under the drawer menu as space decreases. The is showcased below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F29a9225a-8f80-45b8-b6b4-61fc63df4d60%252Fad788fd8-f75d-47e4-9340-f1cf18987c1b.gif%3Ftable%3Dblock%26id%3D0f8f6fb9-af23-4d3f-bdca-9fa97e46ebae" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F29a9225a-8f80-45b8-b6b4-61fc63df4d60%252Fad788fd8-f75d-47e4-9340-f1cf18987c1b.gif%3Ftable%3Dblock%26id%3D0f8f6fb9-af23-4d3f-bdca-9fa97e46ebae" alt="New hyper responsive navbar for Stomod blogs" width="1024" height="1024"&gt;&lt;/a&gt;New hyper responsive navbar for Stomod blogs&lt;/p&gt;

&lt;p&gt;With this new implementation, all edge cases are take care of and the menu is progressively responsive and should handle all cases and combination of configurations well.&lt;/p&gt;

&lt;h3&gt;
  
  
  Overall Blogs Analytics
&lt;/h3&gt;

&lt;p&gt;That’s about it for this week, catch you in the next one next week! 👋&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #17</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Thu, 14 Nov 2024 22:45:37 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-17-p5o</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-17-p5o</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Fff2b85dd-655a-4bfa-af99-a8e836cfa02f%252FWeekly_Indie_Log_%287%29.png%3Ftable%3Dblock%26id%3D0cab26f7-b318-484f-a5ae-bc8ff6497fd6" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Fff2b85dd-655a-4bfa-af99-a8e836cfa02f%252FWeekly_Indie_Log_%287%29.png%3Ftable%3Dblock%26id%3D0cab26f7-b318-484f-a5ae-bc8ff6497fd6" alt="Image" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hello again! Another edition of the Weekly Indie Log! This week I am going to be talking about progress with Stomod, review the roadmap, future plans and diving into mobile apps again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stomod
&lt;/h2&gt;

&lt;p&gt;With Stomod, things are chugging along nicely with the newsletter feature launched (in beta) I am further refining the feature and working on integrating it into the paid plans. I managed to integrate newsletter analytics into the platform and now I am working on integrating this into the paid plan. The idea probably would be to provide unlimited subscribers + a numbers of “sends” per plan - e.g. 5000 sends per month on Pro, 10,000 per month on Pro Plus.&lt;/p&gt;

&lt;p&gt;I am still working on the economics of this and hope to wrap this up by the end of the week.&lt;/p&gt;

&lt;h3&gt;
  
  
  Newsletter Analytics
&lt;/h3&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/qg7qpz3X2gU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The goal with Stomod is to make everything trackable around. To achieve that, I need to have metrics implemented for every facet of the content distribution.&lt;/p&gt;

&lt;p&gt;For blog posts, some months back, I implemented web analytics which tracking a plethora of metrics for your blog posts in a privacy friendly way.&lt;/p&gt;

&lt;p&gt;For newsletter analytics, these are the following metrics being tracked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sends&lt;/strong&gt; : How many emails were sent for a particular blog post/campaign publication&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Delivered&lt;/strong&gt; : How many emails out of those sent were delivered successfully to subscribers inbox&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Opens&lt;/strong&gt; : How many emails out of those delivered were opened by subscribers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open Rate %&lt;/strong&gt; : The open rate of all the emails sent and delivered&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Clicks&lt;/strong&gt; : How many links were clicked as part of the emails sent&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Click Rate %&lt;/strong&gt; : Click percentage of the links&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Unsubscribed&lt;/strong&gt; : How many subscribers unsubscribed due to the campaign/blog post publication&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reported Spam&lt;/strong&gt; : How many subscribers reported the email as spam&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bounced&lt;/strong&gt; : How many subscribers email bounced&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With the above metrics in place, it is very easy to see which type of content is being consumed best by your newsletter subscribers and which ones are driving negative actions (unsubscribes/spam reports).&lt;/p&gt;

&lt;h2&gt;
  
  
  Post Previews
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Feb5ea00b-ed6d-4bca-8b18-27e8c01b2c86%252FUntitled.png%3Ftable%3Dblock%26id%3D8dc01dc1-be77-4c68-a24b-ebdc9c8a4e4e" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Feb5ea00b-ed6d-4bca-8b18-27e8c01b2c86%252FUntitled.png%3Ftable%3Dblock%26id%3D8dc01dc1-be77-4c68-a24b-ebdc9c8a4e4e" alt="Previewing posts before publishing" width="800" height="319"&gt;&lt;/a&gt;Previewing posts before publishing&lt;/p&gt;

&lt;p&gt;Another feature which I delivered as part of the newsletter implementation is previews. When publish a blog post, I could iterate on the post to make it look nicely formatted and Stomod would update it every time I changed the post.&lt;/p&gt;

&lt;p&gt;With newsletters into the equation, it became a priority to implement previews as users would want to check how the post looks on the blog/email before sending it out.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does it Work?
&lt;/h3&gt;

&lt;p&gt;For this implementation I wracked my brain on how to implement this and came up with this solution:&lt;/p&gt;

&lt;p&gt;Every time Stomod syncs a post, it does a diff of the existing post and the new post. If there are changes, it generate a preview “token” which it stores in the database.&lt;/p&gt;

&lt;p&gt;When a user view a post still in draft on the dashboard, Stomod append the preview token to the post URL and Stomod, if it detect the preview token, will render the page even if it not published, otherwise it throws a 404.&lt;/p&gt;

&lt;h3&gt;
  
  
  Previewing Posts as Email Newsletters
&lt;/h3&gt;

&lt;p&gt;Previewing the posts as newsletter is another ball-game altogether as Stomod needs to render the blog post as email then render the email as HTML. However, with the custom email renderer I built, it was dead easy and users can easily preview as email within Stomod too!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F3b87b1ef-ca7b-4dde-8e2b-ee057b2d159c%252FUntitled.gif%3Ftable%3Dblock%26id%3D1314562e-ab77-4e94-b63e-4a4513b90901" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F3b87b1ef-ca7b-4dde-8e2b-ee057b2d159c%252FUntitled.gif%3Ftable%3Dblock%26id%3D1314562e-ab77-4e94-b63e-4a4513b90901" alt="Previewing blog post as email newsletter" width="1662" height="896"&gt;&lt;/a&gt;Previewing blog post as email newsletter&lt;/p&gt;

&lt;h2&gt;
  
  
  Moving Sync to pg-boss
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F95e4891b-8d03-4ba6-b0cf-df7c128cfaf3%252FUntitled.png%3Ftable%3Dblock%26id%3Dfc22295a-16dd-4737-8f31-b0d292eeafce" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F95e4891b-8d03-4ba6-b0cf-df7c128cfaf3%252FUntitled.png%3Ftable%3Dblock%26id%3Dfc22295a-16dd-4737-8f31-b0d292eeafce" alt="Image" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For those of you who follow me on X and have read my previous weekly indie logs, you would know how much I love pg-boss!&lt;/p&gt;

&lt;p&gt;pg-boss is a job queue built in Node.js on top of PostgreSQL in order to provide background processing and reliable asynchronous execution to Node.js applications.&lt;/p&gt;

&lt;p&gt;Previous Stomod’s Notion sync mechanism was based on a Next.js API route which was triggered every minute by a Google Cloud Scheduler task.&lt;/p&gt;

&lt;p&gt;While it was working correctly, there was some caveat to how the previous implementation worked which caused some issues.&lt;/p&gt;

&lt;p&gt;If the sync was not completed during the one minute it was allocated to run, Google Cloud Scheduler would trigger another sync process irrespective of the previous one still running and this would cause some race conditions.&lt;/p&gt;

&lt;p&gt;With the move to pg-boss, I can explicitly define that the sync job needs to run once every minute and if it does not complete within a minute, not to trigger a new one until two minutes have elapsed and if the previous job is still running to kill it and trigger a new one afresh.&lt;/p&gt;

&lt;p&gt;This makes the sync more reliable and doesn’t cause race conditions and internalized all my infra dependencies to only my VPS server 🥳&lt;/p&gt;

&lt;h2&gt;
  
  
  Marketing &amp;amp; SEO
&lt;/h2&gt;

&lt;p&gt;On the marketing and SEO side, I have decided to up the game with SEO and working on getting more content out for SEO purposes. I will also be integrating more tools into Stomod to be able to track how your content is doing on the SEO front.&lt;/p&gt;

&lt;p&gt;One of the top items on my list is to integrate Google Search Console data into Stomod’s dashboard so that you can have visibility into what pages are indexed v/s not and get notifications when they get indexed as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Product Hunt Launch
&lt;/h2&gt;

&lt;p&gt;I am also finally planning to launch Stomod on Product Hunt. I will probably launch it before the 19th of August and will be compiling a list of tips on how to launch on PH and try to follow those as closely as I can. You can subscribe to my newsletter for a look at that list below.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mobile App
&lt;/h2&gt;

&lt;p&gt;Finally, I have decided to delve into the mobile app business yet again (after my initial failed foray with OutLater - my social media scheduling app). I am thinking of working on a wide audience app like a habit tracker (I use Habitify daily, but with my subscription up, I want to dive into developing one of my own).&lt;/p&gt;

&lt;p&gt;I will work on this on weekend likely and post about it on X and see if it gains any traction. This will be an exercise in getting back into the fray of using Expo and building more app in the future.&lt;/p&gt;

&lt;p&gt;That’s it from me - catch me on &lt;a href="http://x.com/hirvesh" rel="noopener noreferrer"&gt;x.com/hirvesh&lt;/a&gt;&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #11</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Thu, 14 Nov 2024 22:45:20 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-11-24m4</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-11-24m4</guid>
      <description>&lt;p&gt;Coding week for 29th April to 05th May was a bit of a downer. I had big plans but couldn’t manage to do all that I wanted to do in the week. A bit of a recurring theme for the last couple of weeks as other aspects of my life (day job/personal life) have been bleeding into my solopreneur life.&lt;/p&gt;

&lt;p&gt;Nevertheless, I did some additional work around the web analytics which I shipped the week before and also tackled a problematic issue with deployment for Stomod. Let’s dive into those.&lt;/p&gt;

&lt;h2&gt;
  
  
  Improved Web Analytics
&lt;/h2&gt;

&lt;p&gt;If you remember from my &lt;a href="https://hirve.sh/weekly-indie-log-9" rel="noopener noreferrer"&gt;Weekly Indie Log #9&lt;/a&gt; , I released web analytics for all users of Stomod to enable them to have an overview of everything that’s happening on their blogs within Stomod.&lt;/p&gt;

&lt;p&gt;There were a bunch of metrics included in the initial release among which were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Top Pages&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Referrals&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Bounce Rate&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Countries&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Languages&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Devices&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Desktop Screen Sizes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Browsers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;OS&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Attention Metric
&lt;/h3&gt;

&lt;p&gt;Another metric which I shipped is visitor attention - i.e. how much time a visitor spends on a specific page or on the blog as a whole during a specific time period.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F225b02a1-f588-4817-92e7-a0b366c0ce80%252FUntitled.png%3Ftable%3Dblock%26id%3Ddf09eb9a-141f-4205-854b-97415037a6ea" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F225b02a1-f588-4817-92e7-a0b366c0ce80%252FUntitled.png%3Ftable%3Dblock%26id%3Ddf09eb9a-141f-4205-854b-97415037a6ea" alt="Attention metric on the Stomod dashboard" width="800" height="488"&gt;&lt;/a&gt;Attention metric on the Stomod dashboard&lt;/p&gt;

&lt;p&gt;The attention metric shows the average time spent on a specific blog post or on a specific blog as a whole as well as the accumulative time spent on the blog.&lt;/p&gt;

&lt;p&gt;It also shows a breakdown of the average time spent on each blog post as well.&lt;/p&gt;

&lt;p&gt;As I wrote down this paragraph, I realized I could also include estimated reading time vs average reading time on that metric block - the pros of blogging down my thought! 😅&lt;/p&gt;

&lt;h3&gt;
  
  
  Campaign Metrics
&lt;/h3&gt;

&lt;p&gt;If you run ads or any other type of promotional campaigns, you may have come across UTM tags.&lt;/p&gt;

&lt;p&gt;UTM tags, short for Urchin Tracking Module tags, are simple code snippets added to the end of a URL to help marketers track the performance of online campaigns across traffic sources and publishing media. They work by capturing specific data about the link a visitor clicked to arrive at a site.&lt;/p&gt;

&lt;p&gt;Here are the common UTM parameters:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;utm_source&lt;/strong&gt; : Identifies the source of the traffic, such as a search engine, newsletter, or other referral.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;utm_medium&lt;/strong&gt; : Describes the medium used to share the link, such as email, social media, or cost-per-click.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;utm_campaign&lt;/strong&gt; : Specifies the individual campaign name, slogan, promo code, etc., that the link is part of.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Stomod Web Analytics now captures metrics around UTM campaigns and displays those stats from within your dashboard so that you can have an idea of how your different campaigns are performing. This is how it looks like:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F064e76a1-d011-49d4-be19-a7e1e6da1532%252FUntitled.gif%3Ftable%3Dblock%26id%3D1a1d4acd-f2b7-4ee8-b92d-34b400a6a8d8" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F064e76a1-d011-49d4-be19-a7e1e6da1532%252FUntitled.gif%3Ftable%3Dblock%26id%3D1a1d4acd-f2b7-4ee8-b92d-34b400a6a8d8" alt="UTM campaign tracking in Stomod Web Analytics" width="1343" height="950"&gt;&lt;/a&gt;UTM campaign tracking in Stomod Web Analytics&lt;/p&gt;

&lt;h3&gt;
  
  
  Deeper Analytics Integration
&lt;/h3&gt;

&lt;p&gt;As part of a more tightly integrated analytics experience for Stomod users, I decided to integrate the analytics more closely to the content users publish - i.e. posts, pages, author pages, tags pages.&lt;/p&gt;

&lt;p&gt;It was a fun exercise to do this - Stomod already has listing for posts/pages/authors/tags and it was a matter of adding another column with a spark line chart to display the trend of visitors over time.&lt;/p&gt;

&lt;p&gt;This is how it looks like on the post listing page:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Fba64ae74-fd8d-465d-a712-7c2bd8020a73%252FUntitled.png%3Ftable%3Dblock%26id%3D701b3aa5-a225-4070-b7ef-9f5ed66459fc" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Fba64ae74-fd8d-465d-a712-7c2bd8020a73%252FUntitled.png%3Ftable%3Dblock%26id%3D701b3aa5-a225-4070-b7ef-9f5ed66459fc" alt="Tightly integrated analytics under the blog posts listing in Stomod" width="800" height="410"&gt;&lt;/a&gt;Tightly integrated analytics under the blog posts listing in Stomod&lt;/p&gt;

&lt;p&gt;While at it, I also took the opportunity to migrate the table which displays the posts to use server-side pagination which I previously figured out how to implement using &lt;a href="https://tanstack.com/table/latest" rel="noopener noreferrer"&gt;TanStack Tables&lt;/a&gt; when implementing the analytics page.&lt;/p&gt;

&lt;p&gt;The final piece of the integrated analytics was to enable detailed analytics view for each blog post when clicking on the spark line chart. This was a simple matter of filtering the main analytics view to only display the post’s metrics. This is how this looks like, as a nice side sheet:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F7162f9c4-31ad-4610-bcde-5437c960ed42%252FUntitled.gif%3Ftable%3Dblock%26id%3Da3ec048d-c8d0-4854-bc2f-4596ad2dc09e" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F7162f9c4-31ad-4610-bcde-5437c960ed42%252FUntitled.gif%3Ftable%3Dblock%26id%3Da3ec048d-c8d0-4854-bc2f-4596ad2dc09e" alt="Detailed analytics for a specific blog post" width="800" height="400"&gt;&lt;/a&gt;Detailed analytics for a specific blog post&lt;/p&gt;

&lt;h3&gt;
  
  
  Remembering Analytics Interval
&lt;/h3&gt;

&lt;p&gt;A piece of UX improvement in the analytics which I also shipped was for it to remember across sessions which timespan you were previously looking at. By default the analytics view shows the stats for the last 7 days.&lt;/p&gt;

&lt;p&gt;With the update, I made use of LocalStorage to locally store the interval each time the user changes it and then display that same interval on subsequent visits.&lt;/p&gt;

&lt;p&gt;This is something super helpful as I found myself constantly switching between intervals on each visit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Fb671078e-c87c-4ac5-80e7-573bc4406469%252FUntitled.gif%3Ftable%3Dblock%26id%3D4f000942-0005-4375-b1af-8e4b9b71b548" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Fb671078e-c87c-4ac5-80e7-573bc4406469%252FUntitled.gif%3Ftable%3Dblock%26id%3D4f000942-0005-4375-b1af-8e4b9b71b548" alt="Stomod Analytics now remembers the previous interval used by the user" width="800" height="194"&gt;&lt;/a&gt;Stomod Analytics now remembers the previous interval used by the user&lt;/p&gt;

&lt;h2&gt;
  
  
  Improving Stomod’s CI/CD Pipeline
&lt;/h2&gt;

&lt;p&gt;Stomod’s initial deployment pipeline looked like so in the interest of simplicity:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Commit changes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Push to main&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SSH into VPS&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pull changes from main&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run &lt;a href="http://deploy.sh" rel="noopener noreferrer"&gt;deploy.sh&lt;/a&gt; which did the following&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Build Next.js app&lt;/li&gt;
&lt;li&gt;Reload PM2&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;When Stomod was small in size and still not in a TurboRepo monorepo, this setup worked fine for me as I felt no need to automate or complicate things. This setup meant &lt;a href="https://hirve.sh/nextjs-pm2" rel="noopener noreferrer"&gt;zero-downtime deploys&lt;/a&gt; and was working superbly.&lt;/p&gt;

&lt;p&gt;However as I moved to TurboRepo and the app grew in complexity, the Next.js build started consuming more and more resources to build.&lt;/p&gt;

&lt;p&gt;It reached a point where it would simply hang my VPS, rendering it unusable during the time it took to build Stomod.&lt;/p&gt;

&lt;p&gt;At that point in time, accessing Stomod’s dashboard became very slow but blogs remained fast as those are CDN-cached. There have been some instance where I needed to even reboot my VPS because CPU usage spiked so much that it simply rendered everything non-responsive.&lt;/p&gt;

&lt;h3&gt;
  
  
  Moving Build to Github Actions
&lt;/h3&gt;

&lt;p&gt;I spent some time during the week to move my build process off my VPS to Github Actions. Now the new process looks like so, which is way way more streamlined:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Commit changes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Push to main&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Github Actions runs&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It SSHes into my VPS and pulls my .env file into the build process&lt;/li&gt;
&lt;li&gt;It builds Stomod&lt;/li&gt;
&lt;li&gt;It SSHes back into the VPS and copies over the .next folder&lt;/li&gt;
&lt;li&gt;It pulls the latest changes from the Stomod Github repo and re-installs Node.js dependencies&lt;/li&gt;
&lt;li&gt;Reloads Stomod via PM2&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Done!&lt;/p&gt;&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;This new process is way more streamlined, I only need to push my changes to Github and it will build and deploy it to my VPS and it builds faster and does not bog down my VPS - big win all around!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Fc5b5807f-4b50-44df-a499-6b35dd35052a%252FUntitled.png%3Ftable%3Dblock%26id%3Db670505e-3309-43fb-bb3b-ec72ad82d592" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252Fc5b5807f-4b50-44df-a499-6b35dd35052a%252FUntitled.png%3Ftable%3Dblock%26id%3Db670505e-3309-43fb-bb3b-ec72ad82d592" alt="Image" width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s it from me - another week of marketing now awaits and I intend to make it count 💪&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #13</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Thu, 14 Nov 2024 22:45:05 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-13-18mb</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-13-18mb</guid>
      <description>&lt;p&gt;Weekly Indie Log #13. Last week was meant to be coding week but I got hit by sickness (fever, cold) early last week. This threw off my coding week as well as broke my gym streak which I had going on for 12 consecutive weeks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/hirvesh/status/1788077158079840539" rel="noopener noreferrer"&gt;https://x.com/hirvesh/status/1788077158079840539&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While this was a downer, the goal is always to bounce back stronger. Time-off from the indie world has given me some time to think about the whole marketing/coding week cycle which I embarked on more than a month ago.&lt;/p&gt;

&lt;p&gt;While it is a really good idea, it’s slowing me down considerably in terms of shipping velocity and for the roadmap I have planned for both &lt;a href="http://stomod.com" rel="noopener noreferrer"&gt;stomod.com&lt;/a&gt; and &lt;a href="http://assistflare.com" rel="noopener noreferrer"&gt;assistflare.com&lt;/a&gt; .&lt;/p&gt;

&lt;h2&gt;
  
  
  Moving to Blended Marketing/Coding Days
&lt;/h2&gt;

&lt;p&gt;The way I work right now is I have a big chunk of 3 to 4 hours early morning where I do deep work and then later in the afternoon after my day job, I do some free hours where I do other operational tasks.&lt;/p&gt;

&lt;p&gt;What I am think to move towards is to do the coding part of my indie journey in the early morning hours and switch to marketing mode in the afternoons.&lt;/p&gt;

&lt;p&gt;The idea is to ship something every day in the morning and then spend time in the afternoon marketing the products, rinse and repeat daily.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F8b90dcdd-64f6-4d46-9516-7860eca35c13%252FUntitled-2024-04-25-1332.png%3Ftable%3Dblock%26id%3Dce6ce681-a88b-42f4-93b6-edb16a9c0b89" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F4bbbb06f-3159-41f0-9c13-839b868700aa%252F8b90dcdd-64f6-4d46-9516-7860eca35c13%252FUntitled-2024-04-25-1332.png%3Ftable%3Dblock%26id%3Dce6ce681-a88b-42f4-93b6-edb16a9c0b89" alt="Blended coding-marketing days" width="800" height="476"&gt;&lt;/a&gt;Blended coding-marketing days&lt;/p&gt;

&lt;p&gt;Now even though I was sick, I managed to find some time to ship some thing which were requested previously by customers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Blog Stying Using Custom CSS
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Improved Blog Header
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;Besides the above, I also shipped a truck-load of bug fixes and UI improvements on the blog side and aim to continue improving the blog layouts and provide alternative themes for users in the upcoming few weeks.&lt;/p&gt;

&lt;p&gt;For now that’s it, cheers!&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
    <item>
      <title>Weekly Indie Log #12</title>
      <dc:creator>Hirvesh Munogee</dc:creator>
      <pubDate>Thu, 14 Nov 2024 22:44:48 +0000</pubDate>
      <link>https://dev.to/hirvesh/weekly-indie-log-12-1e0m</link>
      <guid>https://dev.to/hirvesh/weekly-indie-log-12-1e0m</guid>
      <description>&lt;p&gt;Hello! It’s already time to write the weekly indie log #12! Time is flying by and we are already in May!&lt;/p&gt;

&lt;h2&gt;
  
  
  Notion Content Creators Outreach
&lt;/h2&gt;

&lt;p&gt;Last week was marketing and SEO week and my focus was on Notion content creators’ reach-out which aimed to give away the product to some Notion content creators in exchange for feedback and possible collaboration.&lt;/p&gt;

&lt;p&gt;So far, I built a list of 50ish Notion content creators and reached out to them and have 4 of them interested in actually trying out Stomod.&lt;/p&gt;

&lt;p&gt;The deal is that I give them a lifetime free plan for the Stomod Pro Plus Plan and also give them a discount code personalized to them to share with their audience so that they get 20% off for 6 months.&lt;/p&gt;

&lt;p&gt;The content creators also get to register as affiliates and earn 20% off any subscriptions they refer to Stomod.&lt;/p&gt;

&lt;h2&gt;
  
  
  SEO Efforts
&lt;/h2&gt;

&lt;p&gt;I also spent some time doing research for content relevant to Stomod and came up with a list of blog posts to be published over the next few weeks. My goal is to publish at least 2 blog posts weekly for either Stomod or AssistFlare.&lt;/p&gt;

&lt;p&gt;The first article I published was for Stomod and was title &lt;a href="https://stomod.com/blog/notion-for-blogging" rel="noopener noreferrer"&gt;Why You Should Choose Notion for Your Blogging&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;With that first article published, on my roadmap for Stomod is to added Google Search Console integration so that I can monitor whether the post is indexed and get some stats if possible from GSC.&lt;/p&gt;

&lt;p&gt;I am also deliberating on building an indexing service for blog posts which uses &lt;a href="https://developers.google.com/search/apis/indexing-api/v3/quickstart" rel="noopener noreferrer"&gt;Google Indexing API&lt;/a&gt; to expedite indexing of blogs posts. This is easier said than done as each customer in Stomod will possibly need to have their own account which allows up to 200 URLs to be indexed per day. This feature is something which a TagParrot charges $11 monthly. If the management part is easy, I will probably spin this off as a separate product as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bringing Focus on AssistFlare
&lt;/h2&gt;

&lt;p&gt;AssistFlare has started getting some more traction as well and last week a customer requested a feature - the ability to password-protect knowledge bases which threw a spanner in my marketing week.&lt;/p&gt;

&lt;p&gt;I dropped everything mid-week to work on shipping this off and close this feature request.&lt;/p&gt;

&lt;p&gt;While AssistFlare had taken a bit of a backseat as I tried to grow Stomod, I’m thinking maybe this is not the right strategy and decided to bring it back into the fray and work equally on AssistFlare and Stomod.&lt;/p&gt;

&lt;p&gt;You can expect some more stuff to be shipped in the next few weeks as I back-port a lot of the features I built for Stomod into AssistFlare. This is the beauty of building a related product in the same nice. I get to share a lot of code between the two projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Better Planning
&lt;/h2&gt;

&lt;p&gt;The last two week were a bit of a mess from progress perspective as I was not planning enough ahead of executing. This caused uncertainty and slowed down progress - but this weekend I sat down to determine what’s the thing I need to do to bring the biggest value both in terms of product development and marketing and will action on those in the upcoming weeks.&lt;/p&gt;

&lt;p&gt;That’s it from me for this week - catch you in the next one!&lt;/p&gt;

</description>
      <category>weeklyindielog</category>
    </item>
  </channel>
</rss>
