About Me

Hello! My name is Justin Forseth and I am a computer science student from rural Montana. I enjoy making videos and websites like this one! This is my personal website. I coded it myself, and it's here so I can learn, experiment, and try new things. If you're interested in the tech details, it's running on a Raspberry Pi, running Ubuntu Server 20.04. The backend is Python with the Flask framework on Apache. Since when I started out, I knew very little about web dev, the interactive aspects of the site store data in all sorts of ways including homemade txt formats, csv, json, and eventually an SQLite Database. On the front, I'm using Grayshift. What little JS I use is mostly vanilla although I do use JQuery in places. I also make videos, for my family farm, church, school, 4-H, FFA, and whatever else I feel like. You can find my projects at my YouTube channel, or here at jforseth.tech/videos. To make those, I mostly use a DJI Mavic Pro and a GoPro HERO9, which I edit using Cyberlink Powerdirector.

My Projects

Coded Myself

I made these!
Video page screenshot.


In my free time I make videos about farming, ranching, events I go to, and whatever else I feel like. You can find them here.

Video page screenshot.


A simple text editor. Built on Summernote, it's kinda like Google Docs, but with less features. On the plus side, it doesn't sell your data to advertisers.

Fairfield FFA page screenshot.

Fairfield FFA

A website I coded myself for my FFA chapter. It features a modern single-page design based on Bootstrap and an administrator page to update all aspects of the site.

CattleDB page screenshot.

Cattle DB

This is my latest project. It's a program designed for keeping track of records for a beef herd. Created because I needed something easier to use than the AET for my own herd, Cattle DB is designed to be simple and easy to use while being feature rich. It's designed to be run on the user's own computer and accessed through a web interface.



Projects I run on my servers, but that I didn't code myself.
Pleroma page screenshot.


Pleroma is a self-hosted alternative to the major social media sites. It's federated, meaning it interacts with other pleroma servers, around the world.

Nextcloud page screenshot.


Nextcloud is an online office suite. It offers file sharing, a calendar, todo list, mail client, chat app, and more. Since it's built on open standards, it syncronizes with all sorts of other programs.

Email inbox screenshot.


Created so I didn't have to deal with Gmail to send prayer requests. Allows me to create custom email addresses for use on the site. Uses Postfix, Dovecot, and Rainloop.

Pi Hole admin page screenshot.


This is a self-hosted (I didn't make it!) network-wide ad and tracking blocker. Basically, it acts as a filter on our whole network, letting normal traffic through while blocking ads and trackers. It died after the SD card m-3 went out on my Raspberry PI, but I just set it up again!

Matomo page screenshot.


Matomo is a self-hosted, privacy respecting alternative to Google Analytics. It helps me keep track of how many people visit my site. It was lost when the SD card m-3 failed on my Raspberry Pi and I just set it back up.


The Graveyard

Projects that no longer work, or have been abandoned.
Messenger popup screenshot.


A simple little popup widget. No notifications, users, etc. Honestly, more like an anonymous comment box. Technically still works, just doesn't serve much purpose.

Todo page screenshot.


A simple todo list I created for personal use. It's rather poorly designed, both in terms of UI, and backend. I abandoned it after realizing that Nextcloud had much better todo functionality.

Horseshoe art page screenshot.

Horseshoe Art

My brother is a welder who makes horseshoe art, which you could look at and order from here. The order form has broken completely.

File sharing page screenshot.

File Sharing

A simple file sharing service I created. Upload a file to the server download it on another device. All uploads are public and are wiped at midnight. Disabled after I couldn't figure out how to raise the file size limit and realized that allowing people to upload arbitrary files to my server may be a slight security concern.

Barrel racing current rider widget screenshot.

Barrel Racing Current Rider

A widget I made for a friend to help her keep track of which rider is currently up for barrel racing.

Prayer requests page screenshot.

Prayer Requests

This one is a shame. One of my earliest projects was a digital prayer chain. It allowed people to anonymously send a prayer request to a list of emails and improved a lot over the course of this site's development.

Account page screenshot.


Mostly used to prevent the general public from using personal/admin tools, it allowed for public sign ups for a time before being disabled.