## Inspiration

The world is constantly chasing after smartphones with bigger screens and smaller bezels. But why wait for costly display technology, and why get rid of old phones that work just fine? We wanted to build an app to create the effect of the big screen using the power of multiple small screens.

## What it does

InfiniScreen quickly and seamlessly links multiple smartphones to play videos across all of their screens. Breathe life into old phones by turning them into a portable TV. Make an eye-popping art piece. Display a digital sign in a way that is impossible to ignore. Or gather some friends and strangers and laugh at memes together. Creative possibilities abound.

## How we built it

Forget Bluetooth, InfiniScreen seamlessly pairs nearby phones using ultrasonic communication! Once paired, devices communicate with a Heroku-powered server written in node.js, express.js, and socket.io for control and synchronization. After the device arrangement is specified and a YouTube video is chosen on the hosting phone, the server assigns each device a region of the video to play. Left/right sound channels are mapped based on each phone's location to provide true stereo sound support. Socket-emitted messages keep the devices in sync and provide play/pause functionality.

## Challenges we ran into

We spent a lot of time trying to implement all functionality using the Bluetooth-based Nearby Connections API for Android, but ended up finding that pairing was slow and unreliable. The ultrasonic+socket.io based architecture we ended up using created a much more seamless experience but required a large rewrite. We also encountered many implementation challenges while creating the custom grid arrangement feature, and trying to figure out certain nuances of Android (file permissions, UI threads) cost us precious hours of sleep.

## Accomplishments that we're proud of

It works! It felt great to take on a rather ambitious project and complete it without sacrificing any major functionality. The effect is pretty cool, too—we originally thought the phones might fall out of sync too easily, but this didn't turn out to be the case. The larger combined screen area also emphasizes our stereo sound feature, creating a surprisingly captivating experience.

## What we learned

Bluetooth is a traitor. Mad respect for UI designers.

## What's next for InfiniScreen

Support for different device orientations, and improved support for unusual aspect ratios. Larger selection of video sources (Dailymotion, Vimeo, random MP4 urls, etc.). Seeking/skip controls instead of just play/pause.
## Inspiration

Our inspiration was to provide a robust and user-friendly financial platform. After hours of brainstorming, we decided to create a decentralized mutual fund on mobile devices. We also wanted to explore new technologies whilst creating a product that has several use cases of social impact. Our team used React Native and Smart Contracts along with Celo's SDK to discover BlockChain and the conglomerate use cases associated with these technologies. This includes group insurance, financial literacy, personal investment.

## What it does

Allows users in shared communities to pool their funds and use our platform to easily invest in different stock and companies for which they are passionate about with a decreased/shared risk.

## How we built it

* Smart Contract for the transfer of funds on the blockchain made using Solidity
* A robust backend and authentication system made using node.js, express.js, and MongoDB.
* Elegant front end made with react-native and Celo's SDK.

## Challenges we ran into

Unfamiliar with the tech stack used to create this project and the BlockChain technology.

## What we learned

We learned the many new languages and frameworks used. This includes building cross-platform mobile apps on react-native, the underlying principles of BlockChain technology such as smart contracts, and decentralized apps.

## What's next for *PoolNVest*

Expanding our API to select low-risk stocks and allows the community to vote upon where to invest the funds.
Refine and improve the proof of concept into a marketable MVP and tailor the UI towards the specific use cases as mentioned above.
## Team

Hello and welcome to our project! We are Ben Wiebe, Erin Hacker, Iain Doran-Des Brisay, and Rachel Smith. We are all in our third year of computer engineering at Queen’s University.

## Inspiration

Something our team has in common is a love of road trips. However, road trips can be difficult to coordinate, and the fun of a road trip is lost when not everyone is travelling together. As such, we wanted to create an app that will help people stay in touch while travelling and feel connected even when apart.

## What it Does

The app gives users the ability to stay connected while travelling in separate cars. From the home screen, you are prompted to log in to Snapchat with your account. You then have the option to create a new trip or join an existing trip. If you create a trip, you are prompted to indicate the destination that your group will be travelling to, as well as a group name. You are then given a six-character code, randomly generated and consisting of numbers and letters, that you can copy and send to your friends so that they can join you.
Once in a trip, users are taken to a screen that displays a map as the main display on the screen. The map displays each member of the trip’s Bitmoji and will update with users’ locations. Based on location, an arrival time will be displayed, letting users give their friends updates on how far away they are from their destination.
As well, users can sign into Spotify, allowing all parties in the group to contribute to a shared playlist and listen to the same songs from this playlist at the same time, keeping the road trip fun despite the distance. So next time you want to take control of the aux, you’ll be taking control of all parties in your group!
The software currently maps a route as generated using a Google Maps API. However, the route is not yet drawn on to the map, a messaging feature would be implemented to allow users to communicate with one another. This feature would be limited to users of passenger status to discourage drivers from texting and driving. As well, weather and traffic updates would be implemented to further aid users on road trips.

## How We Built It

The team split into two sub-teams each to tackle independent tasks. Iain and Rachel took lead on the app interface. They worked in Android Studio, coding in Java, to get the activities, buttons, and screens in sync. They integrated Snapchat’s bitmoji kit, as well as the Google Maps APIs to streamline the process. Ben and Erin took lead on making the server and databases, using SQLite and Node.js. They also implemented security checks to ensure the app is not susceptible to SQL injections and to limit the accepted user inputs. The team came together as a whole to integrate all components smoothly, and efficiently as well as to test and fix errors.

## Challenges We Ran Into

Several technical challenges were encountered during the creation of Konvoi. One error was in the implementation of the map on the client side. Another main issue was finding the proper dependencies and matching their versions.

## Accomplishments That We’re Proud Of

First and for most, we are proud of each other’s hard work and dedication. We started this Hackathon with the mind set that we wanted to complete the app at all costs. Normally never running on less than six hours of sleep, the team struggled on only four hours per night. The best part? The team morale. Everyone had their ups and downs, and points when we did not think that we would finish and it seemed easiest to give up. We took turns being the support for each other and encouraging each other; from silly photos at 3am in matching onesies, to visiting the snack table…every…five…minutes… the team persevered and accomplished the project!
On the other hand, we are proud of the app and all the potential that it has. In only 36 hours, a fully functional app that we can share together on our next team road trip (Florida anyone??) has been built. From here, we believe that this app is marketable, especially to those 18 to 30.

## What We Learned

The team collectively agrees that we learned so much throughout this entire experience both technical and interpersonal. The team worked with mentors one on one multiple times throughout the hackathon, each of them bringing a new experience to our table. We spoke with Kevin from Scotiabank, who expanded our thought process with regards to how security plays a role in every project we work on.
We spoke with Mike from Ritual who taught us about the Android app integration and helped us with the app implementation. Some of us had no prior knowledge of APIs, so having a knowledgeable mentor teaching us was an invaluable experience.

## What’s the Next Step for Konvoi?

During the design phase, the team created a long list of features that we felt would be an asset to have. We then categorized them as mandatory (required in the Minimum Viable Product), desired (the goal of the project), nice to have (an extension of desired features), and stretch goals (interesting ideas that would be great in the future). From these lists, we were able to accomplish all mandatory and desired goals. We unfortunately did not hit an nice to have or stretch goals. They included:
• Planned stops
• Messaging between cars
• Cost tracking for the group (when someone rents the car, someone else the hotel, etc.)
• Roadside assistance (such as CAA connected into the app)
• Entertainment (extend it to passengers playing YouTube videos, etc.)
• Weather warnings and added predictions
• A feature for a packing list