## Inspiration

We were inspired by Duolingo which makes learning languages fun! Physics is often a difficult subject for many students, so we wanted to revisit some concepts that would incorporate the physics curriculum in a fun way using simulation 🤓

## What it does

Our web app has a dashboard of user-interactive simulations that act as physics lessons. We wanted to make online physics simulations more interesting, so we implemented a working fruit-themed projectile motion game that allows you to change the angle and speed of a tomato which splatters when it falls.

## How we built it

We built Galileo using Matter.js, a physics javascript library, HTML, CSS, frameworks such as Astro and Tailwind CSS. Figma was used for wireframing, planning, as well as prototyping. We used an Astro template to get our landing page started.

## Challenges we ran into

Implementing Matter.js and figuring out how to make physics interesting to learn. We also struggled with combining logic and the Astro templates.

## Accomplishments that we're proud of

Our newest member was a first year engineering student and a hackathon beginner 🤫 🧏‍♂️ 🧏‍♂️ We also all tried something outside of our comfort zones and learned a lot from eachother!

## What we learned

SO proud of our tomatos 🍅 ❤️
Using Javascript libraries, physics rules and logic in coding

## What's next for Galileo (Dynasim)

Potentially creating more games and trying more physics libraries. Adding a review feature.
## Inspiration

We wanted to create a proof-of-concept for a potentially useful device that could be used commercially and at a large scale. We ultimately designed to focus on the agricultural industry as we feel that there's a lot of innovation possible in this space.

## What it does

The PowerPlant uses sensors to detect whether a plant is receiving enough water. If it's not, then it sends a signal to water the plant. While our proof of concept doesn't actually receive the signal to pour water (we quite like having working laptops), it would be extremely easy to enable this feature.

All data detected by the sensor is sent to a webserver, where users can view the current and historical data from the sensors. The user is also told whether the plant is currently being automatically watered.

## How I built it

The hardware is built on an Arduino 101, with dampness detectors being used to detect the state of the soil. We run custom scripts on the Arduino to display basic info on an LCD screen. Data is sent to the websever via a program called Gobetwino, and our JavaScript frontend reads this data and displays it to the user.

## Challenges I ran into

After choosing our hardware, we discovered that MLH didn't have an adapter to connect it to a network. This meant we had to work around this issue by writing text files directly to the server using Gobetwino. This was an imperfect solution that caused some other problems, but it worked well enough to make a demoable product.

We also had quite a lot of problems with Chart.js. There's some undocumented quirks to it that we had to deal with - for example, data isn't plotted on the chart unless a label for it is set.

## Accomplishments that I'm proud of

For most of us, this was the first time we'd ever created a hardware hack (and competed in a hackathon in general), so managing to create something demoable is amazing. One of our team members even managed to learn the basics of web development from scratch.

## What I learned

As a team we learned a lot this weekend - everything from how to make hardware communicate with software, the basics of developing with Arduino and how to use the Charts.js library. Two of our team member's first language isn't English, so managing to achieve this is incredible.

## What's next for PowerPlant

We think that the technology used in this prototype could have great real world applications. It's almost certainly possible to build a more stable self-contained unit that could be used commercially.
## Inspiration

This game was inspired by the classical game of connect four, in which one inserts disks into a vertical board to try to get four in a row. As big fans of the game, our team sought to improve it by adding new features.

## What it does

The game is played like a regular game of connect four, except each player may choose to use their turn to rotate the board left or right and let gravity force the pieces to fall downwards. This seemingly innocent change to connect four adds many new layers of strategy and fun to what was already a strategic and fun game.

We developed two products: an iOS app, and a web app, to run the game. In addition, both the iOS and web apps feature the abilities of:
1) Play local "pass and play" multiplayer
2) Play against multiple different AIs we crafted, each of differing skill levels
3) Play live online games against random opponents, including those on different devices!

## How we built it

The iOS app was built in Swift and the web app was written with Javascript's canvas. The bulk of the backend, which is crucial for both our online multiplayer and our AIs, came from Firebase's services.

## Challenges we ran into

None of us are particularly artistic, so getting a visually pleasant UI wasn't exactly easy...

## Accomplishments that we're proud of

We are most proud of our ability to successfully run an online cross-platform multiplayer, which we could not have possibly done without the help of Firebase and its servers and APIs. We are also proud of the AIs we developed, which so far tend to beat us almost every time.

## What we learned

Most of us had very little experience working with backend servers, so Firebase provided us with a lovely introduction to allowing our applications to flourish on my butt.

## What's next for Gravity Four

Let's get Gravity Four onto even more types of devices and into the app store!