July recap: Following my curiosity
Building an MRT status tracker, annual goal progress, and 8 interesting links
A few weeks back, out of curiosity, I tried building a website with Lovable, one of the popular AI app builder.
Because I was spending a lot of time on Reddit nowadays and the MRT trains kept breaking down, I noticed several redditors complaining about train delays and faults on r/Singapore. And interestingly, the official channels were not reporting them.
Then, the idea hit me.
Why not build a MRT status dashboard based on reports in r/Singapore?
In about 10 minutes, I managed to create this:
I wanted to launch this while the train lines were still affected to show how the website works. I was also eager for some social media dopamine, so I wanted to publish this on LinkedIn before the weekends.
It was Friday afternoon, about 4pm. I quickly checked the website was working and hit “Publish”…
Alas, the website had a major issue.
A few attentive folks called me out rightfully.
It hurted. So, I wanted to fix it as soon as possible.
My website was getting the Reddit posts directly from https://www.reddit.com/r/singapore/new.json?limit=50, which Reddit and browsers don’t allow. It was “working” for me because Chrome somehow allowed that. If you were on your iPhone or using Safari, you would see mock data instead.
I stayed up that Friday night until midnight trying to fix this. But I couldn’t. After some rest and time with my son, I found a solution on Saturday afternoon. I moved the website from Lovable to Vercel and set up an serverless function to fetch the Reddit posts via the Reddit API.
I thought this would be the end of the project. But the trains kept breaking down in the past few weeks. When I spotted any reports on r/Singapore, I thanked the redditor for sharing because their report helped to update the status on my website. This led to several improvements and lessons:
I was ashamed to promote an ugly website, so I updated the style to match Singapore’s red and white. A redditor also shared helpful feedback.
I didn’t include the LRT lines initially until the Bukit Panjang LRT broke down and someone reported it on r/Singapore. I quickly added the LRT lines.
Some redditors mentioned that the website had irrelevant posts (often news articles about train faults several days after the incidents), so I had to figure out how to improve my filters. For example, I now filter out Reddit posts that are links because those are likely not community reports of train faults and delays.
On a Reddit post about train fault statistics, someone asked about delays not officially reported. Sensing an opportunity, I added a history of Reddit reports in 2025. This experience was very educational. I wrote a script to fetch all the relevant posts and add them to a Supabase database. I also created a GitHub Action that runs every morning to add relevant posts to my database.
Since there could be multiple reports for an incident, I create a table with the number of days with reports, broken down by the train lines. Styling these two pages was an interesting challenge but it helped that the train lines are colorful.
For a recent train delay, my reddit comment was upvoted by many redditors and drove over a thousand people to my website. I’m certain Vercel, Supabase, and Reddit can handle that volume well but I was inspired to add caching to the website. I had never done this before, so I learned. I figured it out after two nights. Now, every website visit doesn’t call the Reddit API and get data from my database, and the website loads much faster.
This Friday afternoon project turned into a month-long learning experience.
I started out just wanting to test Lovable; I don’t even take the MRT daily. But one thing led to another, and I’m glad I followed my curiosity. Even though there were several nice compliments about the website, it honestly has insignificant impact on others. But I learned to style the website and hone my taste, write scripts, work with Supabase, use GitHub Actions, and add caching. (As a bonus, I chalked up some Reddit karma.)
If I had started out wanting to learn all these specifically, I doubt I’d have made as much progress within such a short period. Working on a project and having both positive and negative feedback drove me better.
How am I doing for my 2025 goals
You would imagine my July would have been awesome after my reflection in June to be more intentional about my life. But it was more like a J-curve: things get worse first, then much better than the starting point.
Build a meaningful profitable business
After working with our beta testers and reflecting as a team, SK and I decided to pivot Dewlop to enable everyone to build their personal software with AI.
Remember the days we would spend hours customizing our blogs? Nowadays, people are just simply using Substack (guilty as charged!) We used to have personal photo galleries; now we all use Instagram. Personal diaries? Notion. Over the years, we have gradually moved towards mass market software, which is efficient yet lacks personality and customizability1.
Mass market software cannot be perfect for everyone because we are all unique. The apps are always missing specific features we want while also having features we don’t need (yet we have to pay for them).
AI is now powerful enough to enable everyone, whether you are technical or not, to create unique apps for that single person: Ourselves.
You want a journal to store your kid’s photos but also log her sleep and chart her growth? Or you want a personal financial tracker with three specific charts? Or you want a reading tracking for recording not just books but also articles, videos, and podcasts?
Sure. Instead of paying for bloated-yet-insufficient software or using hacky spreadsheets, you should be able to craft unique personal apps. With the new Dewlop, you can.
We are still working on the pivot but should have a beta app ready this month (August). Let me know if you are interested in trying it!
Bring my family on a vacation ✅
We went to Perth in March.
We also went on two school excursions with our son. I missed our son’s very first school excursion because my yima was cremated that same day. Since then, I have gone on every excursion. They are tiring (I won’t deny it) but so fun.
Read at least 3 books on parenting
I completed Good Inside in April, picked up Totto-Chan in August, and have been reading The Daily Dad and The Book You Wish Your Parents Had Read.
Here’s my favorite entry from The Daily Dad for July:
July 11
Let Them DecideIf I had one wish for my children, it would be that each of you would dare to do the things… that have meaning for you as individuals… but not worrying if you don’t please everyone. —LILLIAN CARTER
When Will Ferrell was in middle school, he qualified for the gifted and talented after-school enrichment program, so his mom signed him up. When Will found out, he told her there was a conflict—he had signed himself up for square dancing. He could only do one or the other.
To a parent, there is an obvious choice. It’s not even a discussion. We know which one will teach more, which one will be better for career prospects, which one is “cooler.” But our kids, they don’t know anything about decision-making. They don’t know about mental models. They don’t know about long-term consequences or second-order thinking. They don’t know about weighing pros and cons. They don’t know what’s best for them. They know only what they like, what excites them, what they want right now.
But as actress and fellow SNL cast member Ana Gasteyer tells the story, Will’s mom put all that aside. She looked at her son and said, “It’s up to you. You decide.” Will chose square dancing. “And that, to me,” Gasteyer said, “sums up why Will is the amazing Will Ferrell.” It explained, in her mind, how Will Ferrell became one of the greatest comedic actors of all time. His parents had encouraged and allowed him to. They didn’t intrude with their “real-world” priorities—they let him follow his heart.
When your kids feel a pull toward something creative or fulfilling, the worst thing you can do as a parent is prevent them from going in that direction. Your job, it’s worth repeating whenever there’s a chance, is to encourage them to be who they are, to follow their natural inclinations, to decide what they want to do after school.
Write daily, publish monthly
My journal streak was 603 days at the end of July. I only published my June recap in July (a total of 48 in 2025 so far) because I have been taking a break from writing. I have started several drafts, so you can expect more essays in August (well, hopefully!)
Eat healthily, exercise 5x/week, sleep well
I stayed up several nights for a “good” and a “bad” reason. The “good” reason is I was working on my MRT status tracker. The “bad” reason is I was binge-watching Frieren: Beyond Journey's End. I added the quotation marks because I don’t think they are entirely good or bad.
But being more tired than usual caused me to make more poor decisions, such as skipping workouts, drinking coffee after 3 p.m., sleeping late on more days, and misplacing my focus on less important tasks.
My remaining goals
One-year goals (i.e. other 2025 goals)
Help my son develop a night routine and be in bed by 8 p.m. - As with every parenting things, there are good days and bad days. He slept by 9 p.m. on many days but was also up until 10 to 11 p.m. on several other days.
Take three deep breaths whenever I’m angry or frustrated - Fortunately, I don’t think I had to use this in July.
Accompany my parents and uncle to their health appointments - One more in July; thankfully the markers are good. Four appointments so far.
Cycle 10x a year - I didn’t cycle in July. Still 5/10.
Switch from kopi (coffee) to kopi siew dai (coffee less sweet) - I had an iced latte almost every day and sometimes two in a day. I’m okay with my caffeine intake but I want to reduce my sugar intake.
Host five dinners at home - Still 1/5 for now.
Get a part-time cleaner for our house - I think we are still doing okay.
No coffee after 3 p.m. - Missed a few days when I was exceptionally tired.
Five-year goals
Bring my family to Europe and New Zealand
Create a library at home for my son - I turned our unused TV console into a mini-library for now.
Teach my son to cycle and swim - He is back enjoying swimming; we even went to the pool more than once a week.
Learn to play the piano
Complete a triathlon (any distance)
Lifetime goals
Publish a book
Get back into drawing
Complete an Ironman triathlon
Bring my son somewhere to see snow (maybe Japan, Seoul, or Switzerland)
Raise kids with integrity, compassion, and agency
Build something with my dad
Have a workbench for playing with hardware
Visit Ghibli Park in Aichi, Japan, and Ghibli Museum in Tokyo, Japan
Mentor someone
Volunteer somewhere (maybe contribute to healthcare or education)
Contribute somehow to Singapore (maybe through my business) - My MRT status tracker is technically a contribution, given that some people in Singapore found it useful.
Become rich enough to be independent, not to acquire material possessions
Live until 100 while being physically fit and mentally sharp
Use social media to help others, not just consume content
Learn to speak another language (maybe Japanese)
Links
Compared to this, Kelly’s version of doing his life’s work seems so joyful, so buoyant. So much less … angsty. There’s no suffering or ego. It’s not about finding a hole in the market or a path to global domination. The yard stick isn’t based on net worth or shareholder value or number of users or employees. It’s based on an internal satisfaction meter, but not in a self-indulgent way. He certainly seeks resonance and wants to make an impact, but more in the way of a teacher. He breathes life into products or ideas, not out of a desire to win, but out of a desire to advance our collective thinking or action. His work and its impact unfold slowly, rather than by sheer force of will. Ideas or projects seem to tug at him, rather than reveal themselves on the other end of an internal cattle prod. His range is wide, but all his work somehow rhymes. It clearly comes very naturally for him to work this way, but it’s certainly not the norm.
[Life] why are we lying to young people about work? by
[Life] Marriage by
[Life & parenting] “If you are blessed with a partner that you love, some children that you adore, you’ve already won the greatest prize that most humans are able to achieve.”
[Growth] How to instantly be better at things by
[Growth] Animating in Public by Emil Kowalski
[Growth] George Steiner on Learning by Heart
[Fitness & AI] how to build an adaptive fitness coach that actually works by
signull
Yes, Notion is quite customizable but you still cannot add new features yourself if you want to. To be fair, Obsidian is rather customizable with its themes and plugins.