Sunny with Andy Newhouse
E2

Sunny with Andy Newhouse

Joe (00:00)
Welcome to Side Project. I am your host, Joe Tannenbaum, and with me today is Andy Newhouse. Welcome, Andy.

Andy Newhouse` (00:07)
Hi, nice to see ya.

Joe (00:09)
Yeah, do you want to give everybody a little intro? Tell everybody about yourself?

Andy Newhouse` (00:13)
Yeah, I'm Andy Newhouse. I use they/them pronouns. I work at Tighten as a programmer. I've been working in Laravel since about 5.0 and like pretty much my entire professional career and yeah, that's basically it. Yeah, it's been a minute.

Joe (00:30)
Nice, 5.0, that's a minute. That's a long time. That's awesome.

Andy Newhouse` (00:37)
It almost feels like an aging question. Like how old are you? Yeah.

Joe (00:39)
Yeah, I know. It's like, how old are you? Are you 5.0 old? Are you 4.2 old? How old are you? Yeah, absolutely. I was having that discussion a lot at the meetup last night where, how long have you been using Laravel? What's going on with you? know? Yeah, I think I jumped on at 5.4-ish, I think is where I started. So a little after you. But yeah, well, welcome. I'm excited to have you on. So as this is all about side projects, what is your

Andy Newhouse` (00:51)
Yeah. Yeah.

Okay.

Joe (01:08)
side project vibe. Are you a domain hoarder? Do you have a million directories or is it pretty, pretty right and tight?

Andy Newhouse` (01:14)
I feel like earlier I was a domain hoarder and these days I'm like I don't want to pay- I know it's only ten bucks but I'd

like go get a burger for ten bucks rather than have a domain. So these days I usually just use

Joe (01:26)
Yeah.

Andy Newhouse` (01:32)
of like my domain and use those until it feels big enough.

to warrant its own domain and it never does. So, yeah.

Joe (01:43)
That is very sensible and adult of you. think that's great. And I think more people should follow that lead. It's a good it's a good strategy. Yeah, nice. What which side project would you like to talk about today?

Andy Newhouse` (01:49)
Yeah. Yeah, I like it.

We can talk about Sunny, which is like my Life OS side project, which Life OS I totally stole from Aaron Francis. So thank you, Aaron. It is a pretty good name. I had originally built it in filament and it was like, I had made a bunch of apps and then I just kind of put them all in one app. So I'd have one app.

Joe (02:04)
Okay.

Sure, it's a great name. It's a great name.

Andy Newhouse` (02:24)
maintain. And basically it's just an app for my spouse and I to like manage crap and just keep it all in one place insane. So yeah.

Joe (02:25)
Sure.

Great.

So the impetus was like, we don't know what's going on with these four buckets of things. And so we need to put this into a dashboard kind of thing.

Andy Newhouse` (02:44)
Yeah.

Pretty much, yeah. So like, we have stuff. We own a house. So we accumulate junk. So I didn't know where stuff was. And so I made this like simple inventory tracker, whereas like this is a thing, it goes in a bin and it goes in a place. And that's all it does. It's really simple.

Joe (02:53)
Yeah.

Okay.

Andy Newhouse` (03:12)
Yeah. Yeah.

Joe (03:10)
And you just log that in the system like this thing is in this bin. Are the bins like not, you know, I don't overscope this year, but are there like QR codes on the bin so you know what's going on or is it? Yes, really? my gosh. Okay, wait, break that down. So are you printing custom QR codes for the bins and then correlating them in the system? Okay, talk to me about that.

Andy Newhouse` (03:20)
Yes. Yes.

Yes. Yes. So first it started off with like an air table and then I could print a QR code with the link to the air table. And then I was like, well, I'm just going to build this myself because I'm a developer and that's what we do. And yeah, I found a product. I found a package that generates QR codes for links and I have a thermal printer.

Joe (03:36)
Mm-hmm.

Andy Newhouse` (03:56)
and just print them off and well I had it lying around so I figured I might as well use it. But when my spouse prints them off they usually use our just regular like laser printer with sticker paper and then we like cut them out and stick them on the box and have like four for a box so it doesn't matter which way the box is oriented it exists and you can scan it.

Joe (03:57)
wow, so official.

Okay, great.

man, you've cracked a really, really useful thing. So, and how often are you using it? Are you scanning it a lot? Like, is that a regular thing?

Andy Newhouse` (04:35)
it's becoming more regular as we prepare to move and like, you're like packing stuff up. Yeah. Yeah. Yeah. and like as we're organizing stuff and going through stuff, it's like, okay, this is what this bookshelf holds. Or this is, like, it doesn't even have to be a literal bin. It can just be like, this is a, this is what this cabinet has in it. Or this is what this bookshelf has. This is what...

Joe (04:39)
sure. Wow, it's so useful when you move. That would be so useful. Wow.

Great.

Andy Newhouse` (05:03)
this random, you know those little like cloth boxes that go in the cubbies? This is what this random cubby has, like, which is super helpful.

Joe (05:08)
yeah.

That's so smart. And then can you search it from the interface? Like I'm looking for this and then it shows you which bin it's in.

Andy Newhouse` (05:16)
Mm-hmm.

Yes. So I can be in my office and be like, okay, I'm looking for this random tech thing. Like maybe I need my other key light. Which bin is it? Where is that bin currently located? Because, you know, we move stuff around a lot and okay, it's in, you know, the workshop or it's in the basement. So let me just run down there and grab it. And then it's like, okay, here's the bin, open it up, ta-da. So like.

Joe (05:21)
Man, that would save me a lot of time.

sure.

So the only thing about this is that it requires the diligence of all parties involved to maintain the system, because otherwise the system is nothing. So is input very simple? What does that look like to correlate an object with a bin?

Andy Newhouse` (05:49)
yes.

Yes. Correct.

It is a select, well no, it's a, correlate an object with a bin. It is, yeah, you make the object and then you select the bin that it's supposed to go into. And yeah, so like beach towels go in the beach bin. And so you can, it's so good, I love it.

Joe (06:13)
Okay, easy. Great.

man, it's so good. I mean, the number of times my wife and I are like, where is X? And then neither of us actually know, and then we have to go through. I mean, we live in a smallish apartment, so it's not like we have like a lot to go through, but it's enough where this system would be amazing. That's so smart. Yeah.

Andy Newhouse` (06:24)
Mm-hmm.

Mm-hmm. Yeah.

Especially with kids, like, you're gonna just accumulate stuff with kids. It's like, this, this person's having a baby. Where is our, like, toddler clothes that we wanna, like, give them? Okay.

Joe (06:39)
Totally.

Yes. It's how long have you been using the system?

Andy Newhouse` (06:51)
probably a year or two and it's working pretty well. I mean we're not perfect at like keeping up with it but every once in a while I sit down and I'm like okay we're gonna this is this bin I'm gonna make sure everything in this bin is correct or whatever. But yeah I like it a lot it's super helpful to just like for our ADHD brains just like everything has a home.

Joe (06:54)
Okay.

Yeah.

Andy Newhouse` (07:17)
Like, it can live outside its home, but as long as we know where its home belongs, we can get it back there eventually. So like, that's... Yeah. And so that's just like a part of it. The other part of it is like, my spouse has chronic pain, and so we were like, correlating what their pain, muscle pain and joint pain is like with the weather.

Joe (07:22)
Yep.

a place for everything and everything in its place, you know?

Andy Newhouse` (07:43)
And so like they can go in and log their stuff for the day, then it grabs the weather data and it's like, okay, now we have all these data points to potentially, not that we've done it, but potentially like track patterns.

Joe (07:58)
So smart. So you're pulling it from like a weather API, like you're, yeah. Cool. What, so, and this is all Laravel and filament you're saying?

Andy Newhouse` (08:01)
Yeah, open, open weather.

Mm-hmm. Yeah, it's the first version was in filament and then I'm rebuilding it to play with flux. Because like this project is also my like, I'm going to play with this random thing that I haven't played with before. So like the first version was in filament because I wanted to play with filament. I played with pest, got into pest a little bit. Now I'm playing with it with flux and.

Joe (08:17)
okay, cool.

Andy Newhouse` (08:36)
I used Saloon for the API integrations and stuff. so it's... Yeah, I liked it. It was fun. I have not used it with an API that does anything but GET. So I would like to try and play with it with an API that I need to post to. But I haven't found a good use case yet. But... Figuring it out. Yeah, I love it too.

Joe (08:39)
yeah. How did you find that? Did you like saloon? Yeah. Yeah.

Mm-hmm.

Okay, cool, cool. I love Saloon. It's not right for every use case, but if you're building on an SDK or something, it's amazing. It's so fluent and readable.

Andy Newhouse` (09:08)
Mm-hmm.

Yeah, I just like having all of the like junk in one spot. And rather than having like a big HTTP GET with like the headers and stuff and all the tokens or whatever, it's like, okay, I'm gonna do that once and call this thing. And I like it a lot for even like small things. If I'm gonna use the call in more than two or three places, then...

Joe (09:19)
Mm-hmm. Mm-hmm.

Yeah.

Andy Newhouse` (09:41)
yeah it's going to get extracted to saloon. And I like having saloon as a pattern rather than having to like come up with my own.

Joe (09:44)
Makes sense. Makes sense.

Yes, yeah, there's like a format laid out for you a little bit.

Andy Newhouse` (09:54)
Yeah. Especially for side projects, it's helpful to not have to reinvent the wheel constantly. That's part of what I wanna do with exploring new things, but also finding that balance of utility and efficiency. And.

Joe (10:13)
Yeah, I think you were the one that tweeted that this was the that you were saying that this was the project that you just try things out on when you want to try them. And I think that's so smart because like you're like, well, I've got this. This is my playground. It's something I actually use, but it's also my playground. And so you can hit the ground running with something a little bit faster because there's like already a construct in place. There's already like it's an app you're so familiar with. Right. Like it's you don't have to build like a to do app to figure out what this, you know,

Andy Newhouse` (10:21)
Mm-hmm.

Mm-hmm.

Mm-hmm.

Yeah, and I can, usually I'm pretty good at being like, here's the thing that could be useful for my spouse and I. Here, let's build it. And like, this is a thing that I wanna use, so let's make it puzzle together well, and it usually does.

Joe (10:42)
this tech does or whatever.

Mm-hmm.

Yeah. So you've got bin sorting or bin categorization. You've got correlating chronic pain with weather, which is I love that. I love that what they're logging is just like the thing that they're concerned with. And then you can kind of just pull in whatever you want on the side that might affect that, which happens to be the weather in this case. It's such a smart way of going about it. Anything else that this does?

Andy Newhouse` (11:02)
Mm-hmm. Yeah, so inventory.

Mm-hmm. Whatever. Yeah.

Let's see. We're gonna add stuff to that, like we call it Delta, because it's like the change in weather usually affects their pain. So we're also gonna add asthma tracking for them so that they know when they can take their inhaler or when they should use the nebulizer and stuff like that. There's another thing that we just added. I just added a status tracker.

Joe (11:31)
Okay.

Mmm

Andy Newhouse` (11:46)
So it's kind of like... have you heard of Busybox?

Joe (11:47)
Okay.

Busy box? I don't know that. No, I'm not familiar.

Andy Newhouse` (11:54)
BusyBox was a Kickstarter campaign that I supported before the pandemic. And it was this like little digital screen that would show your status if you were like busy so you don't get interrupted during a meeting. And that's fine. It works fine. I think it promised more integrations and the integrations being easier than it actually ended up being. But

Joe (12:08)
Okay.

Andy Newhouse` (12:21)
I liked the concept of like, you can just set the status and everybody else knows where you're at or like what you're up to. But putting that on my like office store doesn't make sense because like our house is like weirdly configured and it doesn't make sense to like make the other person walk all over the house to like see my status. So I made a little API call.

Joe (12:35)
Okay.

That's fair.

Andy Newhouse` (12:48)
so that I could post what my status is and then it updates on the dashboard and so they can just go into the website that they're already using to see like weather and stuff and see what I'm up to. And then they do the same. Yeah.

Joe (12:57)
Uhhh, smart.

Can you post like anything to that or is it like on off like what it's you're posting like messages like in a call on or how does that work?

Andy Newhouse` (13:08)
right now it is a string column on the user's table. So it, yeah, it's, I have it set up right now. I like made a raycast extension so I could just click and pick the status that I like. And I have a few like predefined statuses, but it's not like, it's like an emoji of like.

Joe (13:14)
perfect as it should be.

Andy Newhouse` (13:34)
a developer and saying coding work or coding fun or like in a meeting or like what type of meeting it is. Cause like if I'm pairing with somebody at Titan, my spouse can walk in and that's fine. But if I'm pairing with like clients, I would rather not get interrupted cause I don't know. It's just less weird.

Joe (13:38)
Sure.

Yeah.

So smart. So this is like a really well-trod hub. Like you all use this a lot. Like this is critical to the everyday life, it sounds like. That's amazing.

Andy Newhouse` (14:00)
Mm-hmm. Yeah.

Yeah, and we keep finding more things to add to it. like, mint shutdown. So now we're doing the thing that Ian Landsman's gonna yell at me for, which is fine, I don't care, but we're gonna add our own little money tracking, because everything is expensive and I don't wanna spend money on a thing that isn't even gonna work well for our brains. So like.

Joe (14:21)
Yes. Yes.

Totally.

And also then you can track it in a way that makes sense to you because these things never work the way that you actually want them to work. So yeah, great. I love that. I love that.

Andy Newhouse` (14:32)
Mm-hmm. Yeah. Yeah. And like, Ash, my spouse, they love Excel spreadsheets for accounting. And I'm like, can we make it better? Like, I want a UI. So like, we're gonna find that mix of like, where we both make it make sense. And so that's also fun.

Joe (14:58)
Are you going to attempt to recreate Excel? that part of the possibility? Okay.

Andy Newhouse` (15:01)
No!

No, I don't think we're gonna make Excel, but I think we're gonna take our existing spreadsheet and distill it down into models and entities and things so that we can create an update and delete and maybe it becomes an Excel-ish thing. I don't know if Flex will let me do that, but we'll find out. It'll be fun. It could be cool, yeah.

Joe (15:28)
It'd be a fun challenge. It'd be fun to tinker with. That's cool. What is the like, what's the dream scope? Like what things, if you had all the time in the world, would you add to this that you've thought about?

Andy Newhouse` (15:39)
I mean, accounting is like the next big thing. I feel like we always have like random ideas and then we forget to write them down because ADHD brains. Yeah.

Joe (15:49)
that could be part of the hub is you could have a hub ideas backlog, you know.

Andy Newhouse` (15:55)
Yeah, I think I'll probably add a Trello-ish thing. I will probably add a way to track collections of things. So like, I collect Lego and I also collect Pokemon cards and I collect like, dev courses so I could have a way of like, okay, these are the things that like, it's kind of separate from inventory because it's a little bit more nuanced, but then also like,

Joe (16:21)
Mm-hmm.

Andy Newhouse` (16:24)
Okay, these are all the Lego sets that I don't have that I would love. Let's add a wish list. And yeah, I love a wish list, especially when they're never gonna happen.

Joe (16:28)
so you have like a wish list. A wish list. I love a wish list. That's great.

So actually, I used to be very into Lego, like when I was younger, it was like my whole identity practically. I am learning in my adult life that Lego is the plural of Lego. Is that correct? Okay, because I said Lego's forever and now I feel like a fool.

Andy Newhouse` (16:40)
Mm. Mm-hmm.

That is correct.

yeah. Eh. It's like one of those things where like super big adult fans will be like, it's Lego. And I will do that sometimes jokingly, but I'm like, it's, it's Legos. It's, Lego. Like it doesn't matter. But yeah.

Joe (17:06)
Doesn't actually bother you. Okay. I love that. What is the, what have you found to be either the most challenging part of building this or like the, and the most joyful part? Like what brought you the most like sort of like nerd joy out of that?

Andy Newhouse` (17:21)
you

I think the hardest part initially was getting Spouse Buy-In. Cause like at first, at first like, okay, we had one app for the pain management and we had a different app for the inventory management and we had a different place for this. And I was like, this is too many things. This is too many places. Let's combine them. And then they were like, this is great.

Joe (17:30)
fascinating.

Andy Newhouse` (17:49)
I love this. And so that was awesome. And there was also a lot of like nerd joy of like, this is a like not technical person. Like they're still super smart, but I'm just like, they're not a coder. They don't code every day and they're like, this is so cool. And this is super helpful. And like, it also is fun to like practice with like, what does the client in air quotes actually need?

Joe (17:58)
Yes.

The client being my spouse. Yeah, it's great. It's totally.

Andy Newhouse` (18:19)
and what do they want? Yeah. Which is super helpful and applicable in just work or in general of figuring out actually what people want from what they're saying and how to actually build it and actually build what they want rather than, you know that cartoon or meme where it's like what the client wants and it's a swing and what they build and

Joe (18:35)
Yeah.

Andy Newhouse` (18:48)
what they actually needed. So it's fun to like start with an idea, start building it, and then sometimes being like, okay, let's scale this back a little. It doesn't need to go that hard. And then piecemealing things together. And it's like, I don't care if it's the perfectest code ever. It's a side project that who cares?

Joe (18:50)
Yeah, yeah.

Mm-hmm.

No, it's a site project. Let her rip.

Andy Newhouse` (19:15)
But it's also fun to like play with Volt or play with Folio or play with random things that I don't get to play with all the time. like at Tighten it's like, what does the client want to play with? And it's okay. Well, I'll play with that with the client. But after work, I get to play with whatever I want to play with. And, mm-hmm. Yeah. Which is super fun.

Joe (19:24)
Yeah.

I get to go in my sandbox and I get to play over here. yeah. It's getting that spouse buy-in is so amazing. It's so satisfying. Like when they're like, wow, you built something useful and I love it. It's more satisfying than anything else you do as a dev, feel like sometimes. Yeah.

Andy Newhouse` (19:47)
Mm-hmm. Yes. Yeah. And like that status thing where I update my status is so useful to them that they have now started adding their own statuses. And now they're like, I want a way to make this easier for my setup, which is now like, okay, now how do I make a easy way for them to do this on their Windows machine?

Joe (20:03)
Yes.

Andy Newhouse` (20:16)
Raycast isn't gonna work and I don't know. So, Then maybe I can get them to buy into that.

Joe (20:19)
Although soon the raycast for Windows is coming. Yeah, I don't know what the date is, but it is coming down the pipeline. So hopefully you can just share that extension over, which would be great. I love plugging things into raycast. Have you worked with raycast extensions a lot?

Andy Newhouse` (20:27)
Yeah. Mm-hmm. Yeah.

No, this was like my first Raycast extension and I played with it and there was some issue with state that I just wasn't getting because I hadn't played with React in a really long time. And so at on site or Laracon I like shoulder tapped Tony. Shoot, I forget how to say his last name, but Tony, another like really, really, really smart Tighten person.

Joe (20:47)
Okay.

Andy Newhouse` (21:01)
And he was like, yeah, you just do this and this. And so we were pairing on it at onsite for this random thing and it was so fun. So yeah, I think eventually it would be cool if like, maybe I play with Pennant and do like feature flags so that like other people could use it and like turn off the things that they don't want. Or, I don't know. But also I think it's a cool idea for this project to be like.

Joe (21:05)
I love it. I love it.

Yeah.

Andy Newhouse` (21:31)
an example of like, okay, here's what I did for this problem. Take it and run with it. Like, I don't care, like, go for it. And it could be like a good starting point. I also had the thought of like, okay, I'm playing with volt. I'm playing with regular, like, Livewire classes and like functional versus class-based volts and like, which one feels the best.

Joe (21:37)
Yeah.

Totally. I love that.

Andy Newhouse` (22:00)
for me and I'm like it depends on the context and I hate that answer. I'd rather have one that I like all of the time. But I think it's a cool opportunity to be like this is how this works. This is an example of a way to set this up in this way or in this way or in this way, which is

Joe (22:18)
Right. Right. So as in like it becomes a reference for yourself to say this is how I did this here and this is how it made sense. Is that what you're basically saying? Yeah.

Andy Newhouse` (22:27)
Yeah, or like sharing with others too of like somebody's learning Livewire and being like, how do I do this simple cruddy thing in Livewire? Here's a good example in these different flavors.

Joe (22:32)
Sure.

that's amazing. Yeah. I feel like, especially when you don't get to necessarily choose the tech at work, which is most people's situation, that freedom to be like, what do want to dive into? And then like just playing in the space is so satisfying. and it's cool that you have sort of built yourself a really flexible sandbox within which to play. think that's so smart. I, back in the day, I like tried to learn.

Andy Newhouse` (22:44)
So.

Mm-hmm. Yeah.

Mm-hmm.

Mm-hmm. Yeah.

Joe (23:10)
Several languages like rapid fire and I did it by building a project in a language that I knew which I think at the time was PHP probably and I was like great. Let's build it in Ruby. Great. Let's build it in, you know, go whatever and It was good because I had already figured out the problem I just wanted to replicate it over and over and you've sort of felt built something almost even more flexible than that where you're like

Andy Newhouse` (23:18)
Mm-hmm.

Yeah. Mm-hmm.

Joe (23:33)
I know this problem space so well that I can build something out in some new tech because I know what's going on over here in this whole world, which is so smart.

Andy Newhouse` (23:41)
Yeah, I mean, I think it's just fun to know like, this is what works for us and this is what is helpful for us. And like, there's other things where I'm like, it would be cool if from my office I could know what's in the pantry. And my spouse is like, that would be great. And that would be such a pain. Dear God, don't do that. No.

Joe (23:50)
Yeah.

Unless you hooked up like, like sensors, like the way that like, have you seen those like self checkout stores like the Amazon, like, you know, yeah, if you hooked up sensors and like had it auto configured to like know what was in the pantry automatically, that's a cool side project. That would be amazing. And probably expensive because those sensors are probably not cheap, but,

Andy Newhouse` (24:11)
Yeah.

Yeah.

Mm-hmm. Mm-hmm.

the other...

Maybe. Arduino is very interesting and they've got a lot of random sensors that do a lot of random things. We also do 3D printing. My spouse has a 3D printing business and so we're constantly fighting for the printer. Not constantly, but I wanna print fun stuff and they're like, no, have to print this for, somebody bought this and I have to print this now. And so we, I...

Joe (24:34)
Yes!

Okay, this is my work.

Andy Newhouse` (24:55)
did build a queue app that was like, we can add stuff to the queue and it worked with the Raspberry Pis that were connected to our old printers and it did a whole bunch of really fun stuff and I really liked it. But then we upgraded and the new printer doesn't work with that interface anymore, which is like, ugh, that's a bummer. But also the new printer is so much better so I don't really care all that much.

Joe (25:07)
you

Andy Newhouse` (25:23)
And we're not fighting over it constantly because it is so much faster. But having the queue of like, okay, I want to add that back into this app where it's like, okay, these are the things we wanna print. And these are the ideas for things we wanna print or whatever have you, or things we wanna design or stuff. So it has just really become just our like tech hub of like all of the random little things that could be useful.

Joe (25:27)
Yeah, yeah,

but it's so specific to you and I love that. It's like this is, nobody would need this combination of items except for you. And I love, I think that's fantastic. I think that's amazing.

Andy Newhouse` (25:54)
Yeah.

Yeah, it's so much fun. Like.

Joe (26:05)
Do you have like a Like a white whale side project like one that you wish that you had time to build or like have you have started several times and never really got around to it or is this are you doing your white whale right now like what is the

Andy Newhouse` (26:19)
I think like it would be great if I had a great idea that would like make me a ton of money, but like that's not I don't know, but this I this is the thing that I'm excited to work on and excited to play with and excited to like share tidbits that I've learned from it, which is cool. And I think I don't know if I would say it's my like white whale, but also I don't know. It's

Joe (26:26)
Sure.

Yeah. Yeah.

Andy Newhouse` (26:48)
Just a fun, yeah. And I'm good with finding a minimal, something that brings me joy right now is perfect.

Joe (26:48)
It's a thing bringing you the most joy right now and that's all that really matters. That's great.

Yeah, that's great. So we need to buy sensors for your pantry. That's that's one thing. We need the wish the sort of like a wish list, but the idea lists you need to you need to build an idea list for the app itself so that when you have ideas, you can just get a backlog going. that the Trello board? Is that what you that's the kind of yeah. Yeah. OK, great. I love that. I love that you wouldn't even use Trello for that. You're like, I want to build a Kanban board for my my thing, which is great.

Andy Newhouse` (27:03)
Mm-hmm. Yeah.

Mm-hmm.

Mm-hmm.

Yeah.

Yep.

and also just like random lists.

I know, like, Caleb was teasing out a Kanban board that he had built with flux and live wire and I'm like, cool, just let me copy it please, thanks. And yeah, just drop it already. I think it'd also be cool, like, for the 3D printers, we use PLA, which is a fairly common plastic and it's fine, usually with,

Joe (27:35)
Drop that Kanban board. Where is it? Yeah.

Andy Newhouse` (27:53)
humidity but still like we have boxes with humidity sensors and it would be great to see okay this humidity sense like this one needs more stuff this one doesn't and

Joe (28:03)
Yes. You're hooking into so many APIs and interfaces. That is so exciting to me. I think that's incredible. Is this hosted remotely or just locally at your house?

Andy Newhouse` (28:08)
Mm-hmm. It's so fun. Yeah.

I have it on the Forge box with like all of my websites, this and a few other things are just on a five, $10 D.O. and it's fine. Yeah, it's perfect. I think.

Joe (28:16)
Okay, cool, cool.

Perfect. Perfect. Yeah.

Andy Newhouse` (28:32)
There's, I'm looking right at it. The other fun thing is I have a literal dashboard that is like, it's a Raspberry Pi hooked up to a screen. It fits under my monitor and it hooks up to this app and it's got my calendar, Ash's calendar, our family calendar, the weather, my status, their status. And then I also built a little widget for like all of my coworkers' time zones so I know.

Joe (28:39)
Okay?

Andy Newhouse` (29:01)
where they all are. And that's using Spatie's Laravel dashboard. like, so it's just like a cluster of all these random things. So it's so much fun. Yeah. Yeah.

Joe (29:02)
Yes. Yes.

I don't know that one actually.

I love that. But it's like cobbling together this stuff is great. it's, wait, Spatie Laravel Dashboard, I actually don't know that package. I've never even heard of it. It's like, just like kind of like a builder, like a builder package for interface or what does it do?

Andy Newhouse` (29:26)
they use it in their office for a TV.

Joe (29:32)
Okay. And so you kind of just feed it data and you say this is the format of the data and they like how what is the what what is it doing exactly?

Andy Newhouse` (29:33)
And so like...

You have, so that, what I really like theirs for is it's got like a grid system that is nice and you can say I want this tile to take up this much space. And then they also have this tile idea where like each card is its own tile. It's kind of similar to pulse in that way, where it's like each card is its own little thing.

Joe (30:05)
Okay.

Yep.

Andy Newhouse` (30:09)
And each card has its own state and they have a really simple data store where like, okay, the calendar stores things in this way, but it all feeds into the same tiles table, which is basically a name and a JSON blob of stuff. But it's pretty fun.

Joe (30:25)
you

And then is there standardized output that they're providing? What is the display side of it? Is that something you're handling or something they're handling?

Andy Newhouse` (30:39)
either. So like, you can use their tiles that they've made, or you can write your own Livewire component that displays in the same way. And there's a, they have a slight design system, but it's basically just tailwind with a couple of nice classes to handle, dark and light mode. So, so like they have text dimmed.

Joe (30:41)
Interesting.

How cool.

I gotta check that out, that's interesting.

Okay, cool. so yeah, sure. So you have this hooked up to, you said a Raspberry Pi that sits with a little screen that just kind of updates all day?

Andy Newhouse` (31:08)
and text something, but.

Mm-hmm.

Mm-hmm. Yep. Wire poll and each tile has their own wire poll like it has, Spatie's dashboard has like a default, and then like you can set each tile to pull at different intervals. So like I have a clock one that is actually all JavaScript, so it doesn't actually poll anything. But like the weather polls every minute or two.

Joe (31:41)
Wait.

Andy Newhouse` (31:47)
The calendar, I think I have it like every 15 minutes. We're not adding calendar things all the time. Which is super nice. And then...

Joe (31:53)
That's so cool. Yeah.

Andy Newhouse` (31:58)
My future idea for that would be to hook into a home assistant and be able to turn stuff on and off from there, which would be nice too.

Joe (32:04)
Okay.

so you can like add like buttons to the screen that you can then that hook up to the like the smart home stuff. Is that what it is? yeah.

Andy Newhouse` (32:12)
Mm-hmm. Yeah. So like, I have a stream deck that all I use it for is to turn off my key light. And I don't need the stream deck to do that. I could just do it on this other screen that's right next to it.

Joe (32:22)
Okay.

Right, right.

Have you done any Home Assist integrations or not yet?

Andy Newhouse` (32:35)
I set it up once and then I didn't really play with it all that much, but it's still kind of like the Elgato key light won't turn on and off with the Google Assistant, but it will with Home Assistant. So I'm like, okay, I can use Home Assistant to control my office lights and my like key light and all this other crap, but.

Joe (32:49)
Okay.

Great, great, perfect.

Is it, what is, what does that integration look like? Is it, is it like a web API or is it like a, do you know, do you happen to know?

Andy Newhouse` (33:13)
I feel like it was a little bit more complex than just an API, which made me be like, maybe later.

Joe (33:20)
Yeah, this is not where, in my opinion, Apple shines. is, this is like they're, sort of like programmatic interface stuff.

Andy Newhouse` (33:25)
Yeah. No, Home Assistant, what is the open source?

Joe (33:34)
it's the open source one. I'm getting, what is Apple call theirs? Is it Apple home? Okay, I just got home kit. Gotcha. Okay, okay. So let me reframe this all. So it is some sort of like API that you can kind of like post or get from or something like that.

Andy Newhouse` (33:36)
Yeah. Home something. Home kit. Home kit. Yeah.

Yeah, I think it wasn't a strictly REST API, so something a little bit weirder, I think. But I could just be remembering wrong and somebody can just be like, Andy, you're an idiot, and there is a REST API. Maybe later. Yeah.

Joe (33:56)
Okay.

But it was enough friction for you to say like, it's not for me right now at this moment. Okay.

Andy Newhouse` (34:08)
Especially because it lives on a Raspberry Pi that's hooked up to our internet and it has to live next to the WiFi router and all that stuff. And I was like, okay, I can use this Raspberry Pi for something else. So, it's fun.

Joe (34:16)
Yeah, yeah.

Yeah. So cool. Wow. You've this is like the dream. I would never get spoused by him for any of this. But like if I did, I'd be rolling. This is this is exactly what I'd be building. So smart.

Andy Newhouse` (34:29)
Hehehehe

I mean, it helps that they are fairly technical. They're a chemist and a physicist, and so they're like, okay, this could be helpful. And then I think usually there's a little bit more of how much time is this gonna take and will it be useful? And is there something else that might bring you more joy, like building Lego or something? like...

Joe (34:38)
Yeah. yeah. OK.

Andy Newhouse` (34:59)
More so, like, what are your intentions behind building this? Is it, because you think I need this or you think we need this or are you gonna actually have fun doing that? And as long as you're having fun, go have fun. But, like, if it's something else, let's talk about it a little bit more.

Joe (35:03)
Sure.

That is so nice and supportive and I love that. I love that the questions even being asked. My wife is usually like, what are you wasting your time on right now? She's very supportive but also like, I don't know. That's great, I love that dynamic. I think that's awesome.

Andy Newhouse` (35:19)
Yeah. Yeah.

Mm-hmm.

Mm-hmm. Yeah. Yeah.

Yeah. I mean, it kinda like, they're disabled, you know, more or less, like physically. So, like a lot of stuff rests on me, like cooking and cleaning and all that crap. So, they're a lot more like, okay, you have limited spoons outside of work, so what are you actually gonna use those spoons on and are they going to bring you fulfillment and joy and make your ADHD brain happy?

Joe (35:39)
Mm-hmm.

Yeah.

Mm-hmm.

Andy Newhouse` (36:02)
and like, let's actually focus on that instead of just ignoring it all the time, which I'm really bad at. So, yeah. It does, yeah. Yeah.

Joe (36:09)
Yeah, yeah, but it sounds like this does bring you joy. It sounds like this does is something you're enjoying playing with. Yeah. And ultimately, it's being used and useful, which is more than most side projects can even say, honestly. So.

Andy Newhouse` (36:18)
Mm-hmm.

Yeah, and like, it's used more than, used by more than just me. It's used by one other person, which is, I have a user. But yeah, it's better than none.

Joe (36:27)
Yes, you have users. That's amazing.

Listen, it's one more user than most people have. So you're on the road to success right now.

Andy Newhouse` (36:37)
True. Yeah. Yeah. Success with no income or like it's not gonna make any money, but that's fine. It makes joy, which is perfect. Yeah.

Joe (36:47)
But the pure joy side projects are, I mean, look, I've never made one that makes any money either. So maybe that joy is eclipsing the pure joy of the side project. But I've only made joyous side projects and I find them to be immensely satisfying. anything else you wanna add or bring up or talk about, I'm open.

Andy Newhouse` (36:52)
you

Yeah, they're super fun. Yeah.

I see. I feel like I'm like trying to remember if I'm forgetting anything that this thing does or I want it to do. Yeah, no, I think this is all this does and it's super fun and I love it. It's rocking. And I also love that it, we like name each like feature.

Joe (37:26)
and it's rocking it. It's doing it well.

Andy Newhouse` (37:34)
So like, the original version was called Hooty. And Hooty is, no. One of our recent favorite TV shows is called Owl House. And it's a Disney Channel TV animation. It's really cute, it's really good. And so they all live in this house and they're protected by a house demon named Hooty.

Joe (37:38)
And the blowfish? Okay.

Okay.

Okay. Okay.

Andy Newhouse` (37:59)
and the Hootie is just like this owl, but Alex Hirsch, the voice actor who does Hootie, when they were like planning the show was like, let me just do random scratch takes and did a demonic Mickey Mouse and the creator loved it so much. She kept it in the show. so like, so if you think of a demonic Mickey Mouse voice, that's Hootie's voice and, but Hootie like,

Joe (38:15)
You

I love that.

I've got that locked in. know exactly what that sounds like. That's great.

Andy Newhouse` (38:30)
But yeah, so like Hooty protects the house. And so then like the currency in this world is snails. So we were gonna call the accounting stuff snails or whatever. But the new version I'm calling Sunny because I've been obsessed with One Piece. And in One Piece their latest or newest ship is called the Thousand Sunny. And then like the...

Joe (38:42)
Ugh.

Okay.

Andy Newhouse` (38:58)
currency in the One Piece world is berries and they have like a compass. And so that is called a log post so that like the dashboard is gonna be called log post. like, so it's just like, it's just like an amount, it's just like, let's shove as much nerdy crap into this thing as possible. And like, it's just fun. It's just like, okay, what am I gonna call this? Like what fits?

Joe (39:02)
Okay.

Man, it's like world building. I love it. I love it.

Yes.

Andy Newhouse` (39:27)
from this world and fits to this thing and like, and then also like whenever I or my spouse go to Hootie or Sunny, it's like, that's like, it brings a little smile because it's like, it's just a little bit of joy and it's just like, yeah, that tickles a little bit. Mm-hmm, mm-hmm, yeah.

Joe (39:38)
a little tick of joy, right? A little like, yeah. And it makes you probably want to use it because you're like, it's endearing. It's like something you love already that it's so smart to to pull references for like the sub components of this from the main. mean, that's like, man, you're you're you're a smart cookie. That is that is good way to go.

Andy Newhouse` (40:00)
I love it, it's such a fun way to do. Cause then it's like, okay, what does this fit into? And this, what does it like? Cause, mm-hmm, yeah.

Joe (40:08)
Yeah.

Like what's the parallel in that world that we can draw into this world? That's cool. man, I'm gonna steal that.

Andy Newhouse` (40:17)
Cause like, it's so easy to do that a lot with like, I mean you could do it with Star Wars. Like you could call it the Millennium Falcon and you could say, I don't know Star Wars well enough to know what the multiple currency systems, but like, but yeah, you can pull from whatever and it's super fun to just like have just little like nerdy callbacks.

Joe (40:27)
Mm-hmm.

Okay, good, me neither, I don't either.

Andy Newhouse` (40:44)
Pardon.

Joe (40:44)
And it kind of provides like a nice cohesion to the whole thing, right? It's like a, it feels more cohesive. can't think of a better word than that, but yeah, so smart, so smart. I'm definitely stealing that. I think like that's the way I'm gonna like build apps from now on is like get this overarching thing and then just pull it and spill out of it.

Andy Newhouse` (40:47)
Mm-hmm.

Yeah, but yeah.

Mm-hmm. I usually...

Yeah, for side projects and stuff, these days I usually find a nerdy thing that I'm like really in love with at that time and then name every, like name the project that and then name something else off of it and it's fun. Just to like.

Joe (41:20)
Yeah, I'm very like, it's, don't actually use a lot of chat GPT, which is, funny. feel like a lot of people do, and I'm just not quite like totally on board with that. but that's the one thing I use it for is like side project naming. I'm like, this is what it does. Give me 10 names and I go 10 more. And then I find one in there.

Andy Newhouse` (41:25)
Hmm.

Yeah, I am also not.

Mm-hmm.

Joe (41:40)
that I'm like, okay, give me five more that are like this one. And then it'll just keep iterating. there's a hard limit to it doing a good job on that, but something usually comes out of that, right? Yeah, yeah.

Andy Newhouse` (41:45)
Yeah.

Yeah.

Yeah. I mean, and in my case, like, Sunny. Okay, yeah, I guess, like, you could make a parallel to, Sunny is a home and we use this for home stuff and like, but at the end of the day, I'm like, it could be whatever. It could be like,

Joe (41:58)
Huh.

Yeah.

Andy Newhouse` (42:11)
Could be like the Jasmine Dragon from like Avatar the Last Airbender. I'm just like looking at the nerd wall behind me of all the nerdy crap I have. Yeah, pretty much.

Joe (42:16)
Right. You're pulling inspiration directly from your surroundings. But that's but but again it just like perpetuates the joy of the side project in general which is like which is great which is great. This was so fun. Thank you. Thank you for taking the time to talk. I appreciate it.

Andy Newhouse` (42:25)
Which is... fun.

Mm-hmm, yeah, yeah. I just love it. This was a lot of fun. Yeah, yeah, this was great.

Joe (42:41)
And keep us are you going to be writing? saw I think you were writing some blog posts about like the evolution and how it was coming about. You're going to keep that going.

Andy Newhouse` (42:45)
Yeah, mm-hmm. Yeah, I made one video with a quick like just like setup of like Laravel new blah blah blah speed run almost. And then I think I'm gonna do either, like I don't wanna hold myself to videos, but like either videos or blog posts about like progress and interesting things I've learned or like things that were hard that didn't need to be hard.

Joe (42:56)
Okay.

beautiful and where might people find that sort of thing if they were looking for it.

Andy Newhouse` (43:15)
So like.

That, I would post it on my website and then share it out to all of the platforms which currently include for me Twitter, Blue Sky, Threads, and Pinkary. And all of them have the same handle which is techenby. T-E-C-H-E-N-B-Y. yeah. Techenby.com. Yeah. Yep.

Joe (43:32)
You are all in on everything.

Okay.

So just watch out for posts flowing out on any of those platforms. Beautiful. Great, perfect. Thank you so much. This was so fun. I really appreciate it. All right. And that's the episode.

Andy Newhouse` (43:48)
and they'll all probably lead you back to the same place. Which is perfect. Yeah. No problem. This is fun. Yeah. All right. Have a good day. Yeah. Cool.

Episode Video

Creators and Guests

Andy Newhouse
Guest
Andy Newhouse
Programmer at @tighten.com.They/them 🏳️‍⚧️. AuDHD. An all-around silly, weird, nerdy human. Laravel | Livewire | 3D Printing | LEGO | Band | etc.