One Year With An EV : We Saved over $3650 in Gas Alone

On February 18th 2023, our family bought it’s first BEV. A 2023 Ioniq 5 which replaced our 2014 Mazda 3. Over the next year, we drove a total of 35,000 km, with many long road trips through extreme weather conditions. Our experience has been nothing but incredible and has cemented that the future is in fact electric. It saved us money ($3,667.90), it saved us time, and overall it decreased our vehicle emissions for the year by 98%.

For those who care only for the data, you can see that here. For those who want more details on our road trips, please continue reading below.

The Road Trips

Our first road trip with our Ioniq 5 also happened to be our first drive as owners of the vehicle. We bought the vehicle in Castlegar, B.C and drove it back home (at the time) to the Kelowna, B.C region. An almost 300 km road trip, through mountain passes during the winter, which set the tone for the rest of the year.

In the next couple of months, our road trips were generally in extreme winter conditions. Temperatures hovered between -15°C and -25°C, but we did do a drive from Kelowna to Vancouver and back when the temperatures were about -35°C and -40°C. During that trip, we were warm and comfortable in our Ioniq 5 and didn’t even need to stop early to charge.

  • February 18th, 2023 – Castlegar to Kelowna, B.C. – ~280km
  • March 11th, 2023 – Kelowna to Vancouver and back – 860km
  • March 17th, 2023 – Kelowna to Vancouver and back – 735km
  • March 25th – 26th, 2023 – Kelowna to Vancouver and back – 951 km

As things warmed up, we decided to go exploring even further with friends and family.

  • April 7th, 2023 – Kelowna to Vancouver – 472 km
  • April 8th, 2023 – Vancouver to Port Alberni – 270 km
  • April 9th, 2023 – Port Alberni to Tofino and back – 247 km
  • April 10th, 2023 – Port Alberni to Kelowna – 498 km
  • April 14th, 2023 – Kelowna, BC to Canmore, AB – 654 km
  • April 15, 2023 – Canmore to Calgary – 220 km
  • April 17, 2023 – Calgary, AB to Kelowna, BC – 467 km
  • April 22, 2023 – Kelowna to Vancouver – 374 km
  • April 23rd, 2023 – Vancouver to Kelowna – 351 km
  • April 25th, 2023 – Kelowna to Vancouver – 529 km
  • May 10th, 2023 – Vancouver to Kelowna – 436 km
  • May 13th, 2023 – Kelowna to Vancouver – 412 km
  • May 15, 2023 – Vancouver to Whistler and back – 279 km
  • May 17th, 2023 – Vancouver to Kelowna – 398 km
  • May 20th, 2023 – Kelowna to Vancouver – 496 km

After those many road trips during the spring, we settled in for a little over a month, before we did our longest road trip yet. A trip from Vancouver to Saskatoon and back. It would not end up being our longest road trip of the year though.

  • July 7th, 2023 – Vancouver to Nelson – 531 km
  • July 8th, 2023 – Nelson, BC to Calgary, AB – 536 km
  • July 10th, 2023 – Calgary, AB to Saskatoon, SK – 743 km
  • July 11th, 2023 – Saskatoon, SK to Calgary, AB – 673 km
  • July 13th, 2023 – Calgary, AB to Kelowna, BC – 525 km
  • July 16th, 2023 – Kelowna to Vancouver – 393 km

From that trip, we again took another month long break before embarking on the longest road trip we have even taken with any vehicle. An approximately 7500 km from Vancouver, BC to Denver, CO and back. This road trip took the Ioniq 5 through some very remote regions with little or no charging stations for hundreds of kilometers while temperatures during that period were often above 35°C, with the maximum temperature we felt being somewhere around 42°C.

We not only drove the vehicle, but for much of the trip, we slept in our Ioniq 5 with “Maintenance Mode” on, which provided us a nice climate controlled environment to sleep in for the entire night. Overall sleeping our Ioniq 5 saved us a bunch of money, and only used about ~8% of the battery overnight.

We started driving on August 12th, 2023 and arrived back home on August 28th, 2023. A full 16 days of travel.

  • August 12th, 2023 – Vancouver, BC to Spokane, WA – 600 km
  • August 13th, 2023 – Spokane, WA to Red Mountain Campground, MT – 517 km
  • August 14th, 2023 – Red Mountain Campground, MT to Yellowstone National Park – 245 km
  • August 15th, 2023 – Explored Yellowstone National Park – 185 km
  • August 16th, 2023 – Yellowstone National Park to Grand Teton National Park, WY – 215 km
  • August 17th, 2023 – Grand Teton National Park, WY to Salt Lake City, UT – 448 km
  • August 18th, 2023 – Explore Salt Lake City, UT – 185 km
  • August 19th, 2023 – Salt Lake City, UT to Grand Junction, CO – 631 km
  • August 20th, 2023 – Grand Junction, CO to Estes Park, CO – 530 km
  • August 21st, 2023 – Explore Rocky Mountain National Park – N/A
  • August 22nd, 2023 – Estes Park, CO to Denver, CO – 293 km
  • August 23rd, 2023 – Estes Park, CO to Salt Lake City, UT – 815 km
  • August 24th, 2023 – Salt Lake City, UT to Boise, ID – 571 km
  • August 25th, 2023 – Boise, ID to Portland, OR – 763 km
  • August 26st, 2023 – Portland, OR to Friends Landing, WA – 277 km
  • August 27th, 2023 – Friends Landing, WA to Sol Duc Campground, WA – 240 km
  • August 28th, 2023 – Sol Duc Campground, WA to Vancouver, BC – 731 km

These are just the start and end destination for the day, but throughout the day, we would tend to visit National Parks, roadside attractions, and more.

The Data

Tabulating the data was a lot of fun and insightful. For the entire year of driving a total of 35,000 km it only cost us $1,400.10 for 5837 kWh of energy. The cheapest charging network, beyond Journey which had free charging at the time, is obviously charging at home (Unico Power). while the most expensive was Electrify America. That makes sense due to the exchange rate.

The interesting thing is that charging at home still represented 40% of the energy during the entire year, even though most of our driving was done on road trips. I expect the average person would have at-home-charging represent 80% of their energy.

Chart of the Percentage of Energy used per Charging Network

The cost of charging though had Electrify America represent 40% of the cost, while at-home-charging (Unico Power) only represented a little less that a quarter of the cost (24%).

Chart of the Percentage of cost per Charging Network

Overall, the key data is that we saved a total of $3,667.90! That would mean we saved over $300 a month on gas! I view that as a big win, as that does not include any of the savings for maintenance we would have had. I expect that represents an additional $500 to $1,000 in savings.

For those who want to lower their carbon footprint, going electric is the obvious option based on my quick math. I found online from the Government of Canada the average emissions for one liter of gas being approximately 2,300 grams of CO_2, while the average emissions on a single kWh in British-Columbia being only 18.6 grams. With that in mind, we would have saved a total of 6331.42 kg of emissions from entering the atmosphere compared to driving our 2014 Mazda 3. A reduction of 98.31%!

Final Thoughts

Our experience has proven to us that electric is in fact, not only the future, but is the current best option for most people. I think there are pitfalls with some BEV’s being subpar, however the Hyundai/Kia E-GMP vehicles are absolutely phenomenal.

The data also shows that driving a BEV can save a lot of money even when going on long road trips and that the emission savings are monumental. Overall, our first year has cemented for me that everyone should at a minimum be considering a BEV as their primarily vehicle.

5-Character Word Game

Description

For a recent software engineering challenge, I needed to recreate a well-known game where a player needs to guess a 5-character word. I decided to improve my attempt and learn how to better manage state in React using nextJS. A new word is chosen every reload and gets a maximum of 5 attempts to guess the word.

Features

  • A new word is selected upon every reload of the page.
  • Single input field which validates whether 5 characters have been entered. Excludes entering less, or more than 5 characters.
  • Submit button is disabled through state, until 5 characters are placed within the input field.
  • History of word attempts are listed above the input field with green, orange and red backgrounds to inform the player that the character is at the correct location in the word (green), the character exists in the word, but is not in the correct location (yellow), or the character does not exist in the word (red).
  • State keeps track of the number of attempts and whether the player has gone over the 5 attempts allowed. In which case they have lost.
  • Entering the correct 5 character word changes state to remove the input and confirms to the player that they have won.

Programming Languages

The game was made using typescript and React within next.js.

Credits

  • Developer: Shaun Guimond

Plant Pal Assistant (AWS – LLM)

Project Summary

The Plant Pal Assistant (AWS – LLM) project was part of the 2024 UBC CIC Hackathon. The event provided the required infrastructure for the attendees to learn or practice using Cloud Computing and Generative AI to create creative and original solutions to solve real world problems.

The Plant Pal Assistant (AWS – LLM) was built using Next.js + Flask . Next.js is used to serve the front-end, while flask is used for the back-end to make the required calls to Anthropic’s Claude v2 LLM hosted on AWS Bedrock.

Team Members

Bachelor of Computer Science Students
Alaina (Alain-gl)
Annie (@ayqya)
Kayla (@k-bolduc)
Shaun (@shaunguimond)

The Last Laugh – 2024 Vancouver Game Jam

Project Summary

As a team of 6, we created a narrative, 2d side-scroller using the Godot game engine. As project lead of our team of beginners, my role was to ensure a feasible project scope based on a very tight deadline, to provide training and guidance when other members were stuck on difficult challenges, and to program the movement and animations of the playable characters and enemies.

Game Description

Welcome to Laugh Angeles. A world where a notorious comedian holds the last laugh. What remains is a desolate landscape of awkward silences and problematic statements.

You’ve taken it upon yourself to BOO! all the rats away. To do so, you will have to collect the tomato-ey sentiments of the despondent crowds and deliver them on stage to Ratt Rofe in a battle of comedic proportions.

Get ready to jump, sling and splat.

Good luck! The city’s happiness depends on your confidence.

Team Members

TeammatesBachelor of Computer Science Students
Shaun (@shaunguimond)Boosting Noobs Since 2024 Leader
Fred (@fsunstrum)Tomato Throwing Clutch Coder
Hedie (@mistysky04)Pixel Perfect Perspective Portraiture 
Helena (@hesoru)Bigger is Better Background Level Designer 
Rachelle (@chellexra)Witty Writer of One Liners
Annie (@ayqya)Git Good Asset Animator

Nourished by Caroline

Description

The Nourished by Caroline Theme is a custom WordPress theme derived from the Twenty Twenty-Four theme, designed for the ‘Nourished by Caroline’ vegan food blog and professional business website. This theme showcases the power of WordPress’s Full Site Editing (FSE) feature, providing a flexible and intuitive interface for site customization.

Features

  • Full Site Editing: Employs WordPress’s FSE for full control over site design and layout.
  • Responsive Design: Delivers a consistent experience across all devices.
  • Custom Recipe Post Type: Simplifies the posting and categorization of vegan recipes.
  • Appointment Booking: Facilitates easy scheduling of dietitian appointments.
  • SEO Optimized: Enhances visibility on search engines.
  • Performance Optimized: Guarantees fast loading times for an efficient user experience.
  • Ecommerce Integration: Features a dedicated section for the sale of ebooks, expanding the site’s functionality to include online transactions.

Programming Languages

This theme was developed using a combination of programming languages known for their robustness and flexibility in web development:

  • PHP: For server-side scripting and WordPress back-end integration.
  • HTML: To structure the content of web pages.
  • CSS: For styling and designing the website’s layout.
  • JavaScript: To create interactive elements and enhance user experience.

Staging and Migration

Developed on a staging environment to accommodate the existing content, the theme transition included updating the domain name to reflect the new server IP address.

Customization

Extensive customization is possible through the WordPress Customizer and FSE, allowing for personalized colors, fonts, and layout configurations.

Credits

  • Developer: Shaun Guimond
  • Design Inspiration: Twenty Twenty-Four WordPress Theme and WordPress FSE
  • Special Thanks: To the Nourished by Caroline community for their continuous support and engagement.

Changelog

2.0.0 – 2024-01-01

  • Launched the completely redesigned version with WordPress Full Site Editing and ecommerce functionality for ebook sales.

1.0.0 – 2016-07-01

  • Launched the first version with ecommerce functionality for ebook sales.

FPS Drone Shooter

Project Summary

The project’s focus was to learn the principal elements of developing a first-person shooter in Unreal Engine 5. It focused on learning how to implement character movement, combat elements, enemy AI, environment design and managing game modes.

The project was aided by a tutorial purchased from GameDev. To gain the most out of the tutorial, I started by doing each step of the tutorial before watching how the problem was solved. This allowed me to find my own solution and then to learn their solution to many challenges.

Project Goals

  • Character Movement
    • Adding character controls and movement.
    • implementing animation blueprints.
    • Implementing animation state machines.
    • Added a flashlight to be used in darker areas.
  • The Drone (Enemy)
    • Implementing patrolling for the drones.
    • Implemented rotation and location blueprints for chasing the player character.
    • Added patrolling.
    • Created drone attack and death.
  • Combat
    • Implemented basic game functions such as:
      • Health
      • Ammo
    • Added automatic, burst and single fire options for the weapon.
  • Environment
    • Created a dark-night city-scape environment.
    • Added lighting to assets to create streetlights.
    • Added fire particles and detritus to elevate the mood of the environment.
  • Game Mode
    • Created states for each element of the player session.
    • Displayed a health bar that increases and decreases as required.
    • Displayed the player character’s current ammo.
    • Display the remaining drones in a level.

Obstacle Assault – Learning Unreal Engine Part 2

This is part two of the Unreal 5.0 C++ Developer: Learn C++ and Make Video Games tutorial on GameDev.

I made the obstacle course my own, using the created C++ blueprint to make moving and rotating obstacles. The entire course goes from the starting island to a secondary island where the goal is to reach the castle at the top.

Reaching the castle allows you to gain a “Win” and restart from the beginning. The simple goal I added on my own is to make it where the player is required to reach the end (castle), without falling from the islands as many consecutive times as possible. Falling from the islands causes the player to lose all win counts and to restart from zero.

Warehouse Wreckage – Learning Unreal Engine Part 1

This is part one of the Unreal 5.0 C++ Developer: Learn C++ and Make Video Games tutorial on GameDev.

For this course, I simply familiarized myself with blueprints, creating assets and using some minor logic to start the player with twenty cannon balls. Once the player runs out of ammo, the level reloads. This was all done in Blueprints to learn some of the basics of programming in a visual format.

Textures were added to the warehouse to make it more interesting, and ray tracing was used to simplify the process.

Volcarona 3D Print

I recently purchased a 3d printer, the Creality Ender 3 V2 and have some prints from Printables, and some of my own prints which can be found here.

For a birthday present for a family member, I decided to make their favorite Pokémon as a 3d Print; Volcarona. I unfortunately did not take any picture of the in-progress prints, but the final project came out far better than I thought I would be able to achieve. You can find pictures of the concluded project below.

Another Try at Blender

Over 15 years ago I tried to learn blender when I was just 11/12 years to learn Blender to be able to add assets into my favorite game: Oblivion. I never got far with the attempt, but ten years later, I tried another attempt and learnt much more than I had ever before.

I ended making a Teddy bear, a glass cup with a piece of cloth that had some physics properties, some pool balls, soccer balls and finally nice and metallic ring.

Over the past 5 years I have lost the knowledge to make these objects, so I have decided to learn Blender all over again. I started working with primitives, which are simple mesh objects such as squares, cones etc… to get the hang of it. Here is an attempt at making a well and a rocket.

Ultimately, I am happy with the simple models which were a great way to refresh myself on the user interface of Blender. I hope to try and bring these models in to Unreal Engine at one point to simply attempt at importing assets into an actual game engine. Then move on to import some better, more beautiful models. I have a few models that I am striving to build, but I will need to first sharpen up my skills.

(PS to the one reader. I need to add to the website the functionality for the gallery. Something to do over the holidays.)