Jason Leow

Indie hacker, solopreneur | Creating a diverse portfolio of products + services.

Day 3 - 2021 in 8 forms of capital https://golifelog.com/posts/2021-in-8-forms-of-capital-1609644092355

In 2021, I want to see if I can…

πŸ’΅ Financial: Hit $5k MRR from all my products by 31 Dec 2021, through consistency rather than intensity.

βš’ Material: Give more, give away more.

🌲 Living: Sleep better, move more (& in nature).

πŸ’‘ Intellectual: Follow my dev nose.

πŸ’ͺ Experiential: Look for 1% improvement every week. Just 1%, 1 thing, 1 task, 1 idea.

πŸ‘₯ Social: Quality conversations and relationships, local and global.

🎨 Cultural: Changing lanes (and identity) to geek/dev subculture.

β›© Spiritual: Fatherhood that’s mindful and present.

πŸ’¬ Added comments count to posts in the home page feed. Zero comments would show nothing, while 1 comment or more will show, for example "πŸ’¬ 3"

Being able to easily get notified of comments/discussions seems to be a point of friction now, so will be working on it in the coming week. The comments count is the first low-hanging fruit. More to come! (eg notifications and @mentions, which are harder)

πŸ€‘πŸ€‘Yaayy...2nd lifetime deal ($120) customer!! Thanks Eddie Choo!

Day 2 - 2020 review in 8 forms of capital https://golifelog.com/posts/2020-review-in-8-forms-of-capital-1609570126205

πŸ•ΊπŸ•Ί YAASS!! 2nd MRR ($10/m) customer just landed in. Thank you @haideralmosawi !!

Jason Leow Author

Cheers! I hope so too!

0 Likes
haideralmosawi

You deserve it for the great work. I look forward to seeing lifelog grow! 🀩

0 Likes

πŸ€‘ WOOHOO!!! Just got my first lifetime deal ($120) customer on Lifelog! Thank you @santhoshguru!

Reached out to old crew on Twitter to ask them to come back and recreate the magic

Fixed Keni's broken streak in database

Fixed it by manually changing the date of her last post in the database itself. Looks like there might be timezone issues...? Unsure at this point. Could be due to the switch over to using just dates instead of timestamptz via the SQL Date() function. Will have to continue monitoring...

✍️ My very FIRST post on this new year, on my new SaaS! Day 1 - Jumpstart January https://golifelog.com/posts/jumpstart-january-1609487053467

πŸ€– Added robohash avatars to main feed, community page, posts and comments threads. Credits to Robohash.org in alt text (such a COOL avatar api!)

Love the robovatars! What a delight to see. Am seriously considering just using them instead of user uploaded avatars lol

Bumped up Brandon's user id from 9 to 3, because sometimes it matters!

Updated copy for onetime plan ( β€” NOT an annual plan!). Made community page tiles flex wrap properly

Fixed streak issue by using the SQL Date() function to extract the date part of a timestamp expression, instead of using the full timestamptz πŸ˜—πŸ’¨ phew!

πŸ€©πŸ€‘πŸ˜First MRR dollar just landed!!! Now at $10 MRR

I know this means nothing and users will churn, but HELL YEAAAHHHHHH my first MRR dollar! 🍻

πŸš€ Just pressed the button on a soft launch for Lifelog! Wooohooo here goes nothing!

Ending this crummy year with a highlight from my #decodingcoding journey - my very first SaaS!

Lifelog is a platform to write everyday towards your goals. Having wrote daily for 2 years straight, I’m a big believer in the power of writing to think, plan, imagine and realising your goals. Those who are revving up for a change in 2021 with ambitious goals, start here:

https://golifelog.com

I spent 3 months on this... coding the functionality bit by bit, realising it can actually work, and then design-developing the writing UI from zero. I’d not worked this hard on a software product before, but pleased with how much fun I had learning new programming languages/frameworks as I go, and how it turned out in the end.

The best part, I’m making a tool for myself as I continue my daily words after this break. It’s kinda freeing to know that, even if no one else uses this tool, it’ll still be useful to one user (ie me!). But of course, I’m banking on the fact that there’s more folks like me out there who enjoying writing, thinking and achieving. 😎

For the tech-savvy, my tech stack is Nuxt.js/Vue.js + Bulma on frontend, and a headless CMS/API builder called Strapi (based on Node.js) on backend, all hosted on Heroku.
Jason Leow Author

Thank you Nick! 🍻

0 Likes
Nic Coates

Congrats on the soft launch Jason πŸŽ‰

0 Likes

Set up google analytics within Nuxt app

Installed @nuxtjs/google-analytics module, created a UA property in Google Analytics (instead of the new Gtag one that starts with G-xxx because that doesn't work with the Nuxt module), and restart collecting analytics data. Previously already had 49 active users and 1k+ visits.

Only noticing now how much convenience Netlify provides when I have to install these stuff on my own. With Netlify, you just copy-paste the script and be done! Impressed

Added meta tags (AGAIN) to Lifelog

Stupidly forgot about meta tags because I had moved over from Netlify to Heroku and my meta tags are injected by Netlify not embedded into my codebase. Now added meta to nuxt.config..head.

Added pricing page and payment gateway. Went with Payhere.co in the end for it's ease of integration and fast set-up

πŸš€ Set up custom domain on Heroku via Cloudflare...for FREE! Annnd it's now live https://golifelog.com

Cloudflare is awesoommmmme! Heroku allows for free custom domain but not SSL, so Cloudflare to the rescue. Cloudflare even has apps like welcome bar, secuity, chat, that you can 1-click install. Fascinating how they can do that without the user having to embed any script or install packages.

Fixed weird DOM error

Kept getting a weird DOM error "DOMException: Failed to execute 'appendChild' on 'Node': This node type does not support this method." where upon refresh of the post page, the rendered markdown content of the post disappeared and a plain text version appeared. Fixed it by removing
and
tags, and changing the $md.render element to a
instead of

. One of the weirder bugs I had to fix. 🧐

Moved Nuxt frontend to Heroku, had to set everything to client-side rendering, no SSR, no nothing of the awesome JAMstack goodness that Nuxt provides. URGH this sucks πŸ™„ That's why I used Nuxt in the first place. But at least now everything mostly works...

🀒 Spent all day trying to get my Nuxt frontend to work on Netlify, but nooo. Looks like static site generation, server side rendering and SPA modes are not suitable for Lifelog.

πŸ’ͺ FINALLY! I think the email provider issue is...solved...? The emails work now...for now. Email is so tricky, having to work both front and backend for it, doesn't help that it's third party, so another link in the chain that can break.

Show _profile even if streak=null, and added direct login immediately after registering (also toggling off email confirmation in backend)