Tweet
Let me know if you have any questions, feedback, or issues! This has been 2 years in the making but there are always improvements to be made so try it out and provide feedback to me if you’d like! 😇

#buildinpublic twitter.com/betalist/statu…
SplitMyExpenses: Import bills, split w/friends, charge on Venmo, AI Powered

betalist.com/startups/split…
Consume Laravel validation errors in your Swift iOS project with ease! Check out my detailed article on error handling, response validation, and more:

bradleybernard.com/blog/consuming…

#swift #iosdev #php #laravel #ios #buildinpublic
🥁 Drumroll, please! I'm creating a separate repo for my marketing site (answering my own question). No more tangled code mess. Juggling two sets of dependencies? Not anymore. Let's see how fast I can get this up and running with two distinct repos!

#buildinpublic #marketing
Integrated with @elevenlabsio this morning to get Text to Speech working for my new Chat AI app on iOS. Having fun with the voices and hearing messages get turned into voice. I don't want to burn through my free tier too fast testing things but it's fun 😅

#buildinpublic
Should I split into two repos? One for marketing and one for my application code. Feels cumbersome for a new project though. Thoughts?

#Laravel #buildinpublic
Abstracting logic and separating concerns in my view layer using #Swift structs with closures.

Custom Equatable and Hashable conformances unlock a new level of configurability!

Here's how I've been putting this practice to use 🔽

#swiftui #buildinpublic
Week 3 of my solopreneur journey and indie hacker adventure! I'm charging ahead, making serious strides in building my polished chat AI app for iOS. Sometimes I forget just how challenging it can be to achieve that high level of polish.

#buildinpublic #solopreneur #indiehacker
Adding a new screen for voice notes on my chat app. Here's my go-to set up for a sweet new full-screen view model:
- State (loading, error, empty state)
- GlobalState (yeah, the name could be better: but think APIClient!)

#buildinpublic #SwiftUI
Spent 90+ minutes duking it out with #SwiftUI 🥊 trying to understand why my view was re-rendering every list item in my view body's ForEach, even though only one view's identifier actually changed!

It all came down to Swift's robust type system...

#buildinpublic #swift
4/ Get pull to refresh with one view modifier on a List or other scrollable view in SwiftUI.

Standard behaviors, first-class loading states, and graceful error handling all included! Thanks IceCubesApp for the inspiration 🙏

#buildinpublic
As I build my chat app, I frequently switch between iOS simulator builds and on-device builds to ensure that everything looks and feels great.

To manage this, I'm using compiler directives to choose the environment in which my app runs.

#buildinpublic #swift #ios
I'm building this all by myself.

Gotta move fast, but gotta build a solid foundation too. After all, this project will be the backbone of some seriously cool chat AI products in the future 🚀 🤞

#buildinpublic
I'm thrilled to announce that I'm embarking on my first #buildinpublic journey, creating an AI assistant chat app for iPhone!

Stick around for all the juicy details - from my successes to my struggles. Let's solve some technical problems together 💪
14/ Here's my plan to grow an engaged audience:

1. Create a content schedule for consistency and accountability
2. Kickstart #buildinpublic on Monday!
10/ I'm eager to #buildinpublic, but not at the cost of limiting my product's success. Stay tuned next week for more details - I'll start a loooong Twitter thread to keep it organized 😎
Today, I'm implementing @RevenueCat in my iOS app using their SDKs and APIs. It's crazy how complex these systems can be, and how much can go wrong. Fingers crossed this doesn't take all day! #buildinpublic
2/ Before we dive in, here are my launch stats (#buildinpublic):

Position: #21 for the day on a Monday
Upvotes: 62
Comments: 26 (divided by 2, since I responded to each)
Duration: Full 24 hours

Launch link: producthunt.com/posts/splitmye…