Matthew | When The Lullaby Ends
matthewshin.bsky.social
Matthew | When The Lullaby Ends
@matthewshin.bsky.social
Dad of 2 | Amazon FBA → SaaS
Building my family's freedom between 9 PM and 1 AM
Shipping apps, sharing the journey

Building SOOHO: https://soohoapp.carrd.co/
Pinned
I'm building SOOHO, a mobile first, sports team communication app to increase effective collaboration and communication so you can focus on what matters. The game.

As one of the first steps, I've created a waitlist and I'll be sharing my ups and downs on Bluesky so follow along!

soohoapp.carrd.co
SOOHO Waitlist
Waitlist website for SOOHO
soohoapp.carrd.co
Day 28 of building a sports team communication app.

Took the last couple days off/slow as my parents came into town to visit us and the kids. Managed to get a couple hours or so to continue working and start on the core feature of the app -- chat.

#buildinpublic
January 5, 2026 at 6:49 AM
Day 26/27 of building a sports team communication app

We’re winding down the last few days of 2025. I started posting more regularly on social media towards the end of the year, and I hope to maintain that momentum to get this app out to real users soon!

#buildinpublic
January 1, 2026 at 7:51 AM
Day 25 of building a team sports communication app using Kotlin Multiplatform.

Did you know it is now possible to use the @Preview annotation when using compose multiplatform in the commonMain module?
December 29, 2025 at 7:24 AM
Day 24 of building a competitor to TeamSnap

We now add the ability to attach photos when creating bulletin posts. Claude Code and the Compose Multiplatform's open source library peekabo really streamlined how quickly this feature was implemented.

#buildinpublic
December 28, 2025 at 6:35 AM
I think when you vibe code or use AI as a tool to help you code faster, it is equally important to make sure you constantly refactor the code. You can either do this yourself or tell AI to do it for you. It's important because:
December 27, 2025 at 6:00 PM
Day 23 of building a sports team communication app

Claude Code is great but doesn't always come up with the most efficient solutions which can mean 💸💸. So today I was focused on improving efficiencies for database reads and writes when pinning and unpinning posts.

#buildinpublic
December 27, 2025 at 7:05 AM
Day 22 (Christmas) of building a sports team communication app

Fixed the issue with iOS devices displaying and then removing the native delete confirmation dialogue. Claude Code managed to find a fix but it needed some guidance  🧵👇🏼

#buildinpublic
December 25, 2025 at 10:34 PM
Day 21 of building a sports team communication app

Kind of a failure today, stuck on fixing this bug on the iOS side where a delete confirmation dialogue just appears and disappears right away.

#buildinpublic
December 25, 2025 at 7:48 AM
Day 20 of building a sports team communication app.

Added functionality to edit, delete or pin posts from the detail view of the bulletin post. Also fine tuned the fun little animation for the bulletin header when scrolling.

#buildinpublic
December 23, 2025 at 7:41 AM
Day 19 of building a TeamSnap alternative

Had maybe less than an hour to work on this today as we are full on holiday mode, but with the help of Claude, managed to get this little animation implemented in less than 10 min. Plus some empty state and error state components

#buildinpublic
December 22, 2025 at 7:24 AM
Day 18 of building a Sports Team communicatino app

Connected the comments section from bulletin posts. This can launch the comments section directly from the list view or from the detail view as shwon from Day 17 post. Which way do you prefer to leave comments on a post?

#buildinpublic
December 21, 2025 at 6:37 AM
Day 17 of building a Team Sports Communication App

Added an entry point to create bulletin posts to test out the backend. There were some updates needed and normalized some of the tables in the database, but overall looking like progress!

#buildinpublic
December 19, 2025 at 5:51 AM
Is it just me or anyone else have to yawn like ten times in the span of 5 minutes when they get in the car?

#driving
December 18, 2025 at 5:43 PM
Day 16 of building a Team Sport Communication App.

Hooked up the bulletin list view with the backend so we now load real data. Next up, we gotta create a button to allow actual creation of posts, but only allow admins to create posts and not players. Stay tuned!

#buildinpublic
December 18, 2025 at 6:19 AM
Day 15 of building Sports Team Communication App

No fancy UI work today, just adding data layer to start connecting the bulletin screens to actions. Lots of refactoring from a lot of the work that Claude did to fine tune and clean things up since I actually DO read the code 😛

#buildinpublic
December 16, 2025 at 11:55 PM
Day 12~14 on building a TeamSnap alternative

The last 3 days were not easy as I had almost no time to work on the app as I had to take care of my son who had HFMD. So, still proud to say that I'm still stuck on that same padding problem with keyboards...

#buildinpublic
December 16, 2025 at 6:36 AM
Day 11 of building a TeamSnap alternative

Had to skip a day because my toddler got HFMD 🙁. Not a whole lot of work done in the past couple days and even next couple, but so far stuck on a little UI ...  👇🏼

#buildinpublic
December 13, 2025 at 7:25 AM
How do you motivate your partner to exercise regularly without making it feel like an attack? Not because you want them to look any differently, but because you genuinely believe it’s better health wise both mentally and physically. Doesn’t even have to be a lot of exercise.
December 10, 2025 at 7:21 PM
Day 10 of building a TeamSnap alternative

A little downtime today as I had to take my computer for repair (my "K" key doesn't work all the time). But still managed to get a little UI done on the bulletin detail post. All data is still just mock data

#buildinpublic
December 9, 2025 at 8:56 PM
Day 9 of building a Sports communication app

UI for adding comments to bulletins. Stuck on deciding whether we should allow users to comment from a bottom sheet or from a bulletin detail view. Or maybe both? What do you think?

#buildinpublic
December 9, 2025 at 7:12 AM
Day 8 of building a TeamSnap alternative

Setting up a more sophisicated navigation bar with the low fidielity bulletin board for messages that admins put up for players on a team. Claude definitely allowed me to do this in a day which otherwise could have taken a lot longer

#buildinpublic
December 8, 2025 at 7:24 AM
Day 7 of building a TeamSnap alternative

Created triggers in the database to use the auth data from user login to copy over information into a new table to create a profile for the user. Updated the UI to display information from profile to test out the feature.

#buildinpublic
December 7, 2025 at 7:44 AM
Controversial opinion. Teach your toddler things the way you would train them with your dog. You’d be surprised how well it works and without stressing them out.
December 7, 2025 at 3:42 AM
Please. Name me ONE THING that tests a human’s patience more than a toddler. I dare you.
December 6, 2025 at 5:38 AM
I just about lost it. My dog just ate my toddler’s poop. Don’t ask me how.
December 6, 2025 at 3:28 AM