Milk Diary with Kaya Thomas
===

What is Milk Diary
---

[00:00:00]

Leo Dion (guest): Welcome to another episode, empower Apps. I'm your host, Leo Dion. Today I am joined by Kaya Thomas ~Kaya. It's been so long. ~Thank you for coming on the show.

Kaya Thomas (guest): Of course, Leo, ~I'm, ~I'm glad to be here. Thanks for having me again.

Leo Dion (guest): So what have you been up to since, ~gosh, whatever, ~five years ago. Pre COVID.

Kaya Thomas (guest): Yeah.

Leo Dion (guest): ~yeah. ~What have you been up to?

Kaya Thomas (guest): Oh man. ~I, ~it's been ~a, ~a lot in the last five years. I, ~took a, ~took a break from iOS development ~and, ~and went outside my comfort zone and went to grad school and, decided to do some more customer facing work and. Work on the people side of things. And, ~it's been, ~it's been a whirlwind and ~it's been ~a great experience, I think to step outside of engineering a bit.

And now I'm, trying to ~mix, ~mix both worlds and make a new app.

Leo Dion (guest): That's awesome. So I actually looked it up. Our episode was like right at the beginning of COVID, just to give you an idea. It was March the 2020, which is hilarious.[00:01:00]

Kaya Thomas (guest): The start of it all.

Leo Dion (guest): right. That's when we thought Kobe Bryant passing away was gonna be the worst thing of that year. So Yeah. It got a lot worse. ~So, yeah.~

So. Let's talk about this brand new app, milk Diary. You wanna talk about why did you make this and what did you find, ~um, ~what do you, what did you find was the need that you feel like Milk Diary is gonna help with?

Kaya Thomas (guest): Yeah, so I became a mom last year and you know, that's a huge life change. And of course, because ~I, ~I love apps. I wanted to use apps. As a part of ~like ~my parenting experience to help manage ~and, ~and track things. And so one of the most intensive parts of ~a ~parenting, ~like ~a newborn and a baby is feeding them and the, ~the.~

Mental, logistical things you have to keep track of, ~um, ~and the physicality of it. But there's a lot to think about, like how often they need [00:02:00] to feed. How much milk do you have for them? ~Um, ~access to them to access, like how much you have in your fridge, how much do you have in your freezer? Just understanding the difference between you feeding them and you actually making the milk. So there's a lot of like logistical and administrative stuff. And obviously, you know, as developers we know that the, the great thing about technology is can help with some of like the logistical and administrative stuff.

But I was getting frustrated 'cause a lot of the apps, we're not flexible enough and we're not, really thinking about this kind of full experience and all the different ~like, ~connections between how you have to make the milk track, the milk, store, the milk. Like it's, it's just like there's this whole holistic.

Journey and process there. And I felt like all the apps that I were using might do one thing, but then when you need something else, you can't do it in that app. So you might have to use another app or track it another way. ~Um. ~I started to get [00:03:00] the itch again and I was like, okay, I think I need to create an app because, ~uh, ~I felt like ~there, ~there needs to be something better.

And I think that, especially as a mom, I realized that a lot of the apps out there are not actually made by folks who ~are, ~are going through this experience, right. And living through it. And so having that. Experience and being able to also call upon, ~like ~moms, my friends and just moms in the community and get their experience as well and be able to really make something that's catered to the experience of new parents and understand ~like ~what they would need and how to make an app that is, ~you know, ~user friendly, easy to use, and actually like saving time and energy.

Leo Dion (guest): Well, what does your daughter think of the app?

Kaya Thomas (guest): I mean, honestly, ~I, she. ~She is, ~uh, ~I think enamored with, technology in general just because the idea of just touching the screen and having something happen, that reaction. So I don't think she really understands like, ~um, ~what an app is per se, but she [00:04:00] loves pressing things and,

Leo Dion (guest): Ima, yes, I

Kaya Thomas (guest): and seeing it react on the screen.

Leo Dion (guest): Yes. Yeah. ~Um, so, ~so I asked Mrs. Dion before recording, what did she do? And she just used the notes app. So, which I'm not surprised. Or a spreadsheet 'cause she's loves spreadsheets. ~But yeah, ~this looks really awesome. ~Just looking at it~ what.

Foundation Models
---

Leo Dion (guest): One of the things that you talked about here was that really piqued my interest was the use of foundation models.

Kaya Thomas (guest): Yeah.

Leo Dion (guest): what were you thinking as far as how that would fit in with your app?

Kaya Thomas (guest): Yeah. So before, dub ~I, this year ~I was really struggling with the idea of like smart intelligence features, right? Because ~I fi, ~I figured that integrating some type of. Intelligence would be great for the app because it could help with that more like efficiency and kind of logistical thing that I was talking about.

But I was really hesitant to [00:05:00] integrate any of the ~like ~cloud models, like any of the LLMs that are existing. Open, open AI and anthropic, et cetera. Because this data's really sensitive, like I don't think a lot of parents want this type of data, being sent right over the internet or being sent somewhere.

~And so I, yeah. ~And so I was really hesitant to integrate that. And so when they announced foundation models, I was like, yes, this is ~like ~my opportunity to be able to, incorporate intelligent features in a really private way ~on dev, on, ~on device. So it was just a huge win. I think ~the, ~the ways in which I'm integrating it ~is a co ~is a couple ways.

So one is being able to log sessions via text or voice, right? So all of the apps where you track things around, you have to manually enter right? Oh, here's how much, and ~you know how ~you have to go to the different text inputs and, ~you know, ~select the different things. And a lot of times, ~like ~as a new parent, you're tired.

~You, you, ~you don't wanna be like, ~uh, ~[00:06:00] doing a

Leo Dion (guest): have an extra hand 'cause you're carrying someone.

Kaya Thomas (guest): Exactly. So being able to just either, you know, input text, or even speak right into the app and say, okay, like I pumped five ounces. ~Blah, blah, blah. ~And then just have it save. So just being able to save that time. So that's where ~the, ~the foundation models really come in to be able to have those prompts that ~allow me to ~allow them to create the data, ~um, ~that they want to track.

And I think the difference I found with the foundation models really helped me from a developer side. I was really overwhelmed. When I started to think about the cloud models and like how I would integrate them in a way that would reduce hallucinations, get actual data that, was focused right and accurate.

So the fact that the foundation models have guided generation is just so good. I mean, I think that. You have to work on tweaking ~your, ~your data models to make sure that they work. So you still reduce hallucinations 'cause that's just a thing with [00:07:00] LLMs. But it's much better. And I think as a developer, it allows me to have a bit more reliability and consistency on what I'm getting from the prompts, the user prompts.

Leo Dion (guest): So we're using, ~are you using like the generated,~

Kaya Thomas (guest): I mute Gen General. ~Yep. ~General

Leo Dion (guest): General, is it a macro or a protocol? Okay, so you're using that and then ~that would contain, that would be able, ~that would be the output that you're looking for when somebody says something and that way it's actionable.

Correct.

Kaya Thomas (guest): Yeah, so ~how, ~how I'm doing it and it took a while for me to figure out the best way to think about ~like ~the data schema for the general structs. At first I was thinking I would just have ~like ~a session struct and, you know, it would have all the data, whether it was a pump session, nursing, a bottle feed, right?

And the foundation model should be able to detect, based off what they're saying, what type of. Feed it is and be able to fill in the data. But I realized actually, at least in my experience with working with the [00:08:00] foundation model so far, is it's actually better to have smaller, structs and have them be very specific.

So breaking them out, ~um, ~because I realized that when you have just like a kind of catchall. ~Uh, ~data model for the foundations, the hallucinations increase and ~it, ~it's a bit harder for it to figure out, ~um, ~exactly which variables it should fill in based off of the context of the prompt.

Leo Dion (guest): So you're using like enums and stuff to make it as specific as possible? Yeah. ~Okay. ~Rather than just like a string where you can get something crazy. ~Okay. So, there's, ~so there's both the feeding and the pumping, right? Are there things you're tracking in the app

Kaya Thomas (guest): Yeah, so it's bottle feeding, nursing, and pumping.

Leo Dion (guest): Okay. And then you also mentioned formula. ~How does that, ~how does that fit in? ~What, like ~what's the use case for that?

Kaya Thomas (guest): Yep. A lot of parents combo feed, right? So they use breast milk and formula ~and so in, ~in the app you'll have the ability to track formula or breast milk. ~So ~if you're doing bottle feeds with formula, you'll be able to [00:09:00] track ~that, what formula you use, like ~what type of formula you use. I know a lot of parents also try ~like ~different types of formula, ~right?~

~And so ~you can even keep track of notes to see if there was reactions or

Leo Dion (guest): ~It. ~Got it.

Kaya Thomas (guest): things like that. ~Yep.~

Leo Dion (guest): youngest daughter, so ~I, ~I don't know if you know my personal story, but our four oldest are, adopted. ~So, ~at least the youngest, I think the youngest girl who's now gonna be 11, ~uh, she, ~she moved in with us when she was a newborn and we had a lot of formula ~and so, yeah. Yeah, ~I remember doing EXCO development and having her on my lap while I'm feeding her at 2:00 AM ~So~

Kaya Thomas (guest): Oh wow.

Leo Dion (guest): ~I took.~

I totally remember that. But. Formula. ~There's a lot to track it. It ~doesn't last as long, right? As breast milk, as far as I'm concerned. Yeah. So, yeah, I could totally see how ~that would, ~that would fit in. And I also, like one thing you mentioned here, is, twins or multiples, right? ~Like, ~like having to track multiple children.

That's a really important niche

Kaya Thomas (guest): Yes. ~It is. ~And I have, ~I have, um, ~a close friend who has twins and I realized in testing out. A lot of the apps is all of them make you [00:10:00] switch between profiles in order to track anything. So you have to create, a profile for each kid and then if you wanna track anything, you have to switch, like between profiles, to track a feed or.

~Yeah. Like that's, that's so annoying. Like,~

Leo Dion (guest): Yes.

Kaya Thomas (guest): ~uh, and so that's one thing from the start, um, ~when I thought about like, okay, how am I gonna model this, ~you know, ~app? I was like, okay, from the start, I wanna make it super easy if you have multiples and you don't have to switch profiles or do anything, extra.

If you want to just track something and you just select which kid it's for, right?

Leo Dion (guest): So this is totally iOS, 26, correct. ~Only~

Kaya Thomas (guest): it ~is. It~

Leo Dion (guest): iPhone only.

Kaya Thomas (guest): iPhone only. ~Yeah. To, yeah, ~iPhone only to start. I think that, ~like ~if I find that ~there's~ there's interest in iPad support or Mac support, ~I, ~I would think about it. But yeah, iPhone only

Leo Dion (guest): ~Watch, support, ~watch support. ~I could~

Kaya Thomas (guest): Oh yeah, watch support is definitely something I want ~to~ to have because that is something I used a lot actually when I was feeding.

~It just made~

Leo Dion (guest): ~gonna say. Yeah. ~Not vision os I don't see

Kaya Thomas (guest): yeah,

Leo Dion (guest): really useful. ~So, what, like, I, sorry,~

The Feeding App Market
---

Leo Dion (guest): I wanna ask this question, but did you do like a comparative analysis [00:11:00] before you got started? Just to see what was currently out there? And ~what, like, ~what was ~like, I was just kind of curious what's ~the marketing angle for those?

How do they monetize?

Kaya Thomas (guest): Yeah.

Leo Dion (guest): Are they basically crappy React apps? ~Like what, what's kind of the ~what's the environment out there?

Kaya Thomas (guest): Yeah, it's interesting. I think so I definitely did ~a, ~a comparative analysis and there are, like, to be frank, a lot of apps out there that, ~you know, track, you could ~track baby, newborn tracking and, ~um, ~feed tracking and stuff like that. But I think, there's definitely, you have the cross platform, popular cross platform apps that are, in my opinion, I, ~you know, ~despise using, because, ~you know, ~I like native apps and ~I, ~I find that they were a poor user experience.

I think what I found is. You have a lot of apps that are trying to do everything, so they're like, oh, you can track everything. Right, but

Leo Dion (guest): ~the, ~the thing I was thinking, sorry. It was just like, oh, Gerber has a app and it's you know, it's their app for everything. And then by the way, we have this little milk diary thing over here in [00:12:00] the corner. That's kind of what I was thinking was gonna end up happening.

Kaya Thomas (guest): Yeah, exactly. And then it is the user experience is super ~clunky, cl ~clunky and like, ~just like it, ~it's hard to use and know ~like ~how you even track things and where you do it. ~And ~I just found ~like, ~it's very overwhelming. ~Um. ~A lot of these apps because they're trying to do too many things.

And so for me, that's one of the decisions I made is ~like ~I really wanted to focus on the full feeding experience and be able to support everything in that space and not try to be this catchall that's doing everything. Because I think that oftentimes what makes apps great is when there is a specific focus, right?

And you're getting really, ~uh, uh, ~the value out of it because it. Can help you solve ~like ~problems ~in a, ~for a specific need. ~And so ~a lot of the apps out ~there, I think are ~there, there's some free apps out there that have ~like ~a bunch of ~like ~ads, ~right? Like, so ~they monetize ~like ~via ads. ~And ~then there's some that are trying to lean into, I think ~a a, ~a big area that some of the larger apps are trying to lean into is ~like ~sleep tracking ~and, ~and sleep predictions ~and things.~

Personally I don't think that. Having experienced [00:13:00] the ups and downs of a newborn ~and, ~and infant sleep, I don't think ~an ~an app can really predict,

Leo Dion (guest): Or even like, ~what, ~what's the point in tracking? It's not like you can be like, all right, sweetie, but you can't do the getting up at 2:00 AM This is what my watch said. ~They're~

Kaya Thomas (guest): exactly.

Leo Dion (guest): ~like, ~I don't, there's nothing actionable.

Kaya Thomas (guest): ~Exactly. ~Exactly. So like, I mean, ~there, ~there's a bunch that are leaning into that. And then like you said, a lot of the formula companies ~like ~have apps and stuff that I think are, ~are, you know, ~a means ~to, ~to sell their formula and stuff. And so, ~there, ~there are a couple of, indie apps that are nice, but I think because.

They are not, like I said, they're very specific and they don't support. So they might support one thing really well, but they're not thinking about the full journey of the feeding experience. And so it's not flexible enough, if something changed about your journey. So, ~I, ~that's where I feel like ~I, ~I can fill that space and that gap, to be able to provide something that's comprehensive and flexible enough ~to, ~to use throughout that entire first year from newborn to.

~To ~early toddler days,

Liquid Glass
---

Leo Dion (guest): ~Right, right. Yep. ~So [00:14:00] when you first developed the app, were you developing it for iOS? 18.

Kaya Thomas (guest): I was,

Leo Dion (guest): Okay. So. ~I'm gonna do iOS 26. ~I wanna really take advantage of everything new, including foundation models, but also you got liquid glass to deal with. How has that gone?

Kaya Thomas (guest): It,

Leo Dion (guest): ~Uh ~oh

Kaya Thomas (guest): li liquid glass, it's a moving target because every beta, right, like there's something a little bit different. I think the most difficult part for me has been understanding like the best way to embrace it and where to embrace it. ~Obviously there's.~

Leo Dion (guest): Do you even have a choice?

Kaya Thomas (guest): ~Yeah, I mean, you do have a choice. So ~for something like tab bars, you don't have a choice, but when you think about ~like some of your ~like buttons and ~like ~toolbar items and things, ~how you~ how you integrate it, you have a choice in terms of ~like ~how it looks and ~like ~how far you go.

Especially with custom UI elements, ~right? ~How much you integrate, liquid glass. So I think that's been the hard part of figuring out ~okay. I ~it's not necessary to [00:15:00] have it for ~like ~every button ~Right. ~And every interaction. ~And so ~where do you prioritize having it and ~like ~what is the ~prioriti ~prioritization for liquid glass?

Like is it just for primary actions? It's, so, ~I, ~I think that's what I've been trying to figure out. I think the thing that I really don't like, about it is, it seems as if when I look at like the Apple apps on, in the beta, right, like notes and reminders ~and ~and mail, et cetera, it seems that there's a lot of hiding actions behind menus and, and things that where before at least my understanding of like the design guidelines.

What's recommended is you wanna make it easier for folks to know where to go and what actions to take. Right. And now it seems like kind of we're backtracking and it's making harder to discover actions and what you need to do in an app. And so that's what I've been trying to figure out as well is ~I don't want to do that. And so ~like for one example is the tab bar minimization, right? Like, that [00:16:00] seems like something that they're recommending, for a app to do is like minimize the tab bar. But I remember like in ~the, ~the guidelines around tab bars is like they explicitly said tab bar should always be present, right?

~And so~

Leo Dion (guest): ~A, ~have they updated the guidelines at all since June?

Kaya Thomas (guest): ~Uh, ~yes, they have updated ~the, um, ~HIG ~uh, ~the human interface guidelines. ~They have inter ~they have updated them, but ~there's like still, ~when you watch some of the old dub videos and now like ~you, ~you think about ~like ~the new things. I'm not understanding some of the decisions that were made or like why some of these design changes have been made.

And so, yeah, ~like I, I think. ~I decided, ~okay, ~I'm not going to do the minimize tab bar thing. ~'cause it doesn't, ~it doesn't seem like, ~um, ~a good user experience. ~And so ~I think that's been the hardest thing is just like, it seems like it's a movie target. 'cause things are changing so much in the betas and it's not always clear ~like ~the best way to, integrate for the best user experience

Leo Dion (guest): Right. ~What's the, ~what's the frosted opacity in this beta? ~It's~

Kaya Thomas (guest): except

Leo Dion (guest): ~a different one. ~What other features were you interested in taking advantage of, with iOS [00:17:00] 26.

AlarmKit
---

Kaya Thomas (guest): The other two, ~uh, ~that have been, that I've really been excited about is alarm kit and speech analyzer.

Leo Dion (guest): Yes. Yeah. I was like, so when I saw that in the notes alarm kit, I was like, finally, okay, now I understand. Like for me, whenever I wanted to do something like that, I would just post notifications and go like that, right? ~Whereas like, ~okay, now I understand why we need alarm kit as opposed to just using notifications.

~Um. Me explain. ~I'll let you explain why you're using Alarm Kit and ~what, ~what you like about it.

Kaya Thomas (guest): ~I mean, ~I think obviously our last conversation was, ~uh, ~a lot about notifications, right? So

Leo Dion (guest): That's true. ~I, I just forgot that. Yes.~

Kaya Thomas (guest): yeah, so obviously I'm an advocate for notifications, but I think for some apps, notifications are overkill. And I think notifications are not necessarily, the best thing for every app because notifications are easily dismissed and forgotten. Right?

Leo Dion (guest): yeah, so I am very disappointed in the use of notifications [00:18:00] nowadays 'cause it's so confusing how it's been misused and abused by like marketing. Well, at the same time it's some things, it's I want be notified because of this. I don't need to be notified because you have a new weekly ad for whatever.

And that's been really abused. Unfortunately. That's made it really hard to not use it as a user using notifications, because like sometimes I miss stuff now because there's so many notifications and it's

Kaya Thomas (guest): yeah, I just went through like a audit of all my apps ~to, ~to turn off notifications. 'cause I was getting so frustrated with missing things, so

Leo Dion (guest): modes don't help. Unfortunately. ~They're like really difficult. ~I wish I understood those better, but yeah.

Kaya Thomas (guest): Yeah. So I feel like Alarm Kit is gonna be great for developers because for apps where you want to. The user to take an immediate action, or they want to be like notified in a way where it's okay, this is like an immediate thing you need to take action on. It's a great way to do that.

And it's much simpler to implement the notifications, I think. Like I said, [00:19:00] notifications, you know, it can be a lot to, to implement. From the developer's standpoint, it is a lot to think about and manage when you think about the notification center and everything and whether you're doing server side notifications, like there, there's all these things to think about, but Alarm kit so far is fairly simple, right?

It comes with its own manager scheduling. Canceling, updating Notifica. The alarms ~are, ~are super simple. And so I think ~it, ~it's gonna be a great way for apps that don't need notifications, that just want ~to ~the user to take an immediate action in their app. A way to do that really simply.

Local and Server Side Storage
---

Leo Dion (guest): I do have a question before we get to speech analyzer. ~Is there, so ~what are you using to store stuff locally and ~are you, ~do you have a server side component to it?

Kaya Thomas (guest): Yeah, so I don't have a service side component. I am using a sharing GRDB for

Leo Dion (guest): I laugh because, ~yeah, I~ I'll ask the question, why didn't you not go with swift data?

Kaya Thomas (guest): So I actually started out with swift data.

Leo Dion (guest): yeah, I [00:20:00] think I saw a tweet that you said that, ~but anyway, go ahead.~

Kaya Thomas (guest): so I started out with swift data, and it just was, it's not robust enough. The predicate handling, ~um, ~is still lacking in terms of more like complex predicates. The cloud kit support only supports, private, ~uh, ~cloud kit, databases doesn't support shared.

And so for me, ~for ~having the ability for parents to be able to share data is like essential, right? ~You don't,~

Leo Dion (guest): ~was gonna, ~that's where I was going with the server side question is, if Dad is gonna feed the baby with formula or mom's pumped milk, like it'd be nice to have that component.

Kaya Thomas (guest): Exactly. So to be able to support cloud kit was essential. I also felt like swift data. I really like, you know, using structs and, and so having, being forced to have my models all be classes, yeah, so I, I, I think that there's just like a some limitations that with swift data where I started out with it and I was a bit excited, but then as I started to, to start doing things that were a little [00:21:00] bit more complex, I just ran into a lot of the limitations and so decided to move on ~and I really, I really enjoyed, um, I think,~

point free code is doing a lot of great work with, ~uh, ~their libraries, their open source libraries, and so the ~share ~sharing GRDB has been great. And ~they're, ~they're working on ~a, ~a cloud kit, library as well to support it. And so, yeah, I've had a great experience implementing my database layer that way.

Leo Dion (guest): I have, ~uh, ~yeah, I've started being more and more disappointed and swift out on the headaches I've run into with it. So ~I, uh, I, uh, ~I support your decision. I get it. Are you gonna look at some sort of server? ~What are you, ~what are you thinking? Cloud Kit or are you thinking like Vapor or what?

Kaya Thomas (guest): Yeah, ~I mean, ~I'm definitely doing cloud kit. I haven't really thought about ~like ~server side, but

Leo Dion (guest): I mean, cloud Kit would do

Right? ~So ~

Kaya Thomas (guest): ~it, ~it does everything. It's ~free. It is ~free. Yeah. And I don't like, have to deal with, authentication and account creation and everything, which is nice. But, you know, I have thought if in the future, you know, folks, [00:22:00] if there's enough interest ~and, ~and folks are expressing interest on the Android side of things, ~you know, I, ~I've thought about that.

'cause like with. My, ~you know, ~RI two, I did end up doing Android version, but, so I have thought about that, like, okay, in the future will I need to have like a server side component and think about that, but I'm not starting there. ~I'm like~ I'll deal with that down the line ~if it, ~if there's a need.

Leo Dion (guest): I agree with that. You got bigger fish, the fry. Yeah, totally. Yeah. Cool.

SpeechAnalyzer
---

Leo Dion (guest): Okay, so let's do it. Speech analyzer. So you had talked earlier about how. It's really hard for mom to tap on the phone and do stuff. ~I'm not a mom, but ~I've also, ~you ~grilled food and have had notifications on my watch while I'm carrying something.

So using my nose is not my preference for interacting with my watch, so I totally get it. So I'm assuming that like speech analyzer is the same idea where it's like, oh, I don't have to like touch the thing. I could just say, Hey, [00:23:00] Dingus. ~Uh, ~I pumped three ounces of milk right now, or something like that.

Is that, am I saying that correctly?

Kaya Thomas (guest): ~Yeah. ~Yeah. Well, I mean there, there is. Still the, you have to initiate via touch, right? Like the recording. But at least like, there's less, I think, you know, interaction that's, ~um, ~that's needed. ~Like in terms of like you typing and~

Leo Dion (guest): So there's Speech analyzer has not related to what I think I was assuming was like Siri

Kaya Thomas (guest): ~serial, it is different. ~Yeah.

Leo Dion (guest): ~Okay. Okay. Okay. ~Maybe explain that I

Kaya Thomas (guest): Yeah, so speech analyzer is the model that is doing the transcription. And so it's a new on device model that is. Better than the old like SF Speech Analyzer. It's much faster. Doesn't require the server dependency. It manages like the locales and language, the languages for you, et cetera.

So it's the transcription side of things. Now, I haven't dived into Siri Kit, which is now I think activity kit. ~They, ~I think, yeah, there's all that. I wanna dive

Leo Dion (guest): Or intense ~and all that.~

Kaya Thomas (guest): Exact [00:24:00] app. Intense. Yeah, I haven't dived into that yet, which, but I will have to, 'cause I wanna support live activity, I wanna have widgets, et cetera.

So I definitely will have to dive in there. And I haven't seen if it's possible to support, transcription. Inside of an app intent. I think that would be really powerful. So like if I could have it be where it's like, Hey, Siri, you know, login, milk diary, ~et cetera, ~et cetera. If there's a way to, to support that, I think that would be awesome.

Awesome. 'cause that would be completely hands off, like you said. ~Um, ~but I haven't dived into that yet.

Leo Dion (guest): ~Because, yeah. ~So it sounds to me like speech analyzer is an in-app experience that gives you a lot more power than what Siri would be able to do

Kaya Thomas (guest): Yeah. ~Yeah. I, ~I think the cool thing is like. With the foundation models, right? It's all prompt based. So the speech analyzer being ~a, ~a better model ~for, ~for audio transcription allows you to then just take that audio and then feed it directly into a prompt, right? And so I think it just [00:25:00] allows more powerful features and integrations that way.

Leo Dion (guest): Yep. Okay. Very cool. I wanna definitely wanna take a look at this. This sounds awesome. ~Um, ~anything else you wanted to mention before we close out?

Developing with AI
---

Kaya Thomas (guest): I mean, I think the main thing ~I, ~I've been thinking, you know, technology and everything is changing a lot. Like this is a very, I think, interesting time to be a developer. ~Um, ~but I think the exciting thing, ~and, ~and one of the reasons why I got into ~to ~app development in the first place is ~like ~the ability to ~like ~make.

Cool technology that helps people in some way. And so ~I, ~I think when I think about, ~you know, ~folks, I hope that people still feel inspired and like have the energy and enthusiasm, ~today to, ~to still wanna make ~like ~technology ~that, that, ~that helps people ~and, ~among all of ~the, ~the talk of iOS 26, and I ~know people are very, you ~know, there's a lot of controversy and upset, but ~I still, I personally, ~I still feel really excited about Apple platforms and being ~a~ an Apple platform developer.

~And so, yeah.~

Leo Dion (guest): ~Did you, I'm gonna ask 'cause I legally am obligated in 2025 to ask in every recording, ~did you use any AI tools for building [00:26:00] your app

Kaya Thomas (guest): ~Ooh, dun. ~I have, ~um, ~used ~cla, ~Claude ~cl ~code

Leo Dion (guest): Yep.

Kaya Thomas (guest): ~tongue twister. Um, ~I have used Claude code. ~Um, ~I think ~it's, it's, I~ Rob Napier had a really good, blog post about, LLMs and how they're basically like really good interns. And I think that when you think about it from that perspective, it's not like a replacing ~your, ~your development and coding experience, but it's, a support of, and I think as a solo developer, when you don't have a team, ~right, ~and folks to be able to bounce ideas off of or get feedback, I think that's what I found it really helpful for is like, okay, review this code that I wrote, like where are ~the, ~the downfalls, like how can I improve it? ~You know~

Leo Dion (guest): a tool I just signed up for on GitHub, called Code Rabbit. It's a AI tool for doing pull request reviews. ~But that's a, ~that's kind of like what you're

Kaya Thomas (guest): Yeah, exactly, because ~I, ~I just feel like it, especially when you're a solo developer, it can be hard sometimes, like, ~it, ~it's easy to just, ~you know, ~write your code and ~like, ~[00:27:00] think everything is good, but ~you're, ~you don't have that kind of feedback that you get that's really great when you're working in a team environment.

So ~I, ~I found it really helpful for that and just, not having it right. Everything for me or anything, but just more, trying to improve what I am doing and improve my development, and make things a bit faster ~if I, ~if I need help, ~you know, ~writing something quickly. It's been really helpful for test.

'cause that's one thing that, you know, I test driven development

Leo Dion (guest): ~unit? ~Do you have, ~uh, ~Claude write unit tests for you?

Kaya Thomas (guest): yeah, I have been doing that, ~to.~

Leo Dion (guest): That's really good.

Kaya Thomas (guest): To have it right, test and make sure I'm covering all my bases there. So yeah, I have found it helpful in that way to be more like ~of a, ~a pair programmer, intern type of experience.

Leo Dion (guest): How about stuff outside of accounting, like marketing or copy or any of that stuff?

Kaya Thomas (guest): ~I, I, I've used it sometimes. ~I think, what I usually do is. I just ask it for a bunch of, like, variations on things that I already have written. So I always start, ~I think I always start, you know, human, ~human first. ~So ~I'll write things and just say like, okay, can you [00:28:00] gimme some variations of this, ~in, you know, ~in my writing style, what would you recommend?

How can I make this a little bit more concise and whatnot? And so I have found it helpful for that. ~Again, I think. ~When you're a solo team, it is just ~health. It's ~a helpful tool ~to just ~give feedback and ~to ~be able to ~brain ~brainstorm. ~Right. And so ~I found it really helpful in that way.

Leo Dion (guest): I have a lot of thoughts on AI and coding.

Kaya Thomas (guest): Yeah.

Leo Dion (guest): so I am working on a series of blog posts and a video on it,

Kaya Thomas (guest): Oh, okay. Yeah, I'm excited to, ~I ~check that out. So are you like a proponent or.

Leo Dion (guest): I'm not gonna say,

Kaya Thomas (guest): Okay, ~we'll~

Leo Dion (guest): ~IUIU I'll say I use it a lot. ~I use it a lot. So I'm not a. ~There's such a, ~there's such an extreme spectrum it feels like, where people are like, AI is great. I wanted to take over the world and destroy the human race. And it's wonderful. And then there's the, you know, what do you call it?

The people who are like, now AI is awful. It's garbage. Like we should stop using it and blah, blah, blah. I would say I'm in the middle, but everybody kind of would say they're in the [00:29:00] middle in anything, so I have to like, not sure where I'd be, but. It's interesting you mention feedback because I do think one of its weaknesses, and you see this in a lot of a lot of places, is it will always tell you you're right and how great you are, and so that's my one weakness.

I've found amongst others, like how well they're trained, if they're trained on new stuff, because you really don't wanna keep using UI kit in 2025 and still trained on that. ~It'll hallucinate APIs that don't~

Kaya Thomas (guest): ~That it only says, oh my God. Yeah. ~That is such a pain. ~Yeah.~

Leo Dion (guest): as a Mac developer, I run into that a lot. There's like all sorts of new Ns. Classes that don't exist that it creates because it sees the UI kit version.

~But yeah, ~I do think one of its problems is it'll tell you're right. So it's good that you're using it for like code reviews. 'cause I do think that's super helpful. And ~like ~other problem is people get lazy, right? That's kind of the core of it is like AI replaces work, so then you just get [00:30:00] lazy and assume it's doing the right thing, which it's not

Kaya Thomas (guest): It is not. Yeah, I think that's the number one thing I've learned with it is like I never assume it's right and I never assume that anything that it gives me is correct. So you always I think people talk about, oh yeah, you're saving a lot of time. And to be frank, I don't know how much time I save with it because I do a lot ~of.~

Error proofing. Right. Because ~it, ~it does a lot of hallucinations and so, ~I, ~I do spend a lot of time like correcting it and like reminding it of ~like ~what the correct APIs are and things like that. ~And so I don't know,~

Leo Dion (guest): it does something wrong, I've been trapped in rabbit holes where it's like I'm spending way too much time trying to tell it. No, you're doing it wrong. ~When I should have yeah.~

Kaya Thomas (guest): ~exactly. ~Yeah. So

Leo Dion (guest): Kay, it was good to see you. I'm looking forward to having you back on in five years. This is great

Kaya Thomas (guest): ~Maybe. Maybe, yeah, ~maybe we could do it earlier than five years. Next time.

Leo Dion (guest): We can learn about your new app for helping kindergartners. Thank you so much. This is awesome. I'm so happy to see you again. ~Uh, ~where can people find you online? Where can people find milk? Diary? Is it available? Test, flight, or, ~uh, ~[00:31:00] sign up or Yeah, go ahead. Plug your, plug yourself away.

Kaya Thomas (guest): Okay. Yeah, so milk diary you can find, ~um, ~at milk diary.com. ~And, uh, ~the test flight is not open to the public just yet. ~So ~I'm still ~in, ~in private alpha, but ~uh, ~I will be open up. Slowly, testing opportunities. ~So ~you can sign up for the mailing list on the website and then you can find me online ~on, ~on Mastodon.

~Uh, ~Kaya Thomas is, and blue sky. Although to be honest, I, I'm not really on blue sky that much, or threads. I'm also on threads. Same thing, Kaya Thomas is. ~And, uh, ~my website is also Kaya Thomas is ~so, ~so you can find me online, all those places.

Leo Dion (guest): Kaya. Thank you so much. People can find me online at Leo Dion. At Leo Dion at CI am on Mastodon. ~Uh, ~my company is bright Digit. We have all sorts of new stuff on there. I just posted the iOS backend cheat sheet, so if you're looking for what [00:32:00] kind of backend to pick, ~uh, ~you might want to take a look at that.

And yeah, it was ~great to, uh, ~great for everybody to join and thank you so much and have a great summer. Talk to you later. [00:33:00] Bye.

Creators and Guests

Leo Dion
Host
Leo Dion
Swift developer for Apple devices and more; Founder of BrightDigit; husband and father of 6 adorable kids
Kaya Thomas
Guest
Kaya Thomas
mom, developer, writer, facilitator, speaker πŸ‘©πŸ½β€πŸ’»studied at Dartmouth & MIT πŸ‘©πŸ½β€πŸŽ“ founder of Milk Diary & We Read Too πŸ“²

Join our newsletter

checkmark Got it. You're on the list!
image of podcast supporter image of podcast supporter
Join 2 supporters
Mastodon Β© Bright Digit, LLC 2018