## Inspiration

We saw a short video on a Nepalese boy who had to walk 10 miles each way for school. From this video, we wanted to find a way to bring unique experiences to students in constrained locations. This could be for students in remote locations, or in cash strapped low income schools. We learned that we all share a passion for creating fair learning opportunities for everyone, which is why we created Magic School VR.

## What it does

Magic School VR is an immersive virtual reality educational platform where you can attend one-on-one lectures with historical figures, influential scientists, or the world's best teachers. You can have Albert Einstein teach you quantum theory, Bill Nye the Science Guy explain the importance of mitochondria, or Warren Buffet educate you on investing.

**Step 1:** Choose a subject *physics, biology, history, computer science, etc.*

**Step 2:** Choose your teacher *(Elon Musk, Albert Einstein, Neil Degrasse Tyson, etc.*

**Step 3:** Choose your specific topic *Quantum Theory, Data Structures, WWII, Nitrogen cycle, etc.*

**Step 4:** Get immersed in your virtual learning environment

**Step 5:** Examination *Small quizzes, short answers, etc.*

## How we built it

We used Unity, Oculus SDK, and Google VR to build the VR platform as well as a variety of tools and APIs such as:

* Lyrebird API to recreate Albert Einstein's voice. We trained the model by feeding it with audio data. Through machine learning, it generated audio clips for us.
* Cinema 4D to create and modify 3D models.
* Adobe Premiere to put together our 3D models and speech, as well to chroma key masking objects.
* Adobe After Effects to create UI animations.
* C# to code camera instructions, displays, and interactions in Unity.
* Hardware used: Samsung Gear VR headset, Oculus Rift VR Headset.

## Challenges we ran into

We ran into a lot of errors with deploying Magic School VR to the Samsung Gear Headset, so instead we used Oculus Rift. However, we had hardware limitations when it came to running Oculus Rift off our laptops as we did not have HDMI ports that connected to dedicated GPUs. This led to a lot of searching around trying to find a desktop PC that could run Oculus.

## Accomplishments that we're proud of

We are happy that we got the VR to work. Coming into QHacks we didn't have much experience in Unity so a lot of hacking was required :) Every little accomplishment motivated us to keep grinding. The moment we manged to display our program in the VR headset, we were mesmerized and in love with the technology. We experienced first hand how impactful VR can be in education.

## What we learned

* Developing with VR is very fun!!!
* How to build environments, camera movements, and interactions within Unity
* You don't need a technical background to make cool stuff.

## What's next for Magic School VR

Our next steps are to implement eye-tracking engagement metrics in order to see how engaged students are to the lessons. This will help give structure to create more engaging lesson plans. In terms of expanding it as a business, we plan on reaching out to VR partners such as Merge VR to distribute our lesson plans as well as to reach out to educational institutions to create lesson plans designed for the public school curriculum.

 [via GIPHY](https://giphy.com/gifs/E0vLnuT7mmvc5L9cxp)
## Inspiration

Our inspiration comes from the idea that the **Metaverse is inevitable** and will impact **every aspect** of society.

The Metaverse has recently gained lots of traction with **tech giants** like Google, Facebook, and Microsoft investing into it.

Furthermore, the pandemic has **shifted our real-world experiences to an online environment**. During lockdown, people were confined to their bedrooms, and we were inspired to find a way to basically have **access to an infinite space** while in a finite amount of space.

## What it does

* Our project utilizes **non-Euclidean geometry** to provide a new medium for exploring and consuming content
* Non-Euclidean geometry allows us to render rooms that would otherwise not be possible in the real world
* Dynamically generates personalized content, and supports **infinite content traversal** in a 3D context
* Users can use their space effectively (they're essentially "scrolling infinitely in 3D space")
* Offers new frontier for navigating online environments
	+ Has **applicability in endless fields** (business, gaming, VR "experiences")
	+ Changing the landscape of working from home
	+ Adaptable to a VR space

## How we built it

We built our project using Unity. Some assets were used from the Echo3D Api. We used C# to write the game. jsfxr was used for the game sound effects, and the Storyblocks library was used for the soundscape. On top of all that, this project would not have been possible without lots of moral support, timbits, and caffeine. 😊

## Challenges we ran into

* Summarizing the concept in a relatively simple way
* Figuring out why our Echo3D API calls were failing (it turned out that we had to edit some of the security settings)
* Implementing the game. Our "Killer Tetris" game went through a few iterations and getting the blocks to move and generate took some trouble. Cutting back on how many details we add into the game (however, it did give us lots of ideas for future game jams)
* Having a spinning arrow in our presentation
* Getting the phone gif to loop

## Accomplishments that we're proud of

* Having an awesome working demo 😎
* How swiftly our team organized ourselves and work efficiently to complete the project in the given time frame 🕙
* Utilizing each of our strengths in a collaborative way 💪
* Figuring out the game logic 🕹️
* Our cute game character, Al 🥺
* Cole and Natalie's first in-person hackathon 🥳

## What we learned

### Mathias

* Learning how to use the Echo3D API
* The value of teamwork and friendship 🤝
* Games working with grids

### Cole

* Using screen-to-gif
* Hacking google slides animations
* Dealing with unwieldly gifs
* Ways to cheat grids

### Natalie

* Learning how to use the Echo3D API
* Editing gifs in photoshop
* Hacking google slides animations
* Exposure to Unity is used to render 3D environments, how assets and textures are edited in Blender, what goes into sound design for video games

## What's next for genee

* Supporting shopping
	+ Trying on clothes on a 3D avatar of yourself
* Advertising rooms
	+ E.g. as your switching between rooms, there could be a "Lululemon room" in which there would be clothes you can try / general advertising for their products
* Custom-built rooms by users
* Application to education / labs
	+ Instead of doing chemistry labs in-class where accidents can occur and students can get injured, a lab could run in a virtual environment. This would have a much lower risk and cost.
	…the possibility are endless
In researching this project, we became aware of the massive food waste problem. 58% of food produced goes to waste, valued at $49 billion. Meanwhile, over 4 million Canadians are food insecure, struggling to put food on the table.

We decided to address this problem by creating a mobile platform similar to Kijiji for food. Users can post offers or requests, which include multiple food items and their respective quantities. They can browse on the home screen by most recently posted as well as on the explore map to find the nearest available offers or requests.

In the future, we want to establish a way for larger organizations to use the service where big quantities of offered food can be distributed easily to a homeless shelter or food bank. Long-term, Faste is easy to scale since the main component of the app that would grow is the MongoDB Atlas database, which can be expanded by buying more cloud storage.

The app was built using React Native for the front-end making it easily available on iOS and Android. Google's material UI was used for styling components to provide a familiar user experience to the common user. The backend was built on Node.js using the Adonis.js framework. This backend server was hosted on Linux Centos ensuring robust security for the app. The app's database was hosted on MongoDB atlas using Google Cloud underneath.