- 05 Jan, 2026 *
Its been a while since I posted, mainly because of censored. (Updates to follow soon).
Anyway, over the holidays, I had some downtime. here’s one of the projects built up.
My Lousy Gut Health
I’m mostly vegetarian and thought I ate well.
Then I got a gut health test done—shout out to and the results were worse than my Chinese grades back in school...
The majority of metrics came back red, including an alarming score on low serotonin levels. For context, 90% of your serotonin is produced in your gut. Poor gut health doesn’t just mean digestion issues. It affects mood, energy, cognition.
I was confused. I don’t eat junk. I cook most of my meals. What was I doing wrong?
The Diagnosis: Narrow Eating
The issue wasn’t eating badly. It was …
- 05 Jan, 2026 *
Its been a while since I posted, mainly because of censored. (Updates to follow soon).
Anyway, over the holidays, I had some downtime. here’s one of the projects built up.
My Lousy Gut Health
I’m mostly vegetarian and thought I ate well.
Then I got a gut health test done—shout out to and the results were worse than my Chinese grades back in school...
The majority of metrics came back red, including an alarming score on low serotonin levels. For context, 90% of your serotonin is produced in your gut. Poor gut health doesn’t just mean digestion issues. It affects mood, energy, cognition.
I was confused. I don’t eat junk. I cook most of my meals. What was I doing wrong?
The Diagnosis: Narrow Eating
The issue wasn’t eating badly. It was eating narrowly.
Same smoothie. Same pasta. Same two curries on rotation. Maybe 8-10 distinct ingredients a week if I’m being generous.
How many of us think we’re healthy but are actually eating beige?
The Problem with Calorie Tracking
Every diet app on the market tracks calories, macros, or some variant of restriction. Cut this. Reduce that. Stay under your limit.
But calories weren’t my problem. Variety/Distribution was.
I didn’t need to eat less. I needed to eat wider. More variety. More colours on the plate. More cuisines. More fermented foods, legumes, alliums—categories I was barely touching.
No app I found tracked that. They all told me what to cut. None told me what to add.
So I Built One
I spent one long night hacking together a meal planner that tracks variety instead of calories. The core was simple:
- Colours: 10 food categories (greens, legumes, grains, fermented, alliums, nuts/seeds, fruits, proteins, dairy, red/orange veg)
- Cuisines: Cultural range across different food traditions
- Balance: Eastern vs Western distribution
The idea: show me what I’m hitting and what I’m missing. Surface the blind spots. "No fermented foods in 2 weeks" is more useful than "You’re 200 calories over."
The rest of the time went into design, polish, and building it properly so I could actually extend it later.
Technical Notes
For those who care about the architecture:
- Stack: Python, Dash + Mantine Components, Pydantic
- Pattern: Clean Architecture with Ports & Adapters. The storage layer is abstracted behind a BlobStore protocol—just bytes in and out. Currently writes to local JSON files, but swapping to S3 or a database is a one-file change.
- State: Immutable Pydantic models throughout. No spooky action at a distance. Mostly functions only!
- Deployment: Docker on Cloud Run. Scales to zero when idle. Costs ~$0/month.
I wrote up the architecture decisions in some detail:
- App Architecture — Domain models, services, patterns
- Web Architecture — Dash UI, callbacks, state management
- Session Architecture — Multi-user support without a database
The docs were bulleted then AI-ed out so at least there’s an artifact recording what i was thinking then. Might be useful if you’re thinking through similar problems.
Another great use case for the AI was helping me do the brand guidelines. It setup a pretty good creative brief, and then I let agents do the copy from there. That took a load off me and let me focus on the code patterns instead. So, a big nice win.
Finally, it was amazing for CSS styling. The design was mostly mocked up on paper and pencil, then very poorly iterated upon with hacky screenshots and paintovers. Still, it got the message across and AI duly styled it up. Another yay.
The Result
I thought I would use Palate for monthly meal planning with my family... but not. Mostly it was just for the joy of building. lol. It’s simple: drag dishes into a weekly plan, see the variety breakdown, fill the gaps.
No calorie counting. No guilt. Just: are we eating wide or narrow this week?
- Demo: palatte.dudleyong.com (online for as long as it is...)
- Code: github.com/lennardong/meal-planning (MIT license)
It’s been years since I touched design work. This was a refreshing exercise.