Bryant is joined by Matt with the goal of building a workout fitness app in just 10 minutes using the MCP.
Speaker 0: Alright. Alright. Alright. Welcome back to another episode of one app ten minutes. I'm your host Brian Gillespie.
Today, we have got an extra special guest that I will introduce in a moment. But if you're new to the show, let's cover the rules. Ten minutes to plan and build and no more, no less. You animals couldn't sit for an hour, so here we are trying to build apps in ten minutes. Successfully or not, we will build the app or die trying.
As for a special guest, right, mister Matt Miner from our marketing team at Directus. Matt, how are you, sir? Happy to have you on the show.
Speaker 1: Well, I was good. In the intro, you said I was very special, and then you just said I was special. So which is it? Very special or just a special?
Speaker 0: Very special?
Speaker 1: Good. Extra special. Yeah.
Speaker 0: How special do you wanna be? Just How
Speaker 1: special do you wanna be? Enough. You know? No. It's great to be here.
Unlike other guests, I had a little heads up, so you couldn't catch me off guard with a random meeting. So, I'm
Speaker 0: Yeah. I mean, that's that's fun for me, certainly, to put people on the spot. The other thing that gives me a bit of anxiety is if you have had time to think on what we're actually gonna build Yeah. I certainly have no idea. You can thank Beth on our team for that.
Thank you, Beth. I don't know if you're gonna watch this afterwards or in post production, but I appreciate you for putting me on the spot. Yeah. So, without further ado, you know, tell me what we're building so I can put it up here on the board.
Speaker 1: Alright. We're gonna build. Little backstory. Since having our second kid, my son, I can count on the number I can count the number of times we've slept through the night on, like, one hand. And for one for one and a half years, he he turns two in June.
So, for, you know, obvious reasons, like our I've not been to the gym. You know, I've not been working out. I get winded when I walk up the stairs. So I've been one of the New Year's resolutions this year has been getting back
Speaker 0: to the gym.
Speaker 1: I need some sort of, like, fitness app, workout app sort of thing, to track workouts and things like that, as well as keep, like, kind of a running diary. And, if we wanna get, like, crazy advanced with it, I have a lot of ideas for it. But, yeah, hopefully, this is something you can build and and I can sell on the side. So that's my goal today.
Speaker 0: Jeez. Okay. I think a native app would be very difficult in ten minutes. We could certainly cook something up with Directus. So just to to prove to the folks there's no hand wavy magic here.
Right? We've got a blank Directus back in. I do have cloud code set up for us with the direct Us MCP already connected, which is, hopefully going to help us move faster than the speed of light. But you know the drill. We're gonna start the clock, and then we'll plan this thing out and see how far we can get in ten minutes.
Are you ready?
Speaker 1: I think I'm ready.
Speaker 0: He's born ready. Here we go. Alright. Ten minutes. Here we go.
What sort of functionality do you want out of this thing?
Speaker 1: Alright. So, basically, I need to be able to, like, put workouts in ahead of ahead of the, when I actually go work out. So I'm thinking, like, Monday, Wednesday, Friday, I'll go to the gym. I'll do, like, a push day on Monday, pull day on Wednesday, and, like, a legs day on Friday. Right?
Within that, like, just a basic thirty minute workout, so it'll be kind of repeatable with the exercises. And then just having a way to log, like, the weight that I do. And then if if we wanna get extra fancy with it, like, implementing some sort of, like, AI increase of, like, you know, a couple percentage points of the weight. So, like, next time when I go, there's a little bit more weight. I have to be able to rate it.
So, like, if I can hit all of the reps during the workout workout, and if so, then, like, increase it by, like, 5% or something weight wise. Yeah. Basic functionality is that. Logging, you know, planning the workout, with sets and reps in the workout and then logging, like, easy, medium, hard for each one.
Speaker 0: Holy cow. Okay. Alright. No short order. Right?
I'm not sure if you're using this tool yet or is it variety of tools? I've got this thing called Super Whisperer. I'm just gonna enable this because I suck at typing. Alright. And then I'm gonna talk.
Hi, Claude. We are going to build a workout fitness app sort of thing for my friend, Matt. I'm gonna paste some notes on our data model, what the workout should look like and the different things that we need to, have inside the app. And I want you to quickly, as fast as you can, create a plan to add that to our direct us instance, using the MCP. Alright.
So, we got a transcript here that would have taken me forever to type. I'm gonna paste this in. Oops. Let me make sure I copy this. Cool.
And then let's go. Right? Now, normally, I would kick this over in plan mode, but we are extremely on the clock here. We got seven minutes and thirty seconds left. It should pick up the schema and existing collections from Directus.
Speaker 1: For one shotting.
Speaker 0: Is this We're we're just gonna have to one shot this. You know, I'm asking it to plan first, though. Right? I did say that. Quickly create a plan.
So here we go. We got a plan. Matt's workout app. Alright. You got exercises.
Cool. You got workouts, day of the week, target duration, workout exercises, junction table, workout logs, sets completed, exercise, default sets, default reps. Okay. So I see reps and stuff in there. We got the exercise progress.
Exercise logs, that's where your your rating comes in, I guess. Optionally, create a flow. Alright. So let's answer these questions. Right?
We want, LBs, an American LBs.
Speaker 1: In our annoying metric system.
Speaker 0: User User specific shared templates.
Speaker 1: Context to that would be what? If, like, I'd go to the gym with my wife, we could share, like, the same workout.
Speaker 0: The same workout app? Yeah. Maybe. User off, I guess. Let's do that.
Specific exercises to prepopulate, come up with a list of exercises to populate. And, actually, we can have Claude do that separately. Rating scale, one to five or thumbs up or thumbs down?
Speaker 1: I would say easy, medium, hard. So, like, if easy, progress weight. If medium, keep weight. If hard, reduce weight or reps.
Speaker 0: If easy, increase, medium, increase?
Speaker 1: Medium, keep the same. And hard, reduce.
Speaker 0: Reduce reps. Alright. Five minutes. Let's see what it comes up with. It's gonna update the plan for us, and then, Has
Speaker 1: it already been five minutes?
Speaker 0: Yeah. This this goes quickly. Yes. Implement my guy. Go forth.
What do you mean? So you could see already, like, the I I know how to click all these buttons and direct us, certainly. Right? I could go through, and I could do all this. And I've done it pretty quickly.
But, AI is such a I it gives us so much leverage in this equation.
Speaker 1: That's the thing, though. Right? Like, does anybody actually enjoy building out the data models, like, on the back end now? Like, this it's it's kind of fun, I guess, like, putting it's like putting a puzzle together, but, like, it feels better if you just get a foundation and then be able to, like, tweak on it. Right?
I guess, posing that question to you, like, do you like building out the back end or do you care about the front end?
Speaker 0: You know, I am I'm a results guy, man. Yes. You are. Do you know? I
Speaker 1: You better get results.
Speaker 0: Like the ship stuff. Yeah.
Speaker 1: I I I need this.
Speaker 0: On the spot. Like, I you know, I I am kind of sad on some level of, like, hey. It's not me doing the work anymore, but, you know, I've come to realize that, like, the the strength that I have is not actually writing the code or clicking the buttons. Right? It is putting the the stuff together.
So we are at three forty three. What is Directus doing here? What is claw doing? Right? You can see it's creating fields for all the different relationships.
It's adding those relationships. Now it's seeding the exercises. Yes. Let's create the default workout templates and create the flow to auto progress. So, again, this is this is a terrible way to build something for actual production in that, I've just got this set up in yellow mode, and, basically, I'm barely even reading these things.
Yeah. We're I didn't even give you a chance to to comment on this. Right. But the the principles here are sound. Right?
And that you've got a thinking partner in in something like Cloud Code or, you know, it could just be Cloud or Chad GPT. It doesn't really matter which AI you're using. It's It's helpful for thinking through these things. So if we take a look, right, now we've got our data model. We've got our exercise progress.
We've got your different workouts with your different exercises already created here. Alright. You got your workout logs, which I'm assuming here's your workout.
Speaker 1: So Monday. Yeah. And that's the planning of it. Right? It's like yeah.
Monday. Well, probably
Speaker 0: Oh, this is this is your yeah. The workout log. Workouts would be this is does this have your weight? No. It doesn't have the weights on it, does it?
Yeah. So that part of it we're missing. Right? Maybe that is
Speaker 1: And I guess we aren't specific about that. Yeah. Well, there's weight at least in the logs.
Speaker 0: Yeah. So let's set up the Monday. Yesterday, Matt did this. Totally did it.
Speaker 1: Totally did it.
Speaker 0: I swear. Alright. So, you create your exercise log. You got a bench press, etcetera. Right?
You completed five sets of five reps at two twenty five. Mhmm. Mhmm. Beast. Mhmm.
Alright. So there you go. You got your exercise log. Let's check on what we're doing. Right?
It is creating some operations now. So we should see, like, a flow in here. Should be creating these operations for it. Okay. We got a minute and twelve seconds left.
Speaker 1: I should have not said my sob story at the beginning. We'd have more time. But, I mean, this looks great. Right? Like, I think what's really interesting about it is that, you know, not even using Directus as, like, the interface for this, like, just slapping together a lovable front end or something that's much easier and accessible, like, from my mobile device than just, like, while I'm there, just blah blah blah.
Speaker 0: Yeah. Alright. So we're gonna go in, and we're gonna create this workout log again. It's Wednesday, pool day. Except you did it on Tuesday.
It is we're gonna do hard incline. Oh, what's the pull? Lat pull downs. There you go. You had 20 sets.
20 reps. Crushed it. 110 pounds.
Speaker 1: I had my creosote
Speaker 0: right there. Let's see what happens. User exercise progress. Did we did we get an error on the flow? Oh, we got five seconds left.
Know. Out of time. No. Run scripts. Cannot read properties.
Okay. So, you know, Claude screwed up a bit on our run script somewhere in here where, you know, it's it's wrote some JavaScript code, which is nice. One of the nice things about the flows inside Directus is you can just write arbitrary JavaScript and run that. But there's a a few debugging issues. Right?
So ten minutes in this case. And, you know, let's let's take a look. Right? Let's go to the tally. We've got got the workout exercises.
We got the reps. We got your Monday, Wednesday, Friday, and we got the ability to log the workout. We got the rating the workouts. What we did not get is the automatic increase. So that logic, we did not get.
Speaker 1: And I would say that that So instead of the way it's interesting how I applied it to the full workout instead of the individual, like, exercises, which is probably why it got funky because it was probably waiting for us to put in all of the
Speaker 0: like, hey. Was this individual exercise hard or not? That's a good insight. Right? So it does show you I I I think I'm impressed with how far you can get into
Speaker 1: I mean
Speaker 0: that's right.
Speaker 1: Man, this is I mean, this is really the basis. You see a lot of apps out there like Fitbot or, like, Fitness AI, which are solid, but, you know, they're not customized to you. And being able to just, like, do this, get it custom, share it, you know, with whoever I'm working out with, it's powerful.
Speaker 0: Yeah. Another ten, fifteen minutes, we could have had, you know, nano banana generate images of these or we could have copied images. Like, diagrams of how how to do the exercises. Right? Yeah.
Could create workout templates. Again, like, you could have, like, auto progression or auto calculation on there. And then even with the AI chat inside Directus. Right? Mhmm.
Hey, man. Plan me a new workout. Right? Even if you let's say you you haven't built that, that front end yet Yeah. The native app that we're gonna build in ten minutes.
Yo. You could still interact with this on your phone
Speaker 1: Yeah.
Speaker 0: Because it is all mobile responsive. Right? And I can open up the AI chat inside here, add an OpenAI API key, and, you know, I've got somebody that can log all my workouts or create new workouts for me as well right inside Directus. I don't have to code anything.
Speaker 1: Yeah. It's wild.
Speaker 0: Yeah. Well Well You know? I mean I
Speaker 1: we got far. We got farther than it would have taken me if I was gonna do this myself.
Speaker 0: Well, we'll give this, like, the the fair to Midland. Like, meh, like
Speaker 1: Yeah.
Speaker 0: It's okay.
Speaker 1: What is it? Gladiator? Don't know if it's up or down yet. I'll just give it this side. Don't know whether to kill it or let it live.
Speaker 0: There you go. Yeah. The alright. Yeah. Well, Matt, thanks for joining me.
This is fun. Yeah. I do like, this is something that I I need myself personally, so I do kinda wanna keep working on it on the slide.
Speaker 1: Hey, man.
Speaker 0: This is fun. Great idea, man.
Speaker 1: Everybody's stealing my ideas lately. I'm just kidding. Give me access to this. I I wanna see you know what? We can also build a scoreboard so we can see, like, who can how much more I work with, bro.
Speaker 0: Bro, I used to say
Speaker 1: power I know. I I can't. I've seen you in person. There's no way. You're you got me beat.
Speaker 0: Short and squat, dude.
Speaker 1: See them. Alright. Cool. Well, thanks, man. Appreciate it.
And, yeah, this is awesome.
Speaker 0: Yeah. Thoroughly enjoyed it. Alright. Everybody out there, that is it for this episode of one app ten minutes. Thanks for joining.
Stay tuned for more episodes.