Tap Image or Description to learn more
Web Development
Interactive Shipwrecks Map
My latest project as of March 9th 2023. The goal is a comprehensive, detailed, interactive map of
shipwrecks. The site will initially only cover The Great Lakes. • MapBox, MongoDB, Next.js, Node, React, TypeScript
Interactive Shipwrecks Map
My latest project as of March 9th 2023. The goal is a comprehensive, detailed, interactive map of
shipwrecks. The site will initially only cover The Great Lakes. • MapBox, MongoDB, Next.js, Node, React, TypeScript
NextCentury Submetering Systems
I worked at NextCentury for four years. As a full stack web developer during
my final year, a lead software and hardware tester for 2 years, and a technical support member
for 1 year. The company had just 8 members when I joined. • Angular, MongoDB, Node.js, TypeScript, Vue.js, Ionic
NextCentury Submetering Systems
I worked at NextCentury for four years. As a full stack web developer during
my final year, a lead software and hardware tester for 2 years, and a technical support member
for 1 year. The company had just 8 members when I joined. • Angular, MongoDB, Node.js, TypeScript, Vue.js, Ionic
Tedly Web Services
A web development business concept website with a modern design to attract new clients.
I used AI image generation to assist with the design.
• Next.js, Node, React, Midjourney
Tedly Web Services
A web development business concept website with a modern design to attract new clients.
I used AI image generation to assist with the design.
• Next.js, Node, React, Midjourney
Coffee Shop
My goal was to create a simple online store of my own to avoid Shopify fees. This is built to be reusable.
It can easily be added to any other react or NextJs application. All product images are AI generated. Just add Stripe.
. • Next.js, Node, React, TypeScript, MidJourney
Coffee Shop
My goal was to create a simple online store of my own to avoid Shopify fees. This is built to be reusable.
It can easily be added to any other react or NextJs application. All product images are AI generated. Just add Stripe.
. • Next.js, Node, React, TypeScript, MidJourney
Meter Wiring Guide
Originally designed for NextCentury, this app neatly displays a large list of meters from a plethora of manufacturers.
Users can quickly determine which NextCentury product is compatible with their meter and view a unique wiring diagram. Meters are easily
found using the utility filter or search bar. Internal users can add public or private notes to each meter model. Responsive to many screen
sizes. • Angular, MongoDB, Node.js, TypeScript
Meter Wiring Guide
Originally designed for NextCentury, this app neatly displays a large list of meters from a plethora of manufacturers.
Users can quickly determine which NextCentury product is compatible with their meter and view a unique wiring diagram. Meters are easily
found using the utility filter or search bar. Internal users can add public or private notes to each meter model. Responsive to many screen
sizes. • Angular, MongoDB, Node.js, TypeScript
Meter Wiring Guide Editor
This is a dedicated website for easily adding or modifying meter models and manufacturers listed on the Meter Wiring Guide
(listed above). The app bundles CRUD operations into a slick, easy to use user interface. Responsive to many screen sizes.
• Angular, MongoDB, Node.js, TypeScript
Meter Wiring Guide Editor
This is a dedicated website for easily adding or modifying meter models and manufacturers listed on the Meter Wiring Guide
(listed above). The app bundles CRUD operations into a slick, easy to use user interface. Responsive to many screen sizes.
• Angular, MongoDB, Node.js, TypeScript
Ted Counter
Ted Counter stands out from other nutrition counting apps due to its simplicity and its ability to fit
a user's specific nutritional interests. The app adjusts its layout to accommodate all preferences and is responsive to a wide range
of display sizes. Add saved items with just two taps, edit food items, set your own nutrition goals, view charts, and more.
Demo account: demo@gmail.com / demoPass • EJS, Express, JavaScript, jQuery, MongoDB, Node.js
Ted Counter
Ted Counter stands out from other nutrition counting apps due to its simplicity and its ability to fit
a user's specific nutritional interests. The app adjusts its layout to accommodate all preferences and is responsive to a wide range
of display sizes. Add saved items with just two taps, edit food items, set your own nutrition goals, view charts, and more.
Demo account: demo@gmail.com / demoPass • EJS, Express, JavaScript, jQuery, MongoDB, Node.js
Yolo Logan!
A website for Logan locals to find and submit events, meetup groups, and community resources. This website uses Open Layers
map and Census Geocoder API to record and display event locations on an interactive map. Search for events using the search bar, or find
what you need using the event filter. Responsive to many screen sizes. The app is not finished. • Angular, Express, MongoDB, Node.js, OpenLayers, TypeScript
Yolo Logan!
A website for Logan locals to find and submit events, meetup groups, and community resources. This website uses Open Layers
map and Census Geocoder API to record and display event locations on an interactive map. Search for events using the search bar, or find
what you need using the event filter. Responsive to many screen sizes. The app is not finished. • Angular, Express, MongoDB, Node.js, OpenLayers, TypeScript
Rate-A-Coworker 2.0
I created Rate-A-Coworker as part of an at-work learning project. What better way to bring
coworkers together than to rate each other on unusual skills. All in good fun. Responsive to many screen sizes.
• Angular, Express, MongoDB, Node.js, TypeScript
Rate-A-Coworker 2.0
I created Rate-A-Coworker as part of an at-work learning project. What better way to bring
coworkers together than to rate each other on unusual skills. All in good fun. Responsive to many screen sizes.
• Angular, Express, MongoDB, Node.js, TypeScript
Public Todo List
This web app utilizes MongoDB Atlas for persistent data storage. Users can add or delete items from existing lists or create new lists.
• Express, JavaScript, jQuery, MongoDB, Node.js
Public Todo List
This web app utilizes MongoDB Atlas for persistent data storage. Users can add or delete items from existing lists or create new lists.
• Express, JavaScript, jQuery, MongoDB, Node.js
Simon Game
A throwback to the late 70's, this is an online version of the popular game. • JavaScript, jQuery
Simon Game
A throwback to the late 70's, this is an online version of the popular game. • JavaScript, jQuery
My Local Meal
I regularly attend coding meetup groups and find myself leading the design and development of projects.
For My Local Meal, I sketched the UI, designed the logo, and build much of the front end. • Django, JavaScript, jQuery, MongoDB
My Local Meal
I regularly attend coding meetup groups and find myself leading the design and development of projects.
For My Local Meal, I sketched the UI, designed the logo, and build much of the front end. • Django, JavaScript, jQuery, MongoDB
Portfolio Site
Fully responsive to all screen sizes. • Express, MongoDB, Next.js, Node.js, React, TypeScript
Portfolio Site
Fully responsive to all screen sizes. • Express, MongoDB, Next.js, Node.js, React, TypeScript
Contact
3D Modeling
3D Mouse Game 🎮 (Click to Play)
In "House Mouse", a game originally created for VR, the player takes the role of a mouse. The game features many
detailed objects, animations, and hidden places to explore. The game could be found on early VR gaming websites and had a short article written
about it. The game still needs some work, but is playable now right here on your browser. Use arrow keys (or W,A,S,D) to move, mouse to steer, and shift to run.
• Unity, C#, Sketchup, OnShape
3D Mouse Game 🎮 (Click to Play)
In "House Mouse", a game originally created for VR, the player takes the role of a mouse. The game features many
detailed objects, animations, and hidden places to explore. The game could be found on early VR gaming websites and had a short article written
about it. The game still needs some work, but is playable now right here on your browser. Use arrow keys (or W,A,S,D) to move, mouse to steer, and shift to run.
• Unity, C#, Sketchup, OnShape
Articulating Display Wall
I designed, 3D modeled, and helped build this large 16 x 11 foot product wall. The wall operates as a central product
display for the office and has been an essential tool for testing new products during the production lifecycle. It features an automated
airflow system, heavy articulating panels, integrated display, illuminated color-changing logo, and a patch panel for testing signal
propagation distances. I researched and purchased tools and materials for the build and referenced the 3D model for precise measurements
during construction. • Sketchup
Articulating Display Wall
I designed, 3D modeled, and helped build this large 16 x 11 foot product wall. The wall operates as a central product
display for the office and has been an essential tool for testing new products during the production lifecycle. It features an automated
airflow system, heavy articulating panels, integrated display, illuminated color-changing logo, and a patch panel for testing signal
propagation distances. I researched and purchased tools and materials for the build and referenced the 3D model for precise measurements
during construction. • Sketchup
RF Logger Housing
Created for the testing team, this housing is a slim version of the original. The PCB, having been repurposed from another
product, could easily be stripped down to fit into a small housing. I made several of these for our testing and development teams.
They can be found in various tool boxes around the office. • OnShape
RF Logger Housing
Created for the testing team, this housing is a slim version of the original. The PCB, having been repurposed from another
product, could easily be stripped down to fit into a small housing. I made several of these for our testing and development teams.
They can be found in various tool boxes around the office. • OnShape
Pulse Generator Housing
A colleague created a Pulse Generator for testing products during the development cycle. The device is fantastic, but
could be cumbersome to use due to the shape of the PCB, the position of the motor, and the exposed contacts that would sometimes short on metal surfaces.
I created a housing for the motor PCB and the display/controller PCB to make for a more user-friendly experience. The circuit boards fit perfectly
and the housings simply snap together. • OnShape
Pulse Generator Housing
A colleague created a Pulse Generator for testing products during the development cycle. The device is fantastic, but
could be cumbersome to use due to the shape of the PCB, the position of the motor, and the exposed contacts that would sometimes short on metal surfaces.
I created a housing for the motor PCB and the display/controller PCB to make for a more user-friendly experience. The circuit boards fit perfectly
and the housings simply snap together. • OnShape
A Head of Myself
Using my iPhone's front-facing camera, I was able to scan my head, clean up the model, and then print it on a 3D printer.
This seems to be a more common thing to do now-a-days, but I did it before it was more main-stream and still cool. A coworker and I later
used this model to create a clay impression and mold a silicon model. Fun times.
A Head of Myself
Using my iPhone's front-facing camera, I was able to scan my head, clean up the model, and then print it on a 3D printer.
This seems to be a more common thing to do now-a-days, but I did it before it was more main-stream and still cool. A coworker and I later
used this model to create a clay impression and mold a silicon model. Fun times.
Animatronic Dinosaur
Being a big fan of Stan Winston studios' work, I have had a long time interest in animatronics.
This is my first attempt at an animatronic Compy dinosaur. The design uses a cable driven system popularized by Richard Landon. The flexible skin was 3D printed using TPU on a stock Ender 3 Pro. • OnShape
Animatronic Dinosaur
Being a big fan of Stan Winston studios' work, I have had a long time interest in animatronics.
This is my first attempt at an animatronic Compy dinosaur. The design uses a cable driven system popularized by Richard Landon. The flexible skin was 3D printed using TPU on a stock Ender 3 Pro. • OnShape
Cat Deterrent Housing
A simple housing I modeled and printed for the Cat Fan. (see project above) • OnShape
Cat Deterrent Housing
A simple housing I modeled and printed for the Cat Fan. (see project above) • OnShape
GoPro Anchor Mount V1
Having a mild fascination with the underwater world, I decided I wanted to attach my GoPro to my paddleboard anchor. I fashioned
this mount for my camera and a dive light. I lowered the anchor 80 feet into the crystal-clear Bear Lake of northern Utah. This
is the first iteration of the design which I found placed too much vertical stress on the anchor rope. • OnShape
GoPro Anchor Mount V1
Having a mild fascination with the underwater world, I decided I wanted to attach my GoPro to my paddleboard anchor. I fashioned
this mount for my camera and a dive light. I lowered the anchor 80 feet into the crystal-clear Bear Lake of northern Utah. This
is the first iteration of the design which I found placed too much vertical stress on the anchor rope. • OnShape
GoPro Anchor Mount V2
The second iteration of the design faired much better. Distributing the weight of the camera and dive light more evenly across
the anchor rope allowed for a more secure and more predictable camera angle. These underwater explorations eventually lead me to earning an
SSI open water scuba certification. • OnShape
GoPro Anchor Mount V2
The second iteration of the design faired much better. Distributing the weight of the camera and dive light more evenly across
the anchor rope allowed for a more secure and more predictable camera angle. These underwater explorations eventually lead me to earning an
SSI open water scuba certification. • OnShape
Hair Trigger ROV Claw
Created for ROV underwater drone applications, specifically the QYSEA FIFISH.
The claw uses a hair-trigger and rubber band to grab items without the need
for motors. It is designed to release if the drone becomes stuck. • OnShape
Hair Trigger ROV Claw
Created for ROV underwater drone applications, specifically the QYSEA FIFISH.
The claw uses a hair-trigger and rubber band to grab items without the need
for motors. It is designed to release if the drone becomes stuck. • OnShape
Gateway Mascot
I was asked to create a personified toy model of a NextCentury product with a hidden door. This was used for a large work celebration. • OnShape
Gateway Mascot
I was asked to create a personified toy model of a NextCentury product with a hidden door. This was used for a large work celebration. • OnShape
Razor Guard
My razor didn't offer the guard size I needed, so I decided to make my own. It fits
perfectly on the razor with a "snap". • OnShape
Razor Guard
My razor didn't offer the guard size I needed, so I decided to make my own. It fits
perfectly on the razor with a "snap". • OnShape
NCSS Specialized Screwdriver
One of my most used creations, this screwdriver makes it easy to open NextCentury's line of
waterproof products. Many copies of these are floating around the office and in our remote manufacturing facility. • OnShape
NCSS Specialized Screwdriver
One of my most used creations, this screwdriver makes it easy to open NextCentury's line of
waterproof products. Many copies of these are floating around the office and in our remote manufacturing facility. • OnShape
Electronics
ESP8266 WebSocket Client
Streams live data to and from a Vue web application over a WebSocket connection.
Sends light sensor state and button position. Receives LED, buzzer, and data request commands.
Maintains an active WiFi and WebSocket connection. • Arduino, ESP8266, Vue.js, Heroku
ESP8266 WebSocket Client
Streams live data to and from a Vue web application over a WebSocket connection.
Sends light sensor state and button position. Receives LED, buzzer, and data request commands.
Maintains an active WiFi and WebSocket connection. • Arduino, ESP8266, Vue.js, Heroku
NextCentury Hardware & Software Testing
I developed hundreds of hardware and software testing procedures and authored dozens of wikis and
starter guides. I used a wide range of advanced tools including accelerated UV chamber, plasma wand,
temperature chamber, Keithley multimeter, weather chamber, Saleae logic analyzer, RF chamber, RF scanner and vacuum chamber. I tested products
through the development lifecycle, ensuring no bugs or defects made it to mass production. Products were not released without my go-ahead.
NextCentury Hardware & Software Testing
I developed hundreds of hardware and software testing procedures and authored dozens of wikis and
starter guides. I used a wide range of advanced tools including accelerated UV chamber, plasma wand,
temperature chamber, Keithley multimeter, weather chamber, Saleae logic analyzer, RF chamber, RF scanner and vacuum chamber. I tested products
through the development lifecycle, ensuring no bugs or defects made it to mass production. Products were not released without my go-ahead.
NextCentury Technical Support
I was first hired on to NextCentury as a technical support member. I helped customers troubleshoot advanced technical issues with
products and integration. I assisted via phone and on site, traveling around the United States and Canada.
NextCentury Technical Support
I was first hired on to NextCentury as a technical support member. I helped customers troubleshoot advanced technical issues with
products and integration. I assisted via phone and on site, traveling around the United States and Canada.
Rex 'Battle Bot' R/C
Rex is a 100 pound, invertible, chain-driven, BattleBots-inspired remote controlled
'robot' capable of hauling hundreds of pounds. Rex is powered by two 24v motors, two sealed 12v batteries, and utilizes a
Sabertooth 2X25 V2 speed controller. Rex was designed through trial and error with parts sourced from the local junkyard,
hardware stores, and pawn shops.
Rex 'Battle Bot' R/C
Rex is a 100 pound, invertible, chain-driven, BattleBots-inspired remote controlled
'robot' capable of hauling hundreds of pounds. Rex is powered by two 24v motors, two sealed 12v batteries, and utilizes a
Sabertooth 2X25 V2 speed controller. Rex was designed through trial and error with parts sourced from the local junkyard,
hardware stores, and pawn shops.
Door Knock to Unlock
Using an Arduino Nano, accelerometer, a servo, and a 3.7v LiPo, I can unlock my door by knocking a specific combination.
When a potential door-knock is received, the Arduino first distinguishes between noise and an intentional knock, stores the
knocks in an array, then compares the array to a predetermined knock pattern. To preserve battery, a transistor is used to cut
power from the Servo when idle.
Door Knock to Unlock
Using an Arduino Nano, accelerometer, a servo, and a 3.7v LiPo, I can unlock my door by knocking a specific combination.
When a potential door-knock is received, the Arduino first distinguishes between noise and an intentional knock, stores the
knocks in an array, then compares the array to a predetermined knock pattern. To preserve battery, a transistor is used to cut
power from the Servo when idle.
Cat Fan Deterrent
I love animals as much as the next guy, but this cat (we’ll call her Butt Head) loves to knock over my plants,
spill water on my desk, and leave behind breadcrumbs of clingy fur. Introducing the Cat Fan™. Using an Arduino
nano, a motion sensor, 5v motor, mosfet, some 3D modeling and a 3D printer, the Cat Fan™ turns on when
Motion is detected nearby, scaring the cat away! This system is 100% effective 20% of the time.
Cat Fan Deterrent
I love animals as much as the next guy, but this cat (we’ll call her Butt Head) loves to knock over my plants,
spill water on my desk, and leave behind breadcrumbs of clingy fur. Introducing the Cat Fan™. Using an Arduino
nano, a motion sensor, 5v motor, mosfet, some 3D modeling and a 3D printer, the Cat Fan™ turns on when
Motion is detected nearby, scaring the cat away! This system is 100% effective 20% of the time.
Grandma's Computer Service LLC
A small business I ran while in college. With the original intent of catering to older generations
and their computer issues, Grandma's Computer Service offered general in-home computer services for a wide variety
of clientele.
Grandma's Computer Service LLC
A small business I ran while in college. With the original intent of catering to older generations
and their computer issues, Grandma's Computer Service offered general in-home computer services for a wide variety
of clientele.
PTS Electronics PCB Repair
For two years, I diagnosed and repaired smartphone PCBs using thermal imaging camera, microscope, hot air
rework station, and soldering iron. I kept detailed records of all repairs. Note: Image is from PTS promotional video.
PTS Electronics PCB Repair
For two years, I diagnosed and repaired smartphone PCBs using thermal imaging camera, microscope, hot air
rework station, and soldering iron. I kept detailed records of all repairs. Note: Image is from PTS promotional video.
PTS Electronics Laser Printer Repair
For one year, I diagnosed and repaired Lexmark laserjet printers. I kept detailed records of all repairs. Note:
Image is from PTS promotional video.
PTS Electronics Laser Printer Repair
For one year, I diagnosed and repaired Lexmark laserjet printers. I kept detailed records of all repairs. Note:
Image is from PTS promotional video.
Tinkering Tendencies
I have always loved taking things apart to see how they tick. From the age of 10 I was pulling apart old
portable televisions, radios, phones, everything. This curiosity continues today. I do a little bit of everything, from
general car repair to electronics repair and 'handyman' tasks. Largely stemming from my eagerness to learn and grow,
I pride myself in being able to figure out just about anything I put my mind to.
Tinkering Tendencies
I have always loved taking things apart to see how they tick. From the age of 10 I was pulling apart old
portable televisions, radios, phones, everything. This curiosity continues today. I do a little bit of everything, from
general car repair to electronics repair and 'handyman' tasks. Largely stemming from my eagerness to learn and grow,
I pride myself in being able to figure out just about anything I put my mind to.
Video Production
Interesting Ted Videography LLC
I received recognition for my video production business work "Interesting Ted Videography LLC"
and my YouTube channel of the same name, receiving 2.2 Million views and counting. Much of my work was inspired
by director Devin Graham, who I later was fortunate enough to work with. • Adobe Premiere Pro
Interesting Ted Videography LLC
I received recognition for my video production business work "Interesting Ted Videography LLC"
and my YouTube channel of the same name, receiving 2.2 Million views and counting. Much of my work was inspired
by director Devin Graham, who I later was fortunate enough to work with. • Adobe Premiere Pro
On TV
My work was played on national television as part of a TV series called "Objectified".
This episode featured Mark Cuban.
On TV
My work was played on national television as part of a TV series called "Objectified".
This episode featured Mark Cuban.
US Forest Service
Through the Student Conservation Association and AmeriCorps, I worked as a Video Producer and Surveyor
at the Mt. Hood National Forest in Oregon.
US Forest Service
Through the Student Conservation Association and AmeriCorps, I worked as a Video Producer and Surveyor
at the Mt. Hood National Forest in Oregon.
The Limestone Post
I was hired by the Limestone Post to produce videos of local nature preserves, creators, and neighborhoods. • Adobe Premiere Pro
The Limestone Post
I was hired by the Limestone Post to produce videos of local nature preserves, creators, and neighborhoods. • Adobe Premiere Pro
EyeSend Belay Glasses Advert
I was hired by engineer Matt Cupal to create a Kickstarter advert for his innovative adjustable belay glasses. • Adobe Premiere Pro
EyeSend Belay Glasses Advert
I was hired by engineer Matt Cupal to create a Kickstarter advert for his innovative adjustable belay glasses. • Adobe Premiere Pro
Stong's Bread Advert
I created a promotional video for Matthew Stong's bread company. During this shoot I ate lots of bread. • Adobe Premiere Pro
Stong's Bread Advert
I created a promotional video for Matthew Stong's bread company. During this shoot I ate lots of bread. • Adobe Premiere Pro
Doggie Dinners Advert
I was hired to produce this Kickstarter advert for Doggie Dinners locally sourced organic dog food. • Adobe Premiere Pro
Doggie Dinners Advert
I was hired to produce this Kickstarter advert for Doggie Dinners locally sourced organic dog food. • Adobe Premiere Pro
Devin Graham (Super Tramp) Extra
The director Devin Graham has been an idle of mine for many years. I was fortunate enough to work directly
with Devin for a full day of shooting. I was featured in one of his latest videos.
Devin Graham (Super Tramp) Extra
The director Devin Graham has been an idle of mine for many years. I was fortunate enough to work directly
with Devin for a full day of shooting. I was featured in one of his latest videos.
Documentary Now Finale Extra
I was an extra in the season finale of the Emmy nominated mocumentary series "Documentary Now!"
This episode featured Michael C. Hall, Bobby Moynihan, Helen Mirren, and Kevin Dunn. Directed by Alexander Buono.
Documentary Now Finale Extra
I was an extra in the season finale of the Emmy nominated mocumentary series "Documentary Now!"
This episode featured Michael C. Hall, Bobby Moynihan, Helen Mirren, and Kevin Dunn. Directed by Alexander Buono.
Acting
Due to my strong interest in all things film, I have joined several acting and improv groups.
I have been fortunate enough to befriend some amazingly talented film actors, voice actors, stage actors,
and foam latex/puppet/prop makers.
Acting
Due to my strong interest in all things film, I have joined several acting and improv groups.
I have been fortunate enough to befriend some amazingly talented film actors, voice actors, stage actors,
and foam latex/puppet/prop makers.