Lifelog

Write 100 words a day, every day, towards your goals.

🍟 Side project weekend: Fixed bug when md editor inserts ![](null) instead of the placeholder url

Day 955 - Novelty vs delayed gratification - https://golifelog.com/posts/novelty-vs-delayed-gratification-1691879496755

Wakes up at 4am on weekends excited to work on a hobby side project.

But don't feel that way during weekdays on other 'main' projects.

There's always that nagging thought that it's wrong that I feel that way about the former and not the latter. I thought my motivation was broken. Because shouldn't my main things be more interesting and motivating?

But [someone on Twitter](https://twitter.com/JakeDuth/status/1690360804393070594) broke it down for me perfectly: The dopamine from the novelty of a hobby project feels energizing, because it's meant for recreation. But longer projects takes a way longer time, requires consistency and persistence, has tasks that are boring, and goes through lots of highs and lows. It requires delayed gratification, a belief that the project will pay off eventually in the future.

Which now makes so much sense.

Now that I build features on Lifelog every weekend for fun, for myself, for my friends here, not for growth or profit, there's so much less expectations and pressure. Plus I use this tool every day, so I see direct benefit from sharpening it every weekend. Whereas for the other weekday projects, there's more expectations, more commitment, more customers to support. But in the long term, it'll pay off in terms of revenue and helping me hit my indie hacker goals.

So it's 100% normal to feel more excited on side project weekends.

Nothing's broken.

Keep calm and carry on.

Day 954 - Remember when you wanted what you currently have? - https://golifelog.com/posts/remember-when-you-wanted-what-you-currently-have-1691826606664

Throwback to mid 2014, 9 years ago. I just left my job as a designer in a government Ministry. It was a stable, iron rice bowl kind of job. It provided what I needed to get married, buy a flat. But I left that safe harbour to try fulfiling my dream of owning my own business. I wanted to push myself. I wanted freedom. I wanted to create products and SaaS.

I wished I could code, but it was waaay hard for me.

So I simply started with what I was good at – design in government, but as a consultant. That made me a good living, but also made it hard for me to learn coding. I tried from time to time for the next few years, got bored of the online classes, dropped out, lose interest, forgot about coding. Then many months later the same process would repeat.

I still wished I could code, but hated coding. I only loved making products.

It was only till 2020 that coding finally stuck. In Dec 2020, I made Lifelog, my first SaaS. That's already 6 years since quitting from my last job.

That took a while.

And now 2023, I feel like I've only just started. Hitting $1k monthly revenue is like turning 1 month old as an indie hacker baby.

Learning to code took 6 years.
Hitting $1k revenue took 3 years.

That took a while.

> Remember when you wanted what you currently have? – [@poppacalypse](https://twitter.com/poppacalypse/status/1689666867823304706)

But everytime I feel impatient with my progress, this question always helps me come back to some gratitude. And most importantly, to be gentler and kinder to myself.

10 years ago, I wished I could code.
10 years later, I can, and make money from it.

Now that's worth celebrating.
Carl Poppa 🛸

🥹🥹🥹 nice one Jason. similar journey for me too, lots of starts and stops over the years.

0 Likes
Jason Leow Author

@poppacalypse this one's for you bro 🤝 thanks for the inspo tweet

0 Likes

🍟 Side project weekend: Added image upload functionality to rich text editor on compose page, and other bug fixes

- Added image upload functionality to rich text editor on compose page.
- Moved close button of welcome modal at topright of screen to topright of content box on compose page.
- Removed expiration=600 param in imgbb api endpoint url as causing images to expire.

Day 953 - Most ambitions are borrowed - https://golifelog.com/posts/most-ambitions-are-borrowed-1691720529321

> Real ambitions are not about working at Google or Meta, being funded by Y Combinator, or building a unicorn. You are ambitious if you dare to live the life you want to live. Not was imposed on you. It can be still building a unicorn or working at corporate. It can be building a boring SaaS. Make sure you decide. Thanks to Paul Millerd for writing and sharing his “Pathless Path”. The book is pretty eye-opening. – [@DmytroKrasun](https://twitter.com/DmytroKrasun/status/1689522905862791168)

Thought-provoking tweet by Dmytro. And I dare say, a lot of ambitions are borrowed, without real questioning.

I say this because it happened to me way more often than I like. Despite what I like to think of myself as someone who reflects deeply, thinks critically, try not to follow popular or mainstream ideas just because everyone says it. Yes, we tend to reliably under-estimate how biased we are. Truth is, a lot of ideas about lifestyle, way of life, life goals and dreams make their way into our subconcious without us being aware, and it subtly programs our responses and behaviour in automated ways.

Like I used to want to start a tech startup that would serve millions and would change the world. That's so *Silicon Valley*. Why millions? Why change the world? Over time, I realised it didn't really drive me on a deeper, intrinsic level. There's no personal interpretation of it for my own background, context, needs, and dreams. It was simply something glamourous and inspiring, no less due to media hero worship of college dropout, tech billionaires. It was fashionable. It was popular. It was what everyone would love to be... like kids wanting to be Superman.

*So how do we truly know?*

For me, short answer is it's like true love. You know it when you have it. Sorry not very helpful haha.

Maybe a longer answer could be phrased in a *via negativa* way: I'm more sure it's not borrowed if I've personally struggled trying to achieve it, through lots of pain and sweat, yet I continue to choose to pursue it time and again even after reflecting on data and own dreams, despite knowing the trade-offs.

Example: This indie hacking journey. When I first knew about indie hacking, through folks like @yongfook and @levelsio, I was entralled. I loved the remote work, location independence aspects of it, because I was already self-employed for a while already, and enjoyed the freedom. But I was still tied to working in Singapore because of the nature of consulting for government agencies. So being able to travel, work anywhere and be even more free felt like the next step. Even though this next step meant I would be re-starting from zero again as a total beginner (compared to being an industry veteran in my current consulting practice). Few people of my age (mid 40s), my life stage as a new parent, and in my consulting industry ever do this.

I loved creating things too, from start to end, having a hand on every part of the value chain. As an employee in the past and as a designer, I never had that chance to conceptualize, design, develop and ship a product all the way. So indie hacking provided a way to do so. This was despite all the struggle learning how to code, how to market, how to do social media. I picked up and dropped coding multiple times. I loved making tech products but hated coding then, because it was so foreign to my personality and skillsets. But I persisted despite, because I loved making products too much. Now I actually love to code.

There's so many more stories of personalising the indie hacking dream for myself (and being able to articulate it well) but over the 5 years sinced I started, I'm more and more sure that this is an ambition that isn't just borrowed, and I had made my own.

I might not be there yet in terms of hitting my indie hacking goals of at least ramen profitability, and then financial, location and creative freedom after.

But at least I am sure when I reach there, I truly wanted it.

Day 952 - Running my own race - https://golifelog.com/posts/running-my-own-race-1691624252573

I see [this list on Dan's tweet](https://twitter.com/dr/status/1688611954997305344), and on one hand at first glance, I'm relieved that there's some 50s/60s on that list, because I'm past most of the others!

![](https://i.ibb.co/xS63DjV/Screen-Shot-2023-08-09-at-7-51-22-AM.png)

Looking up to Col. Sanders for founding KFC at 62! At least I still got a chance...

But on the other hand after reflecting on it a bit: Isn't this list a clear testament that everyone's running their own race?

Someone's breakthrough at 41 is another's at 62.

On hindsight, they all probably got there on their own time, doing what they're curious about, what drives them.

So maybe I'm too hard on myself...

Truth is, sometimes unhelpful thoughts do come up and I feel like I'm past my prime to be hustling in a new field like indie hacking. Most people in their 40s like me are settling into their career, putting down roots in their specialty. I feel the same for my design consultancy career... feeling like a veteran after a decade in it. *So why do a new thing at all? Why not just cruise along?*

But on other more optimistic days, I feel 10x more alive trying new things, feeling challenged. Having a bigger goal—like sustained financial, location and creative freedom, at maybe $100k monthly revenue—also gets me up earlier in the day, lends purpose and meaning.

On those days, I can't help but agree with Dan, that I'm grateful to get to have a swing at it this year.

And hopefully the next too.
Marcel Fahle

45 here, swinging at the fences every day. :)

0 Likes

Day 951 - Latest Twitter / X algorithm updates - https://golifelog.com/posts/latest-twitter-x-algorithm-updates-1691550744490

The algorithm on Twitter / X just got updated again. Thanks to [@NFT_GOD](https://twitter.com/NFT_GOD/status/1688584001466875904) who did the hard guesswork of scouring through the open source code.

Some highlights and what I took away from it:

### 1. Replies to posts are amplified even more now, over retweets
- Being the reply guy on big accounts had always been one way to 'borrow' their followers to grow, but now replies are even more emphasized.
- This shows being part of a conversation will be favoured. So it's even less about broadcasting, and also less about dropping a reply to an account, but more about being part of a group, multi-party discussion. Fostering a community is back!
- De-prioritise low value, 1-2 word replies, and increase higher value replies to a select few posts where I feel strongly for. Reply with why you agree, disagree, or share a personal story. Then QT the original post with your reply so that it shows up on your profile.
- Or end with a question in the reply. If author responds to you, your reply gets a boost.

### 2. Videos will be amplified.
- Videos will be pushed up on the feed more. The "You might like" section will be replaced with "Popular videos". Recently many new video features were released - picture-in-picture viewing, full screen video, X exclusive shows (e.g. by Tucker Carlson).
- Post more videos, less gifs and images. Might be good to post those sleek screen recordings using Screen.Studio since we're building products in public. A hack I've seen for static images: A video of a [static image with a moving animated gradient background](https://twitter.com/NFT_GOD/status/1688912571670364161). It's just a 3s video with sound! Pretty smart!
- If not so camera shy, even consider vlogging *ala* Tiktok style.

![](https://i.ibb.co/WK7NMrp/Kzed-LGR9k-23-Q6-Uq.gif)

### 3. Content from creators with subscription switched on
- Subscription content will be pushed more on the feed.
- Apply to have subscription turned on. Accounts just having that, even if without posting subscription content, will still receive an algo boost on normal tweets apparently.
- If subscription is switched on, have a strategy for premium subscription content, like exclusive Spaces only for subscribers, long form posts sharing in-depth details of your products like revenue, or analyses.

### 4. Mention trending news and topics
- News and topics on What's Trending section will be emphasized.
- Hard to imagine how this will be relevant to indie hackers, unless it's a topic related to entrepreneurship, or Twitter. Maybe for other trends, borrow the trend topic and meme it for indie hacking? Like Barbieheimer memes we saw but reframed for indie hacking and products. Don't force this though as will come across as fake.

### 5. From 24h to 48h post life span
- Tweets can last longer on the main feed now. I'm seeing this happen already. Tweets from a few days ago can still get engagement. Still depends on how 'viral' it is of course, and most tweets will still die an organic death within hours.
- Not sure how relevant this is, action wise. It's great for us all, we might get more exposure time, but unsure what we can do for this.

### 6. Avoid deboosted content
- Deboosted content are stuff like links and mentions of competitor platforms like Threads.
- If your content is easy to scroll past, that gets deboosted as well! This was surprising to me. That means short, snappy, all-too-agreeable wisdom bomb tweets won't work no more.
- Basically, the algo will recommend posts based on how much time people spend on it – videos, long form posts, threads, no links.
- So avoid direct mentions of Threads, Mastodon, and other competitors etc. I suspect even threadbois using "a thread" will get deboosted, which ends up a good thing lol.

### Conclusion: What to act on

Caveat though: We can never be 100% sure what the code means because it's incomplete. But it lends clues for us to look out for in our daily experience using Twitter.

So what might an algo-optimized tweet post look like? A long form tweet, sharing a authentic and real/raw story, with a video showing something relevant to that story. Bonus points if you manage to link with with a trending topic, avoid mentions to competitors, and have subscription approved for your account.

Because let's face it: Sometimes we want that reach to help us market our products. Knowing the rules of the game we're playing on Twitter won't hurt. Even if you're not 'playing' *per se*, you're still affected by the algo rules. It would only help to know what rules and constraints you're playing against, and the choice is up to you to leverage it or not.

But the overall caveat for me is still this: **Don't tweet just for the sake of the algorithm.** That would be lame and fake, like threadbois in the past tweeting long threads full of fluff they paraphrased from Wikipedia. Being authentic and real will always be in fashion, no matter what algo changes there are. In cases where you want your genuine tweet to have greater reach—say when launching a product—tapping on some of these algo rules will help.

So authenticity before algorithm. Always.

⚗️ Experiment: Started manually sending pre-payment notice emails to customers to offer free trial extension for the undecided

The aim is to:

- remind customer to use app cos people forget
- offer goodwill cos nobody likes surprise charges
- opportunity to engage for feedback
- reduce potential cc disputes

Day 950 - Nobody really knows anything - https://golifelog.com/posts/nobody-really-knows-anything-1691461740411

I was re-reading this [old Hacker News classic](https://news.ycombinator.com/item?id=8863) this morning:

[![https://news.ycombinator.com/item?id=8863](https://i.ibb.co/K9S39mj/IMG-0582.jpg)](https://news.ycombinator.com/item?id=8863)

Struck by a few observations:

- If you read on further down the thread, the commentor was actually pretty friendly and trying to be helpful to the founder. They had a good civil discussion – he actually ends off with "I only hope that I was able to give you a sneak preview of some of the potential criticisms you may receive. Best of luck to you!". Unlike the other grumpy, elitist, overly-critical, armchair entrepreneur wannabes elsewhere on the forum, this isn't one of them. Goes to show how misunderstood the poor guy is.
 
- On hindsight, the commentor was embarassingly wrong. Dropbox went on to be a unicorn startup success. But no one knew any better then *in that moment in time*. The commentor *could* have been right, and he's more likely to be right than wrong at that moment, and Dropbox could have been another statistic of the 90% of startups that failed and nobody cared. The denominator is more important here. We laugh at the dude as if he's dumb. But he was more right than wrong then, and if we ourselves had to make the judgement call then, it's more likely we would make the same comments as he did than otherwise.
 
- We use this infamous comment as a reason to shrug off early feedback from armchair critics, and to validate our own ego and product. Truth is, we'll never know which way it'll go. It's all unfolding in the moment, and truth is emergent rather than fixed. Things are a lot more complex than it seems, and more luck is needed than we can objectively observe. On the contrary, it's dumb to assume otherwise than to assume everything's in control.

We're all making it up as we go, and any universal truths we shout about—especially in entrepreneurship—are on shaky grounds at best.

**Nobody really knows anything**.

Day 949 - Thank you Vue.js - https://golifelog.com/posts/thank-you-vuejs-1691370907069

Thank you Vue.js.

For all the profit I'm making now with my products.
For giving me the scaffolding I needed to get start coding.
For ultimately giving me a shot at building my own SaaS on my indie hacking journey.

I remember when I just started learning coding, I could never understand plain Javascript. I took the popular courses on Udemy, learned HTML, CSS, and Javascript. Created a few micro-apps. But plain vanilla Javascript never quite 'stuck'. I never got far learning it from coding courses.

But when I saw Vue.js, it all clicked... somehow.

Maybe it was at the right level of abstraction.
Maybe the syntax 'made sense' to me.
Maybe it's because it reminded me of jQuery.
Maybe it's because I didn't need to install build tools to learn it.
Maybe because the docs were so well-written.

I was able to build tiny standalone 'apps' with just one or two features. Each tiny project got me more confident and optimistic, that it *is* possible. I can build apps. I went to Nuxt.js, a framework built on top of Vue.js. And the rest is history, they say.

Step by step, using Vue.js, I eventually built both my current revenue-generating projects - Plugins for Carrd and Lifelog.

So the gratitude is real.

Thank you Vue.js 💚
Jason Leow Author

Cool! You use Vue as well, Raif?

0 Likes

Yes! I jumped into vue 2 same year I got into code. And recently, Nuxt 3, which I used for Memo Mind. :)

0 Likes

Updated postgres version on Snapshooter as that's causing the backup errors

Deployed to Heroku all the weekend fixes to md and rich text editors

- Added copy paste online image feature to rich text editor
- Add auth to image upload option to prevent non-authenticated users from uploading images
- Move close button of image upload modal at top-right corner of modal, and added close modal clickability to modal background
- Fixed minor issues of mobile responsiveness for /compose and /write page
- Fixed bug where toggle state is messed up if one accesses /write or /compose URLs directly.

Day 948 - Growing in figureoutability - https://golifelog.com/posts/growing-in-figureoutability-1691287794139

> "One version of confidence is: I've got this figured out. Another version is: I can figure this out. The first is arrogant and close-minded. The second is humble and open-minded. Be humble about what you know, but confident about what you can learn." – @James Clear](https://jamesclear.com/3-2-1/august-3-2023)

When I read this from James Clear's newsletter, I immediately thought of my #decodingcoding journey. When I started learning coding, I thought being good at it means I got to have it all figured out. As a noob, that felt scary and daunting. Insurmountable, even. There's so many languages, frameworks and libraries, and new ones emerging everyday. Even if I don't seek to learn them all, reaching that level of "good" for just one language, like say Javascript, feels way hard too. Will I ever be able to build my own SaaS, I asked.

But that shifted many months later of concerted effort, when I had a glimpse of what it meant to feel that "I can figure this out". Initially when I'm stuck, I had to ask friends for help all the time. I didn't know how to search Stack Overflow. Even when I found useful results, I didn't know how to apply it to my situation. There was no ChatGPT back then. But asking friends required a lot of good will, which I didn't exactly enjoy. I hated troubling my friends. But I kept trying anyway. I gave myself a rule, that only after I'm stuck for 1-2 days can I ask a friend. So over time, I figured out how to figure things out on my own, and I asked friends less and less.

Maybe that's how it is for indie hacking and entrepreneurship too.

I'm finding myself needing to learn a lot from others ahead of me. That's why build in public Twitter rocks. But it's not without problems. Context matters, and sometimes you learn the wrong thing, and it takes you on a time-wasting detour. But over time, I'm getting more discerning. And more confident that I can learn my own way out of problems, while taking cues from others with a huge grain of salt.

Everything's figureoutable, if we put in the time to learn how to figure things out and grow our figureoutability.

Added several fixes to UX and functionality for recent text editors - e.g. copy paste online image feature to rich text editor

- Added copy paste online image feature to rich text editor
- Add auth to image upload option to prevent non-authenticated users from uploading images
- Move close button of image upload modal at top-right corner of modal, and added close modal clickability to modal background
- Fixed minor issues of mobile responsiveness for /compose and /write page
- Fixed bug where toggle state is messed up if one accesses /write or /compose URLs directly.

Day 947 - Body, teacher - https://golifelog.com/posts/body-teacher-1691220462168

I tend to be a workaholic. But whenever I do take a break, I go down with some cold or flu.

It's a debt I have to repay, because there were a few times I was going to fall sick in the past few months but I asked my body to hold it in because of work. I can't fall sick when I'm the only one running workshops. It's amazing how the body adapts.

So now that the projects are closing, the body is asking for repayment.

I’ve learned a similar lesson the hard way in the past.

If I don’t slow down, my body will get me to slow down, some way or the other. Chronic pains, weird ailments, unexpected injuries. It's like it'll play along for a while. But it can't hold it in forever. Beyond a threshold point, it all comes crashing down. *Hard.* Sometimes it takes months. Sometimes, years. The crash after years are the worst. The ones where it makes you question your mortality. Where radical changes in lifestyle, diet, and work are desperately needed. For some people, it's points of no return, like cancer.

The body is my harshest teacher. But it's a teacher I've been grateful for.
Jason Leow Author

For me, I do some mindfulness practices. Though very often, I only truly listen when the illness comes. 😅

0 Likes

hard truth, how do you listen to your body?

0 Likes

Day 946 - Bread & circuses - https://golifelog.com/posts/bread-and-circuses-1691118168045

We like to blame social media and junk food for our decline, but this quote from Cicero gave me pause for thought:

> "The evil was not in the bread and circuses, per se, but in the willingness of the people to sell their rights as free men for full bellies and the excitement of the games which would serve to distract them from the other human hungers which bread and circuses can never appease." – Cicero

Spot on.

Because blaming social media and junk food is just externalising the problem isn't it?

Don't like the toxicity of social media? Spending too much time doomscrolling? Just apply some mindfulness. Timebox your usage. Find something more interesting to do. Call someone close you've not spoken to for a long time.

Hate junk food but can't stop? Apply some mindfulness. Buy less so that you don't see it around the house. Replace it with healthier alternatives so that you can only eat those. Stop watching media that tries to convince you it's okay.

I know, there's a lot of money put into influencing and brianwashing us otherwise. Sometimes it's hard to stop from individual effort alone.

But that's exactly what having freedom means, isn't it? The exercise of it is not always easy. But the best things in life are hard-won, and savoured due to that.

Day 945 - Sleeping well is easy - https://golifelog.com/posts/sleeping-well-is-easy-1691027005803

Sleeping well is easy. If it's your priority.

I've started sleep biohacking since Jan 2020. That's more than 3 years now. I've done it all – supplements, managing blue light, wind down rituals, diet, fluid intake control, sleep tracking, etc. And even after 3 years, it's still a challenge to get good sleep. I've always said it's an infinite game. But recently I'm learning there's a nuance to that. Maybe it's can be a lot less infinite as a game... if my other priorities in life are in sync with my sleep goals.

So it's less about the *how*, the habits, the hacks, the routines m the knowledge, the tools. Yes, those help. A lot in some cases. But they all pale in impact compared to placing sleep as a top priority in daily life.

The same way we don't forget to eat or drink. We don't question whether we prioritize food, because it's so fundamental to our well-being. But yet we do that to sleep, thinking we can get away with sacrificing some sleep some of the time, and after a while, chronically over a long period. But just like a diet of junk food is bad for health, so is a poor sleep management.

It's not about the *how*, but the *why*.

Because once my priorities are in sync, sleep habits are easy, and sleep scores of above 90% are a cakewalk.

Just like how I got 90% sleep score last night. I was feeling under the weather, and decided to prioritise sleep last night, sleeping in 8h even though that meant I had to wake up late at 6.40am. Getting that sleep score—and quantity + quality sleep—was so easy. It all pivoted on a single decision. No special hacks required. I did nothing out of my usual routine.

Awesome, rejuvenating, life-affirming sleep is available to me at the drop of a hat. Tonight. I don't have to work for it. I just need to see it as ***important*** and prioritise it.

And that about sums up my struggles with sleep biohacking.

It's a negotiable when placed next to other priorities in life – family, indie hacking, work.

The day I can switch my age old mindset to seeing it as a non-negotiable, is when my work for sleep biohacking is done.

Till then, it's this mindset that needs much work.

oh wow biphasic sleeping has a long history. maybe its not such a bad thing afterall, i should stop wasting hours trying to get back into sleep at night.

0 Likes

getting 8h consistently is a superpower. i try prioritizing sleep and somehow end up waking up after 3h hours, and i'd have to get another 3-4 h block of sleep later.

0 Likes

Day 944 - Sacrifice - https://golifelog.com/posts/sacrifice-1690944625864

> There is nothing great about working hard on a hopeless cause. You are not a better person because you are suffering more. Sacrifices can be necessary, but many assume that making sacrifices means they should be rewarded. There is nothing more common than useless sacrifices. – [@orangebook_](https://twitter.com/orangebook_/status/1682709172104876032)

***I felt that.***

What we always hear: "Success requires sacrifice".
What we often extrapolate wrong: "Sacrifice causes success."

Because if you're making sacrifices on the wrong thing, no amount of matrydom will get you to the success you seek. But when you hit on the right thing, you'll be sure you need to hustle hard and sacrifice something to get to the success you seek.

Sacrifice is an effect of a good opportunity, not a cause.

So **be lazy**. Wonder and wander. Window shop around. Don't leap into action and hunker down to work too soon. Work effectively.

The problem for me was when I started out, my spider sense for what's a good opportunity was ways off. I didn't know how to tell what good looks like. So everything became a good opportunity. Which led to too many failed attempts, lost time, wasted effort, and ultimately, burnout.

So in a way, doing it the wrong way, thinking that "sacrifice causes success" is a rite of passage. Without the painful lessons, it's hard to develop that spider sense of opportunities.

But it would have certainly helped if I knew this beforehand.

Success leads to sacrifice, not the other way.
Jason Leow Author

Yep that's the first step, though i suspect the more experienced ones seem to be able to tell a good one faster, and so reduce their time kissing each frog…

0 Likes
Khyteang Lim

Thank you for the reminder! I definitely needed this this morning. #shinyobjectsyndrome and I am guilty of that.

0 Likes

Day 943 - August 2023 goals - https://golifelog.com/posts/august-2023-goals-1690881133769

August might just be the break I was hurting for in a while. Not a break as in for rest, but for work.

Since consulting gigs started in May, I've been super busy. Most days, I felt like I was working two jobs! One at my client's office, and another in the early morning or late evenings at home.

It's been hectic, to say the least.

Happy problem though. And I'm grateful for the consulting. But ever since I got some new ideas for new indie products, I've been dying to build and ship them.

With some consulting projects tapering off and new ones yet to start, August is looking promising to go full-on for indie hacking. And since I'm done quite some exploring in July, I'm feeling ready to get started on building and shipping. I still want to keep an eye out for new ideas though. But something has to start.

Something. *Anything.*

I don't want to put any hard metrics or deadlines on here since it's more about intentions, but I'll be happy to get at least one product out in the wild!

Onwards to August!

Day 942 - July 2023 wrap-up - https://golifelog.com/posts/july-2023-wrap-up-1690806196589

To overcome my chronic overthinking, I started July with the intention to say "F**k it I'm doing it" at least once a week. I think myself out of a business, basically. Instead I wanted to be hungrier, on an instinctual level.

Ship more, think less.

But I got way ahead of myself. I had hacker's block. I needed to get out of exploitation mode and back into exploration mode first, before I can ship fast.

Which was what I did.

I explored ideas, browsed idea newsletters, bookmarked articles. Now I got a few nice ones I want to bite into.

Maybe that intention for July was really meant for August. Glad I went with what I needed intuitively rather than forcing myself into something I wasn't ready for.

Onwards to August!

---

JULY 2023 METRICS
– Revenue:
- Current MRR (all from Lifelog): $119 (•$0)
- One-off revenue: $1080 (↑$152)
- Total revenue: $1199 (↑$152) 🎉🎉🎉🎉🎉 5th month in a row!
- Total costs = $170
- Total profit: $1029 (↑$152) (excl. consulting revenue)
- Profit margin: 86%

Twitter
Followers: 7317 vs 7789 (↑472)
Emails: 308 vs 278 (↑30) subscribers
Tweet impressions: 1.84M vs 924k
Profile visits: 26.6k vs 27k
Engagement rate: 1.6% vs 2.1%

Deployed fix for error "execute appendChild on node" on /write page where it renders the page blank, due to weird html probably.. hope no one saw it 😅

🛳 Deployed to Heroku all the features I made over the weekend - toggle switch for md/rich text editor, and image uploader

🍟 Side project weekend: Added image upload feature to markdown editor

- Added image upload feature via ImgBB to /write page on md snackbar editor.
- Added insert direct img link feature to /write page on md snackbar editor.
- Fixed issue of spurious clicks on md snackbar editor due to tooltip showing up as a link.

Day 941 - Nuance nuance nuance - https://golifelog.com/posts/nuance-nuance-nuance-1690701672995

Over time I realised my most important lessons in indie hacking are about busting either/or myths, and learning nuance to mainstream advice. Here's some:

### Diversified enough to survive, focused enough to matter.
This settles the portfolio of small bets versus focus on one thing. It's not one or the other. You need both. How much of both? Just enough diversity to survive unknown unknown events, but not so many that it breaks your focus.

### Working hard on the things that truly move the needle, slacking off on the things that don't.
This is about being strategically incompetent. Even if you're an A player, you don't have to play the A game in *everything* that the product needs. It's about priorities, and also about knowing how to drop or quit pushing certain things. Sometimes you can leave fires burning, but the product still grows.

### Long term opportunities for steady cash flow, short term opportunities for fun and profit.
I wrote about this [yesterday](https://golifelog.com/posts/short-lived-opportunities-1690621132825). Sometimes going for short-lived but viral opportunities can be beneficial and fun too. Long term ideas are not objectively better than short term ones.

### Contented enough to be happy, dissatisfied enough to hustle.
This an important tightrope dance for me, a work-in-progress. I know being dissatisfied with my product, progress, or skills pushes me to work harder and grow. But too much self-inflicted bashing is also not healthy. I want to live a fulfilled, contented life on a day-to-day basis, yet also be aware and driven enough to improve and make changes.

### Confident enough to celebrate your effort and skill, humble enough to know much luck was involved.
I think in the startup world people like to say they can "make their own luck". I believe we can, but it's a lot less than we think. And there's a lot more luck outside of our influence and awareness than we like to give it. It takes a certain humility to admit that you're not totally in control. It's not just about moral positions either – it's practical and healthy for the mind to be able to recognise that, so that our expectations are more realistic.

*What other nuances did you learn along your indie journey?*

Day 940 - Short-lived opportunities - https://golifelog.com/posts/short-lived-opportunities-1690621132825

I used to be biased towards product ideas that are long term, 'sustainable' or something I can work on and grow for a long time. So I scoff at trends and fads, and tend to be kind of a snob at those who bandwagon on shiny new tech.

> You can spend years looking for a product idea that has no platform risk. Or you can identify painful problems fast, build fast, ship fast, and capture some values where still possible. Then move on to the next thing ✌️ – [@tdinh_me](https://twitter.com/tdinh_me/status/1684857544009994241)

But recently I'm coming round to a more nuanced view. I realised I'm excluding myself from a whole world of good but short-lived opportunities, all because of a narrative that just because it's short term it's lesser.

Truth is, longer term, sustainable ideas are not objectively or morally better than the short-lived and spiky viral ones.

They're just... different, just as we can enjoy the consistency of the sun rising every morning, but also love watching bursts of fire works that's gone in 60 seconds.

I think deep down in my psyche there's some sort of a wraped belief that sticking to something lasting is better. Like getting married to your product. The One True product that you can love and work on for the rest of your life.

When I write it this way to mirror it back at myself, it gets poignantly clear – I am **wrong**.

So comically wrong.

And it's not a false dichotomy either. It's not *either* long term product *or* all short term products.

*Why not both?*

A mix of both. Some longer term ones that's hardy like a workhorse, flourishing like a cash cow. And the others can be fleeting, opportunistic, bright sparks of joy and money.

Both can be just as lucrative but over different timespans.
Both can be just as fun to work on.

Both are just as good as any other opportunity the world has to offer.