

Development
Here is a bit of history on how and why I made this app that's more in depth than what's stated on the home page.
In the fall of 2024, I bought my 2016 Toyota 4Runner SR5. Although this was my first 4x4 vehicle, it was not my first experience with off-roading. Previously I always went on trips with others and would have a spotter for more difficult terrain. The 4Runner is expensive, my only vehicle, and unlike some other people I know, I prefer not to just 'send it' and break stuff.
Since I currently do most of my off-roading alone, I wanted a better alternative to getting out of the truck every time I wasn't sure where my wheels were or what was coming over the hill. I also don't like to spend money so I thought that slapping a bunch of dirt cheap USB webcams onto my rig would solve my problem, and well it did but with one major issue.
​
I use a Microsoft Surface tablet as my camera feed display and when I went searching for an app that would let me view 3-4 webcam feeds simultaneously, I found pretty much one app that could do it well enough. OBS Studio is the only Windows application that allows you to stream and record the feeds of multiple USB webcams at once. Although it does indeed work, OBS is meant for videogame streamers and such, this meant that the software was not setup to be used as a 'trail cam', on a tablet, haphazardly mounted to a vehicles dash. More specifically; you can't adjust the camera feeds sizes exactly how you'd want them. The OBS interface has a lot of buttons, sidebars, and stuff that takes up a lot of your screen's real estate and can make it difficult to organize your camera feeds in a way that's useful on the trail. On top of that, OBS is quite a big piece of software and uses a lot of RAM even if you're not recording. My tablet would struggle to run the software even at idle and would quickly drain battery power. I know my tablet is not the most powerful device and that I can charge it in the 4Runner, but I really became quite annoyed with the performance of OBS Studio.
​
I decided to make my own software since, from my research, no one else has made anything like this.
​
I started this project with a very limited knowledge of programming or coding, but I do know quite a lot about computer software in general. I knew that there would be limitations on the design of the UI given that I'd be using Python and that the app won't be as finely tuned as something made with C++ or a different language.
​
Why use Python? Python is stupid simple compared to most other programming languages, it will run on almost any kind of device (with caveats) and most importantly, Python is quick to develop. I knew I'd need to tweak code as I go, fix issues, and add functionality and I didn't want to have to sift through hundreds of lines of code to change one thing.
​
I also really like the way Python apps use multiple, separate .py files, each handling a specific piece of the app. This makes it a lot easier to make changes or fix issues along the way.
​
With that decided, I started by asking the all powerful ChatGPT to get me started.
​
I had GPT write up a basic set of source code that I could use as a starting place. It wrote the recording handler, the camera manager, and the first UI elements. It gave me a simple window with a couple buttons and from there, I just asked it how to "___" and how to do "___". It would tell me where in my code to put something, how to write it, and so on. Fast forward about a week since I started and I had version 1.0.0
​
After I had my first working version, I wanted to tweak the UI and add a couple options for camera feed management. I updated the app and got version 1.0.2. (version 1.0.1 was mostly code cleanup)
​
Currently, I have tested the app with 4 USB webcams at once and it runs great, PC resources are moderate, and battery impact seems to be marginal. Compared to OBS, I love that each camera's feed can be put into a seperate window and that I can resize it and move it around my screen any way I want. OBS would never.
​
I'd like to make a version of this app that can run on Android so that I can use old smartphones as displays so that I don't have to use a big ass tablet. But Android kind of sucks with USB cameras so we'll see.
​