About Me
I'm Andrew Mattson, a computer science student at the University of Alaska Fairbanks. I am passionate about AI, robotics, and Godot game/software development. You can learn more about me on my main website.
Things Of Mine
This section contains projects that I have developed, some with others and some solo.
LUMINSim
This is a lunar mining simulator I developed alongside Dr. Orion Lawlor and the Aurora Robotics Team. For those with poor internet, download the executable for your platform here. This project is integral to my master's thesis about the LUMIN system. Try it out here!
Play LUMINSimBounce Crack
Bounce Crack is a game I developed alongside Bruce Smith and Kylie Lambries for our senior capstone class as practice before our real senior capstone projects. Go check out the Bounce Crack GitHub Repository. to pull the repository yourself if you choose, or play it online.
Play Bounce CrackSymergy
Symergy Godot is a microgrid digital twin interface I developed alongside Anand Egan, Rylan Clavell, and Kylie Lambries for our senior capstone class for our senior capstone project. Go check out the Symergy Godot GitHub Repository. to pull the repository yourself if you choose, or run it online.
Note: Because this is the web export of Symergy Godot, tcp connections will not work. So, to connect to an MQTT broker, you must prefix your broker hostname with wss:// (secure websocket). This tells the MQTT logic to use a websocket. Your broker must enable websocket connections, too.
Run Symergy GodotPond Liner Calculator
This is a simple HTML/CSS/JS webpage I made for a relative for calculating the approximate size of pond liner rectangle needed to cover the inside of a pond. It can do rectangle, ellipse, and free-hand shapes. It assumes your pond walls are perfectly vertical. If they aren't, the calculator will overestimate a little bit. Try it out here!
Pond Liner CalculatorGantt Chart Viewer
This is another simple HTML/CSS/JS webpage I made for the Aurora Robotics Team. NASA often likes gantt charts for timelines, but there aren't many good tools for making them, and I found myself making them by hand in Google Drawings. So, I took some time to put this together. It takes a JSON file formatted like this (our proposed NASA X-Hab 2026 timeline). The JSON (string) keys this program takes are:
- title: A string; the gantt chart's title.
- global_start_date: A string in YYYY-MM-DD format; the gantt chart's start date.
- global_end_date: A string in YYYY-MM-DD format; the gantt chart's end date.
- tasks: The chart's tasks. A list of dictionaries, with each having the following
(string) keys:
- name: A string; the task's name.
- start_date: A string in YYYY-MM-DD format; the task's start date.
- end_date: A string in YYYY-MM-DD format; the task's end date.
- type: An integer (starting at 0) corresponding to the task's type's index in the types list, defined below.
- important: A boolean (true/false). Makes the task's text bold.
- types: A list of strings whose indices correspond to the type key for each task in the task list (above). The name of each type of task. Determines each task's color.
-
breaks: The chart's break periods, marked with a grey background. A list of
dictionaries, with each having the following (string) keys:
- name: The break period's (string) name (e.g., 'Spring Break').
- start_date: The break's start date in string YYYY-MM-DD format.
- end_date: The break's end date in string YYYY-MM-DD format.
-
major_dates: The chart's major dates/deadlines, marked with a red line. A list
of dictionaries, with each having the following (string) keys:
- name: The (string) deadline/date name.
- date: The string YYYY-MM-DD formatted deadline/date.
About This Server
This server hosts various services I use for personal projects and development. It also serves as my learning platform for Linux, server administration, and web development.