Jekyll2023-09-25T10:24:49+00:00https://calebolson.com/feed.xmlCaleb OlsonCaleb Olson's personal project website.{"avatar"=>"/assets/images/bio-photo.jpg", "bio"=>"Mostly janky projects.", "links"=>[{"label"=>"Youtube", "icon"=>"fab fa-fw fa-youtube", "url"=>"https://www.youtube.com/channel/UCzxiOKO3vX1ER_U3Z_eY_yw"}, {"label"=>"GitHub", "icon"=>"fab fa-fw fa-github", "url"=>"https://github.com/calebolson123"}, {"label"=>"LinkedIn", "icon"=>"fab fa-fw fa-linkedin", "url"=>"https://www.linkedin.com/in/caleb-olson-a61a1981"}, {"label"=>"$5.00 tip", "icon"=>"fa fa-hand-holding-usd", "url"=>"https://buy.stripe.com/aEUaI7d077u5e5ycMN"}]}The Baby Sleep Coach 2.02023-09-25T09:00:30+00:002023-09-25T09:00:30+00:00https://calebolson.com/blog/2023/09/25/sleep-coach-2-0<!-- Courtesy of embedresponsively.com -->
<div class="responsive-video-container">
<iframe src="https://www.youtube-nocookie.com/embed/8i0wHA_knKc" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
</div>
<p>All the code for this project is <a href="https://github.com/calebolson123/BabySleepCoach">open sourced and Dockerized for ease of use</a>. Try it out.</p>
<p>I built The Baby Sleep Coach so that my wife and I could automatedly track our baby’s sleep, primarily for us to know when his next nap should be. But pretty much immediately after I put out the video, the code stopped working on my baby. The first version relied on anatomical features always being present, as they are when you have a newborn. Newborns are usually swaddled and laying on their backs.</p>
<p>But my baby started rolling around and wearing blankets, resulting in the code considering him awake, as it couldn’t find his face/other features in the video feed. This code still works great for newborns.</p>
<p>In order to extend the use of this project to older babies and younger kids (I claim it can work for all ages, newborn -> adult) I added a final fallback layer of logic, which is largely a classic machine learning image classifier. The interesting part of this is less the model, and more so the data problem. For obvious reasons I couldn’t attempt searching for datasets of children sleeping.</p>
<p>I found a way around delivering a pretrained model to you, rather The Baby Sleep Coach ships with a web application which runs in front of the sleep tracking code. This enables you to just click a button on your phone (via locally hosted web app) to “correct” the classifier. So each time you open the web app to look at your chubby little baby, if it’s tracking incorrectly, you click a button to say it’s wrong. I found that within 1-2 days of correcting it, it was stable and more resilient than the top-shelf baby monitor AI-baked products on the market.</p>
<p>Sure there’s a little bit of work, but this is free. Not $400 + subscription + special camera stand (this is a thing).. no whining.</p>{"avatar"=>"/assets/images/bio-photo.jpg", "bio"=>"Mostly janky projects.", "links"=>[{"label"=>"Youtube", "icon"=>"fab fa-fw fa-youtube", "url"=>"https://www.youtube.com/channel/UCzxiOKO3vX1ER_U3Z_eY_yw"}, {"label"=>"GitHub", "icon"=>"fab fa-fw fa-github", "url"=>"https://github.com/calebolson123"}, {"label"=>"LinkedIn", "icon"=>"fab fa-fw fa-linkedin", "url"=>"https://www.linkedin.com/in/caleb-olson-a61a1981"}, {"label"=>"$5.00 tip", "icon"=>"fa fa-hand-holding-usd", "url"=>"https://buy.stripe.com/aEUaI7d077u5e5ycMN"}]}The Baby Sleep Coach2023-02-15T10:00:30+00:002023-02-15T10:00:30+00:00https://calebolson.com/blog/2023/02/15/sleep-coach<p>Most of my projects come from brainstorming sessions, however this one was requested by my wife. She was getting mildly annoyed not remembering when our baby woke up, so she could use that information to have a better idea when our baby is likely to go down for his next nap.</p>
<p>She asked me to “build an app” that remembers when our baby woke up, so here it is, with a side of overengineering. It’s not an entirely novel idea, there are products in the marketplace that do this, and are likely more polished. However, I believe this as the cheapest automated baby sleep tracking service that exists.</p>
<p>Check out the project:</p>
<!-- Courtesy of embedresponsively.com -->
<div class="responsive-video-container">
<iframe src="https://www.youtube-nocookie.com/embed/r7Exc0sUt5E" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
</div>
<p>I <a href="https://github.com/calebolson123/BabySleepCoach">open sourced the whole project</a>. Feel free to pull it down and try it.</p>{"avatar"=>"/assets/images/bio-photo.jpg", "bio"=>"Mostly janky projects.", "links"=>[{"label"=>"Youtube", "icon"=>"fab fa-fw fa-youtube", "url"=>"https://www.youtube.com/channel/UCzxiOKO3vX1ER_U3Z_eY_yw"}, {"label"=>"GitHub", "icon"=>"fab fa-fw fa-github", "url"=>"https://github.com/calebolson123"}, {"label"=>"LinkedIn", "icon"=>"fab fa-fw fa-linkedin", "url"=>"https://www.linkedin.com/in/caleb-olson-a61a1981"}, {"label"=>"$5.00 tip", "icon"=>"fa fa-hand-holding-usd", "url"=>"https://buy.stripe.com/aEUaI7d077u5e5ycMN"}]}Most of my projects come from brainstorming sessions, however this one was requested by my wife. She was getting mildly annoyed not remembering when our baby woke up, so she could use that information to have a better idea when our baby is likely to go down for his next nap.Draw your Conversations2022-10-14T15:30:30+00:002022-10-14T15:30:30+00:00https://calebolson.com/blog/2022/10/14/draw-your-conversations<p>Stable Diffusion blew up the internet with the very impressive images it proved to be able to generate via simple text prompts. People are generating impressive handcrafted art with it, however I wanted to blur the lines between manually written text prompts, and the real world.</p>
<p>My idea was to transcribe voices to text, and then apply some heuristics and NLP techniques to the raw conversation in order to transform it into a colorful prompt which Stable Diffusion can draw. Using <a href="https://openai.com/blog/whisper/">OpenAI’s newly released Whisper</a>, I created a service which transcribes conversations to text, summarizes & enriches the text, generates an image, and returns it to the client. In the video I made an Android app and a Discord bot which both interface with the same server.</p>
<p>Check out the project:</p>
<!-- Courtesy of embedresponsively.com -->
<div class="responsive-video-container">
<iframe src="https://www.youtube-nocookie.com/embed/rwcyZxLGel8" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
</div>
<p>I <a href="https://github.com/calebolson123/DrawYourConversations">open sourced the server code for this project</a>. Feel free to pull it down and try it out with Postman, or any frontend you come up with as an audio source.</p>{"avatar"=>"/assets/images/bio-photo.jpg", "bio"=>"Mostly janky projects.", "links"=>[{"label"=>"Youtube", "icon"=>"fab fa-fw fa-youtube", "url"=>"https://www.youtube.com/channel/UCzxiOKO3vX1ER_U3Z_eY_yw"}, {"label"=>"GitHub", "icon"=>"fab fa-fw fa-github", "url"=>"https://github.com/calebolson123"}, {"label"=>"LinkedIn", "icon"=>"fab fa-fw fa-linkedin", "url"=>"https://www.linkedin.com/in/caleb-olson-a61a1981"}, {"label"=>"$5.00 tip", "icon"=>"fa fa-hand-holding-usd", "url"=>"https://buy.stripe.com/aEUaI7d077u5e5ycMN"}]}Stable Diffusion blew up the internet with the very impressive images it proved to be able to generate via simple text prompts. People are generating impressive handcrafted art with it, however I wanted to blur the lines between manually written text prompts, and the real world.What’s your name again?2022-09-02T08:00:30+00:002022-09-02T08:00:30+00:00https://calebolson.com/blog/2022/09/02/whats-your-name-again<p>I got laid off recently, just before I was about to go on parental leave. Aside from the extra unpaid time off I have been able to spend with my family, I built an Android app (<a href="https://calebolson.com/downloads">free, go try it out</a>) that attempts to address the scenario where you forget someones name mid-conversation. The app listens for voices and attempts to parse out human names, by applying some basic heuristics, and sending you a notification so you can glance at your phone.</p>
<p>Check out the project:</p>
<!-- Courtesy of embedresponsively.com -->
<div class="responsive-video-container">
<iframe src="https://www.youtube-nocookie.com/embed/YlSHJylk2Co" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
</div>
<p>This is likely illegal to use in public, and in general is kind of a creepy thing to have running in your pocket. For what it’s worth, <a href="https://github.com/calebolson123/WhatsYourName">I open-sourced the project so you can see everything that’s going on for yourself</a>, however I explain most of the details in the video.</p>{"avatar"=>"/assets/images/bio-photo.jpg", "bio"=>"Mostly janky projects.", "links"=>[{"label"=>"Youtube", "icon"=>"fab fa-fw fa-youtube", "url"=>"https://www.youtube.com/channel/UCzxiOKO3vX1ER_U3Z_eY_yw"}, {"label"=>"GitHub", "icon"=>"fab fa-fw fa-github", "url"=>"https://github.com/calebolson123"}, {"label"=>"LinkedIn", "icon"=>"fab fa-fw fa-linkedin", "url"=>"https://www.linkedin.com/in/caleb-olson-a61a1981"}, {"label"=>"$5.00 tip", "icon"=>"fa fa-hand-holding-usd", "url"=>"https://buy.stripe.com/aEUaI7d077u5e5ycMN"}]}I got laid off recently, just before I was about to go on parental leave. Aside from the extra unpaid time off I have been able to spend with my family, I built an Android app (free, go try it out) that attempts to address the scenario where you forget someones name mid-conversation. The app listens for voices and attempts to parse out human names, by applying some basic heuristics, and sending you a notification so you can glance at your phone.The Hungry Baby Alarm2022-07-22T15:30:30+00:002022-07-22T15:30:30+00:00https://calebolson.com/blog/2022/07/22/hungry-baby-alarm<p>I recently became a father and have been experiencing what everyone always warns you about, sleep deprivation. Refusing to be beaten by a baby, I had the idea to build The Hungry Baby Alarm, which could alert me when my baby was likely to cry for food soon. The idea hinges on the ability to bottle feed my baby before he cries, waking everyone up.</p>
<p>Check out the project:</p>
<!-- Courtesy of embedresponsively.com -->
<div class="responsive-video-container">
<iframe src="https://www.youtube-nocookie.com/embed/Lda1Sq8HRY4" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
</div>
<p>I have plans to clean up the code and make it slightly easier to use beyond my specific system, and plan <a href="https://github.com/calebolson123/HungryBabyAlarm">to open source this project soon</a>. Stay tuned on that front.</p>
<p>This project hits on a more personal level with some people, in tampering with some pretty well established biological processes. It has been interesting to see feedback, and how it varies depending on the source. This project also found its way into <a href="https://gizmodo.com/baby-hungry-smart-webcam-dad-parent-tech-maker-camera-a-1849360584">Gizmodo</a>.</p>{"avatar"=>"/assets/images/bio-photo.jpg", "bio"=>"Mostly janky projects.", "links"=>[{"label"=>"Youtube", "icon"=>"fab fa-fw fa-youtube", "url"=>"https://www.youtube.com/channel/UCzxiOKO3vX1ER_U3Z_eY_yw"}, {"label"=>"GitHub", "icon"=>"fab fa-fw fa-github", "url"=>"https://github.com/calebolson123"}, {"label"=>"LinkedIn", "icon"=>"fab fa-fw fa-linkedin", "url"=>"https://www.linkedin.com/in/caleb-olson-a61a1981"}, {"label"=>"$5.00 tip", "icon"=>"fa fa-hand-holding-usd", "url"=>"https://buy.stripe.com/aEUaI7d077u5e5ycMN"}]}I recently became a father and have been experiencing what everyone always warns you about, sleep deprivation. Refusing to be beaten by a baby, I had the idea to build The Hungry Baby Alarm, which could alert me when my baby was likely to cry for food soon. The idea hinges on the ability to bottle feed my baby before he cries, waking everyone up.Laser Guided Dog Poop Pickup System2022-05-20T15:30:30+00:002022-05-20T15:30:30+00:00https://calebolson.com/blog/2022/05/20/laser-guided-poop-pickup<p>This project originated from a comment on Reddit suggesting to take the <a href="https://calebolson.com/blog/2022/01/14/dog-poop-detector.html">Dog Poop Detector</a> a step further, now that the locations of poops are tracked over time. The idea is to route the user of the system through all the known poop locations, using the optimal path, resulting in the least steps taken. So I took a stab at it and this is what resulted:</p>
<!-- Courtesy of embedresponsively.com -->
<div class="responsive-video-container">
<iframe src="https://www.youtube-nocookie.com/embed/rVzwHwN4-V0" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
</div>
<p>I didn’t bother open sourcing this one, as the code is very hardcoded and specific to the robo-arm I purchased, and my Raspberry Pi. Speaking of Raspberry Pi, they noticed this project and wrote about it <a href="https://www.raspberrypi.com/news/laser-guided-dog-poop-spotter/">on their blog as well</a>. It also made its way into <a href="https://gizmodo.com/dog-tech-smart-robot-laser-arm-poop-maker-security-came-1848974458">Gizmodo</a>. Pretty awesome.</p>{"avatar"=>"/assets/images/bio-photo.jpg", "bio"=>"Mostly janky projects.", "links"=>[{"label"=>"Youtube", "icon"=>"fab fa-fw fa-youtube", "url"=>"https://www.youtube.com/channel/UCzxiOKO3vX1ER_U3Z_eY_yw"}, {"label"=>"GitHub", "icon"=>"fab fa-fw fa-github", "url"=>"https://github.com/calebolson123"}, {"label"=>"LinkedIn", "icon"=>"fab fa-fw fa-linkedin", "url"=>"https://www.linkedin.com/in/caleb-olson-a61a1981"}, {"label"=>"$5.00 tip", "icon"=>"fa fa-hand-holding-usd", "url"=>"https://buy.stripe.com/aEUaI7d077u5e5ycMN"}]}This project originated from a comment on Reddit suggesting to take the Dog Poop Detector a step further, now that the locations of poops are tracked over time. The idea is to route the user of the system through all the known poop locations, using the optimal path, resulting in the least steps taken. So I took a stab at it and this is what resulted:Dog Poop Detector2022-01-14T15:30:30+00:002022-01-14T15:30:30+00:00https://calebolson.com/blog/2022/01/14/dog-poop-detector<p>No one likes dealing with dog poop, and I’m lazy, so I let me dog outside and forget about it. Then over time I have a mine field in my backyard. Over this past winter break, I had the idea to leverage my security camera as a means to detect if my dog is poops, and then store off the location. After a couple of weeks head down, I emerged with what I believe is the first dog poop detector using only video (livestream).</p>
<p>Check out the project:</p>
<!-- Courtesy of embedresponsively.com -->
<div class="responsive-video-container">
<iframe src="https://www.youtube-nocookie.com/embed/uWZu3rnj-kQ" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
</div>
<p>I <a href="https://github.com/calebolson123/DogPoopDetector">open sourced the code for this project</a>. Feel free to pull it down and try to configure it with your own security camera. Aside from configuration with your camera, the main part which is semi biased to my setup, is the computer vision model. If you’re serious about setting this up, read up on <a href="https://github.com/DeepLabCut/DeepLabCut">DeepLabCut</a> and train your own model with images of your own dog. I had aspirations to train a model which worked for many dog breeds, however I got distracted with other projects!</p>
<p>This was a fun project, and got a little bit of press <a href="https://hackaday.com/2022/01/17/ai-camera-knows-its-st/">over on Hackaday</a> as well as some other tech news sites. Feel free to reach out if you have any questions and I’ll try to help where I can.</p>{"avatar"=>"/assets/images/bio-photo.jpg", "bio"=>"Mostly janky projects.", "links"=>[{"label"=>"Youtube", "icon"=>"fab fa-fw fa-youtube", "url"=>"https://www.youtube.com/channel/UCzxiOKO3vX1ER_U3Z_eY_yw"}, {"label"=>"GitHub", "icon"=>"fab fa-fw fa-github", "url"=>"https://github.com/calebolson123"}, {"label"=>"LinkedIn", "icon"=>"fab fa-fw fa-linkedin", "url"=>"https://www.linkedin.com/in/caleb-olson-a61a1981"}, {"label"=>"$5.00 tip", "icon"=>"fa fa-hand-holding-usd", "url"=>"https://buy.stripe.com/aEUaI7d077u5e5ycMN"}]}No one likes dealing with dog poop, and I’m lazy, so I let me dog outside and forget about it. Then over time I have a mine field in my backyard. Over this past winter break, I had the idea to leverage my security camera as a means to detect if my dog is poops, and then store off the location. After a couple of weeks head down, I emerged with what I believe is the first dog poop detector using only video (livestream).