 I always forget something. OK, I'm ready. Are you ready? Yes. Great. All my talks start with a content warning. There's two for you and one for me. The two for you are this talk involves discussion of terminal illness and death and the emotions that surround those things, specifically loneliness and guilt through the lens of end-of-life care. If that's a heavy subject for you and you need to step out, I totally get it. You will not offend me. It will not hurt my feelings. If you need to do something to give you a bit of emotional distance, look at your phone, jot in a notebook, cross stitch, I'm totally into it. I've been there, too. The second content warning for you is that I do have two videos in this talk. One of them has audio. It is captioned. It's kind of dark for lots of reasons, but it's there. And if something goes wrong with the video, the captions can help us with the content. And then the second video later doesn't have audio. But if you experience any kind of motion-related nausea or discomfort, I'll give you a heads up before those videos start. They're only about 30 seconds each. And I'll be talking through them as well. The content warning for me is, please don't fall off the stage. I pace when I talk. It's how I kind of deal with the anxiety of being on the stage. So you see me getting perilously close to the edge. Just throw your arms out. No, Jeremy. OK. So please take care of yourself. Do what you need to do. I want you to be safe. I want you to get something out of this. I want us to be here together. Cool? Start with a thank yous, first and foremost, to Brenna. She's sitting here in the front row. I'm going to talk about her a lot. Thank you, Bren, for so many things. And thank you to the organizers. Conferences are really hard. Brenna and I, along with a couple other folks, organize a conference in Seattle. I'll talk about a little bit so we get how hard this is. And they've done an amazing job. And again, thank you to all of you who've stuck through and come to this very last session. I want to tell you a story. I took this photo in July in Bermuda. I was with Bren, and I want to tell you the story of how we got there. We were in Bermuda to fulfill Barbara's last wishes, which was to have her ashes spread in Bermuda, where she had lived most of her adult life. So I'm here to tell you that story. I'm here to tell you about my family, essentially, about making things that matter, about holiday gifts. I'm going to tell you a story about fighting when you're going to lose. There's no other option you're going to lose. And I want to tell you a story about a $5 computer, which is my prop for this talk, which I left in my backpack. So it's OK. First, before we get going, I want to talk about this word. I have a speech impediment, which is why I started public speaking. So when you hear me stutter on words a little bit, it's that combination of nerves and a physiological impairment. This word is really hard for me. And it's really important in this discussion, but that consonant with that hard I after it like that, man, it messes me up every time. So saying it the first time is the hardest. It's like a roadblock. I figured out how to get around it. So I'm going to count to three, and I need us all to kind of like say it together. That'll help me, OK? So one, two, three. Dignity. I couldn't do it. Dignity. Dignity. Dignity. There it is. OK. We're going to talk about this word a lot, so I'll probably struggle with it. Here's an agenda, because if I don't have an agenda, I will just ramble. We're going to meet some people. We're going to talk about loneliness in guilt, experiencing loneliness and guilt through the lens of caring for someone who is terminally ill. We're going to talk about the difference between soothing and solving. We're going to talk about how to build the right thing, more specifically how to know what to build when it's time to build something, and then measuring the impact of what you build. And we're going to close with a short discussion on what do you do when you lose the fight? So let's meet some people. First there's me. My name is Jeremy. You know that. You probably saw it on a website. I'm a programmer. I'm a teacher. I live in Seattle. I really like tattoos and records. If you want to come talk to me later, I always want to talk about tattoos and records. I help run a little conference you probably haven't heard of, or this crowd you might have. It's called open source and feelings, and it's exactly what it says on the tin. I'm the least important person in this story. I'm just the person privileged enough to tell it. This is Bren. She's more important. She's a software engineer, specializing in build and delivery engineering. She's a crafter. She's a runner. She's a gamer. And most importantly, she is the kindest person I've ever known. She's also my girlfriend. My partner, my best friend. We've been live, laugh, loving together for four years and going, and she's here today in New Orleans. She's sitting in the front row. Hi, Bren. Yeah, Bren deserves a round of applause. She lives with this. This is Barbara, Bren's grandmother. She passed away in May, but she remains the most important person in this story. She's our central character. This is where our first video is. It's awkward to me to be the one telling Barbara's story when her relationship with Bren is obviously much stronger and much more significant. And so when we talked about this, wanting to give Bren a voice in this presentation, we settled on a video to do so. So this is Bren talking about what made Barbara such a special person. And again, like when we tested this earlier, we had to really crank the audio up. So let's prepare. And it's about 30 seconds long. Let's see if it works. She was an amazingly strong woman. She was an amazingly intelligent woman. And she was independent, headstrong. And yeah, she was a badass. Badass. I can also describe my grandmother as a badass, since I don't know if that's a comment trait of grandmothers, but I want to believe it is. And it's a shame that video's so dark because in Bren's lap is our adorable Chihuahua Rosa. And that was my opportunity to share her with you. So if you want to see pictures of Rosa later, please come do it. But yeah, Barbara was a badass. And it's worth talking about. This is what makes Barbara a badass. She was born and raised in the Eastern United States. And on the playground, she spent most of her days. I'm not going to do that to you. She grew up in New Jersey and emigrated to Bermuda in the 1960s. She emigrated after a bitter divorce. And the thing that drove her away was this desire to have her own career, to kind of be in charge of her own destiny. And that was something her ex-husband adamantly opposed. And frankly, the rest of her family opposed. So she lived and worked in Bermuda until her retirement in 1991. She worked primarily in the banking and hospitality industries and earned the title Manager S, which is amazing, Manager S. She was joined in Bermuda a few years after emigrating by her daughter. And then some time after that, Brenna was born. Brenna describes Barbara as her role model, as her tireless cheerleader, as her best friend, her second mom. And Barbara is responsible for instilling in Bren a belief that success and empathy are not exclusive concepts, that she could achieve anything she desired with hard work, dedication, kindness, perseverance. And it was Barbara's career working with computers and frankly managing teams of men that inspired Bren to go into engineering herself. Bren eventually emigrated to the United States and settled in Seattle, which worked out really well for me. And after retiring, Barbara followed because as she aged, she needed more help getting by with day-to-day living. So Brenna arranged for her to settle in Seattle eventually and enter an assisted living facility and they began this routine of daily phone calls and visits. These women, these amazingly strong women followed each other across continents and decades, each supporting each other in kind as the situation demanded, each determined to be there for each other. On December 12th, 2012, Barbara suffered a series of ischemic strokes. That's when a blood clot somewhere in a body, usually the leg, separates and travels a circulatory system landing in the brain. The result was a complete loss of her ability to speak. Complete loss of sensation and control in the right side of her body, leaving her bedbound. She could sit in a wheelchair but didn't have the strength to move it herself and so she was really spending most of her time in bed. She lost her independence, essentially overnight. After the stroke, Barbara needed 24-hour care. So Bren arranged for her to enter a facility that could provide that care, a nursing home. And that's where Barbara lived for four and a half years. Bren visited and those visits were hard. Some days, the connection between brain and body were strong and Barbara could speak a little and was with Bren and it was a little bit like old times. They could talk and laugh and catch up. More often, Barbara was frustrated, angry, at her inability to get her body to cooperate, to vocalize the things she was thinking and feeling and they made it work. They developed a surprisingly elaborate system of gestures and pointed looks and communicated volumes with just expressions. It's the kind of communication that you have to grow up with someone to have. Some visits were really bad. Once a month, maybe once a quarter, Bren would find Barbara agitated and confused. She would have woken up having forgotten why she was there, where she was, why she couldn't move, why she couldn't speak. She was terrified and lost and it wasn't until Bren would arrive that she would calm down and Bren would have the extremely unfortunate job of explaining to Barbara what had happened, where she was, why she was there and how long it had been. Brent never sugar-coated. She always told her the truth and I immensely respect that and it wasn't to hurt her or to scare her, it was to be honest and whole with the person she loved most. But it was picking a scab. Once I entered the picture, I began visiting as well. I usually visited once a week, typically for an hour or maybe two and over time a pattern emerged. We are creatures of habit. Patterns were like this, I make really good coffee. It's one of my special skills. You wanna be my friend, you wanna live in Seattle, you wanna come to brunch, I make great coffee. Bren is an accomplished baker and so we would make coffee, put it in her special china that we rescued from storage and take her some scones or maybe a pie. She really liked pie and we would sit and talk. We would talk about the weather, we would talk about work because Americans love to talk about work and we'd talk about anything we could think of in an attempt to engage her, to draw her out, to make her feel connected to us. But eventually, without fail, no matter what, we pull out our phones. We pull out our phones to show her photos. It was the best we could do to give her a sense of what our life was like, of what our bus ride looked like, about what our office looked like, about what our home looked like. And we'd get in the habit of actually taking more pictures just so we'd have something to share with her when we visited. Bren was also really good at talking with her, asking her questions to draw her out. Typically, these are yes, no questions because that's what Barbara could manage most of the time but I always respected that effort, that's hard. And after about an hour, we'd clean up, give her a hug, tell her we loved her, and say goodbye. In doing research for this talk, I came across so many stories like Brenna and Barbara's. This one stood out to me. Dr. Ranjana Shrivastava wrote in the New England Journal of Medicine about a friend of theirs who also suffered a stroke, very similar to Barbara's. And after the stroke, Dr. Shrivastava started keeping a journal in which they described both the objective observation of their friend's decline and eventual death and the subjective experience of watching someone you care about die. This quote resonated with me because it felt immediately accessible. There were those times in Barbara's room that I couldn't handle the weight of the visit. I couldn't handle the frustration or the difficulty. And so I'd pull out my phone and I'd read Twitter for a couple of minutes. I think we've all been there, probably not quite so dramatically, but these are excellent escape devices. He also said this, it's something impossible to watch someone you care about slowly lose their connection to what makes them human. It's something else to watch someone you love go through that. And so this is what I wanna talk about. It seems unkind to leave and painful to stay. Strokes are cruel. They rob us of our essential humanity, our dignity as people. They take away our agency and control over our environment. But they also impose upon the people we love an impossible burden. On Barb's side is monotony, loss of agency, disconnection, and a widening gulf between her and the rest of the world. On Bryn's side is this unshakable feeling that she can't do enough for Barbara. That there's always something more she should be doing. A feeling frustration or boredom during a visit and then being really angry at herself for feeling that. It was a spiral. Sorry, the connecting emotion there is isolation, loneliness. On Barbara's side, because of this literal disconnection on Bryn's side for feeling like she's alone in managing this impossible situation. More research. This is the last research, I promise. Dr. Liat-Grenach, writing for the Huffington Post, talks a lot about loneliness. Now Dr. Grenach is a psychologist that studies the physiological effects of grief. And in this article, which I provided a bitly link, they recount a study that reviewed about 40 years worth of research on loneliness. It was called Loneliness in Social Isolation as Risk Factors for Mortality. That's a title for you, published in March of 2015 in Perspectives in Psychological Medicine. Let's talk about this study a little bit. So this was a review of academic research on loneliness. And in controlling for all possible confounds, Dr. Grenach showed social isolation, measured social isolation corresponds to a 30-ish percent increase in your likelihood for mortality. Put more simply, you're much more likely to die if you're lonely. Die from what is one of those confounding factors for which you can control. Dr. Grenach recounts three really remarkable things about this study. One is the scope. As I said, this was a very, this was a review of a large body of work, 70 scientific publications covering about 3 million participants over a couple of decades, years and years of follow-up. The second is who is affected? Young people are more likely affected by this, more likely to have an increase in their mortality, they're likely mortality because of loneliness. Okay, but young is defined as 65 and under. So most of us. But this is the real meat of it. We found no differences between measures of objective and subjective social isolation. What does that mean? It means that feeling lonely, feeling isolated is as dangerous to your health as being objectively observed as lonely. Now I don't know how you objectively observe someone as lonely, that just sounds mean to me, but I've certainly felt lonely. I know what that feels like. And to know that there is this demonstrable increase in risk related to that, it left me feeling like I need to do something. Loneliness and isolation will kill you. Brent fretted being away from Barbara. Yes, because of medical concerns. Is she healthy, is she okay? But more so because of these ideas of loneliness and isolation, losing what remained of herself over time. Grandmoms struggled to get through each day as well. And we began to feel this progressive heaviness in our visits, like we were in this purgatory waiting for the inevitable. I was frustrated because I can't fix this. I'm an engineer, I want to fix things, right? I wanna like document it, test it, fix it, and then publish that fix, so no one else has to go through this ever again. That's what I want to do, but I can't. All I can do, maybe just maybe, is make it a little bit better. I didn't know how, but I thought about it for a long time. And I had something, an observation that eventually became an idea, and I would like to take you through my thinking here because all my ideas start the same way. Imagine I'm at lunch, that's probably not hard to imagine. Imagine I'm having a taco at lunch, that's probably not hard to imagine. Now this taco is excellent, this taco is beautiful, this taco is perfect. This is like the prototypical taco by which all other tacos must be judged. I really wanna tell Bren about this taco. She'd be mad at me if I didn't tell her about this taco, like it's that good, what do I do? What do I do? This is the audience participation part, what do I do? Yeah, I pull out my phone, I take a picture, I digitize my taco, and through the magic of the internet I send it to Bren. And then a few seconds later, she is ecstatic that I have shared with her the perfect taco. That's me, that's us. That's how we do it in 2017. That's me and my family, we text. We don't Facebook, none of us have figured out how Snapchat works. We text. We're never gonna call each other. The fact that this makes phone calls is completely incidental, could be removed from the device and I wouldn't know. We text. That's great, that's how we talk. But how does that help Barbara? What if Barbara could get our texts, right? Like what if she could be a part of this? And that was it. That was it. What if there was a way for Barbara to be added to our con conversations? For her to consume this stream of information that we exchange every day. What if I could tag her in a conversation just like I would anybody else in the family? My mind began to race with possibilities and this probably, if you know me, this doesn't surprise you. I'm always gonna go way overboard. I'm dramatic. My first thought was, I'm gonna build an Elixir Phoenix app. I'm gonna pull it in the cloud and it will handle a million, billion concurrent connections. Because we have a really big family. There's three of us. Okay, so I'll use Electron and probably React because that's what you do. And I'll build something that could be compiled and installed on every platform. We'll put it on our toaster, it'll be great. I'll build a laser, right? I will build a laser so powerful that I will carve my taco text into the face of the moon. And then every time she looks outside at night, she'll be reminded of us. Bolstered by these thoughts, but also kind of intimidated. I do what I always do. I turn to you. The Ruby community. My people. I turn to friends. I turn to blog posts. I turn to conference talks to help me understand how to turn this idea into something actionable. And this is what you had to say. John Highland is an engineer at New Relic in Portland. He is a wonderful person. And this is the advice he will give you on just about anything. You wanna buy a car, just be boring. You wanna get a dog, just be boring. What it means is be awesome by being boring. Use tools that you understand well that solve the boring problems so you can focus on bringing value to your users. That's marketing speak, bringing value to your users, but it really meant something to me this time. For the first time. Just be boring. He also says this, which I think about every single time I type Rails new. But it made sense, right? If I'm building something for Bryn's grandma, I may as well use my grandpa's framework, right? What he's saying here is that Rails is a known quantity. It's well understood. It's documented. It's stable. There's a big community out there that can help me if I get stuck. Makes sense. So I'm gonna use Ruby. I'm gonna use Rails. And that informed so many other choices for me, right? Like Rails is probably gonna output something restful. So I need something in terms of a UI device that can consume a restful interface. And that's probably a browser. Well, if it's a browser, I'm gonna build HTML, CSS, and JavaScript. And that's cool. I really like those things. So it informed all these other choices. I'm gonna put it somewhere that has like a runtime that Rails can be a part of. So go get a digital ocean droplet, right? Cause that's what we do. I love you, Dio. That's cool. I felt good. I knew how I was gonna build it. What I didn't know is how to make a text message show up in a browser. I had seen it, right? Like I'd gotten all kinds of marketing text messages that had their origins in browsers, but I didn't know how to do it. But I knew someone who did. I met Greg at Steel City Ruby in its first year. Anybody ever go to a Steel City Ruby in Pittsburgh? All right, somebody right on. I helped organize that. I showed up to a couple meetings. Greg is a developer, an engineer, and a developer advocate at Twilio. They're a company who specializes in telecom integration with modern applications. And he has a really smart dog, really cute, really smart. And he taught his dog to step on a button and get a treat. He did this so that the dog would turn off the lamp at night and he didn't have to get out of bed to do it. Brilliant. Less brilliant when the dog would turn the light on at 3 a.m. wanting a treat. So he said, what else can I do with this? I have a dog that knows how to step on a button. Well, what if I hook this button to our Arduino and our Arduino has a webcam and the webcam sends me a text. So now he has a dog that steps on a button to get a treat and he gets an MMS. And I thought if Greg can teach his dog to send text, he can probably teach me. And he could. As a really helpful article, it had the bones of what would eventually be my solution. He's a really nice guy. So now I had a framework. I knew what I was gonna do. I was gonna use tools I understood, focused on solving my problem. It turns out that MMS is just a data format and I'm an engineer and making data formats talk to each other is kinda what I do all day, every day. So the third piece of this I struggled with a little bit was, so how does this help grandma? I'm getting lost in this engineering hole. How does this help her? So I'm a front-end engineer. I did a user study. User studies are really fun anyway, but they're extra fun when they're somebody you love. Barbara had some challenges. She had extremely limited mobility. Not just the fact that her right side was largely paralyzed, but she had low dexterity with her remaining hand, so holding a device wasn't really gonna work. Short-term memory impairment, some dementia, made learning curves just impossibly steep. She was largely disconnected from the world around her. It was hard sometimes to get her to be interested in things or to hold her attention. And she had a lot of difficulty speaking, which how many people were thinking like a voice augmented UI, like a Alexa something or other, right? Like I thought about it. I thought like that would be, but it's right out the window here, right? There's a whole segment of the pop population for whom voice UIs will never be accessible. That's depressing. So what did Barbara have going for her? She had really good eyesight for her age. And better than mine, actually. I wore corrective lenses and she did not. That's great. And she also hated her television. And that was great. She hated network TV especially, and I don't know how much time you've spent in American hospitals, but there are so many TVs. And then it seems like every one of them is turned to a news channel. And that just sounds like making a bad situation so much worse. That last one is important because I was planning on replacing her television. Enhancing. I was planning on enhancing her television with this. Who knows what this is? Somebody's gotta know. What is it, man? Yeah, it's a Pi Zero, which is like the little cousin of the Raspberry Pi. It's a $5 computer. It's got a one gigahertz single core processor, 512 megs of RAM, two micro USB connections, a mini HDMI, $5. It's got more processing power than the laptop I took to college. They're amazing. You can do all kinds of stuff with them. And it turns out with a little bit of coercion, they'll happily run a browser. The new models, the Model Bs, actually have BLE and Wi-Fi right on board. So they're like ready. They're marketed for IoT stuff. And that made sense for me because I was building an IoT device. So my goal was to replace her network television with a constantly connected, self-updating message streaming service composed primarily of taco pictures. Here's how it works. This is a little washed out, but the arrows are really the most important part. We're gonna start with this blue arrow on the bottom left where it says phone. That's me. I'm gonna send an MMS to Twilio, a phone number I bought from Twilio. They're $1. Twilio's gonna receive that bundle of MMS data and restructure it as an HTTP post, which it's gonna post over to my web server. Hello, GMOM, that's the second marshmallow blob. That's running in DigitalOcean's cloud on one of their smallest itty-bitty-est droplets. And then once it gets that post, it's gonna restructure it into a JSON blob because transforming data formats is what I do all day. And stream it over a web socket to that pi zero, which I duct-tape to the back of her TV and it's gonna show her the text. Now, because it's a web socket, this red arrow, and it's two-way communication, so I can send a little note back to the web server, which will send a little note back to Twilio, which will send a little note back to my phone that says, hey, grandma, I've got your text. It's just like real life, right? That K, right? A little thumbs up, yeah. Here it is for realsies. This is the screen in her room, and again, sorry, it's so dark. This handsome couple on your left is Brent and I at an arcade in Oregon. And this is what it would do. Brent snapped this photo with her phone, said we went to an arcade and hit send, and it showed up in her room like this. Oh, I'm sorry, this is the second video. Gosh, she said something. So, Barbara's in my phone like anybody else. This is just the iOS Messages app. There's nothing special about this. I'm gonna type her a little note. I'm gonna say, hi, G-mom, at Seagull. Seagull is a Linux conference in Seattle. I gave this talk last month, telling your story. The kind of text that I would send her. And I just hit send. I'm a great hand model. And then very quickly, I get a 200 okay, because I'm a developer and I think in HTTP status codes. And then we go back to the screen and a couple of seconds later, there's the text. There's a couple of things going on here that are worth mentioning that go back to that user study. There was no photo in that text. It was an SMS versus an MMS. So the system knew how to handle both. And in the absence of an attached photo data, it showed this very hands on picture of me. So she would like have something to hold on to about who was talking to her. I read a lot about typography and looked at different ways to make things more readable for her. And this is kind of where we landed. This is a font face called Charter. It's available for free. It's really high readability. It was created around the same time as Helvetica was and it was a really interesting history if typography is something you find interesting. Bryn did this really cool thing with her where she created things at different type sizes and held them around the room and got her to talk about what she could see and what she couldn't. And so that helped us tune the interface a little bit to her capabilities. A couple other interesting things about the system. It was a responsive layout, like responsive design, but not because we would be looking at it on any other kind of device, but because MMSs come in a variety of shapes. You can take tall pictures. You can take wide pictures. I really like taking square pictures because I'm difficult. And I had to build a system that knew how to display those and I just leaned on what I knew about responsive design to do it. The system was smart enough to reject Rando's. If you got grandma's phone number, you couldn't send her mean messages. There was an approved list and that was managed both at the Twilio level and at the web server level because I thought some people are malicious and know how to format a post request, right? So there was an accepted sender list and that was all checked before anything got streamed over the web socket. Web sockets are amazing. They might get displaced by server-scent events. I kinda hope they don't because especially in Rails 5, Action Cable made it so approachable to building with Web sockets. Add a little vanilla JS object sitting on the front that responded to those messages and knew how and then injected the new message into a queue and a separate object built from that. It was nice. It was really nice. In terms of things I learned how to do HTTP2, right? Like built a little IngenX web config that did HTTP2. It's really hard. You have to go to the config file, find where it says HTTP and put a two after it. That's about 80% of the work to switch to HTTP2 so if you haven't, please look into it. It makes everything better. Everything better. I also compiled or created my own SSL certificates using Let's Encrypt and the instructions and documentation available from them were really great. So I've got this little DO droplet that generates fresh certificates every three months and installs them and then sends me an email and lets me know that it's okay. Just in case someone's snooping on my text that are publicly available. It's amazingly stable with my client connection of one. The thing that would disconnect that Web socket as it turns out after observing for a while was her DHCP lease expiring. So wrote a cron job to reboot the pie once a day so she would get a fresh DHCP lease. But really the most important part is that it was tuned to her capabilities, right? Like we built that interface for her and it worked. So this little system, I gotta go faster I'm almost out of time. This little system from Twilio, a phone number, a Rails API, 50 lines of JavaScript, made things better. It made things better for Barbara. It made things better for us. It kept her in the forefront of our thoughts, gave us a way to feel connected we didn't have before. And when we were thinking of her, maybe there was a cute dog on the bus, maybe we were just stressed out at work. Bryn could send her something, I could send her something. And we'd get that little 200 okay and feel like maybe we made her day a little bit better. This is probably confirmation bias, but I believe that her cognition improved a little bit after receiving the device. It was her Christmas gift this past year, which means she got it in January because it's software. And she was excited. It took a little bit for us to demonstrate what was going on. This is the first photo we took. My arm, I'm sticking my arm out. We took a selfie, I sent it to her. Hi, Grandma, we love you. And when that photo popped up on her screen, the look on her face was, oh, she was happy. In her pre-stroke life, she loved little notes. She was the one that would always put a little note in your lunchbox, send you something when she was thinking about you. And this was like rekindling, reconnecting to that past. It's so much better than network television. So much better. Okay, let's wrap up. In May of this year, Barbara suffered another series of strokes. We were with her both when the stroke occurred and when she passed, about a week later. And she left behind this legacy of determination, kindness, grit, all traits that her granddaughter embodies. But now that she's gone, I don't know what to do with this thing. I mean, obviously I wrote a talk about it, but it's obsolete, right? Like so many other things I've made, it's deprecated. And that's okay. It's still the best thing I've ever shipped. In 15 years of professionally making software, like this is the best thing I've ever shipped. I'm hoping that maybe just maybe I can encourage you to do something similar. So I have a couple of closing thoughts. Right now, I guarantee it, someone you love has a problem you can help with. Maybe you can't solve it. Maybe it can't be solved, but it can definitely be soothed. You can make it better. We are uniquely positioned in time and space to do something about it. Some of us, I have no doubt, will solve huge population-threatening, world-changing problems. I have no doubt. Most of us will create a lot of financial value for others. There's an honor in that. Not enough of us will take a step back and build small things that make life better for people they love. And I want you to. Not everything needs to be a product. In fact, I don't think, I think most things shouldn't be a product. There is no ethical consumption under late-stage capitalism. And I love that I get to stand on a stage and say that. But we all gotta eat. That said, not everything needs to be a product. Worry less about whether your idea, your side project, your little love letter can be productized. I'll admit I was really surprised. I couldn't find something on the market that did this. I found some Wi-Fi-enabled photo frames, but nothing that gave us that sense of connection we crave, nothing that gave us a remote way to alter the contents of what the screen was showing. So I had to build it. When I tell people about this project, a really common response is you should kickstart that. Kickstart what? I still don't know. Being nice to your grandmother, you can't kickstart that. But if I had thought about building a product first, I never would have shipped anything. And if I had shipped something, it would not have been what she needed. It would not have been tuned for her. We're all individuals and not everything needs to be made generic. The nursing staff at Grandma's home were amazing. And we could learn a lot from people doing that work. They give so much of themselves to protect and bolster whatever humanity and agency their residents have. I didn't know how to weave that into the talk, but it's worth pointing out. There were a constant presence in her life and we're there with her when we couldn't be. And I'm extremely grateful. At some point, most of us are gonna face this kind of adversity. Perhaps it'll be us that has our agency removed. Perhaps it'll be someone we love, but we're all gonna need someone to step in for us. Do whatever you can to give relevance and dignity to the people in your life. Thank you. Oh, everything's open source, by the way, including the InginX config and all the articles I used about working with SSL and making digital ocean work with all of it. So I've used that InginX config and other projects. I'm really happy with it, so it's all there. Oh, that's a great question. The question was, what was on the screen between texts? So I forgot to mention this, we had a queue of messages and so it would cycle through the queue and we did a lot of UX study on what was the appropriate display rate for that and how many messages should be in the queue. And this is kind of dark, but some of her memory impairment helped here because messages were often fresh to her, especially if she had napped or slept. Like a message might be new again. And so we originally settled on about 40 messages, typically representing a week or so and about a minute each. It was, the question was like, did it support group texts? Could we CC her? It was technically possible, but I never figured out a good way to display a threaded message. Given that the device had to be so passive in terms of its consumption, we were really worried about overloading it with information. So I would love to solve that problem, but I don't know who else this project's for. Thank you so much.