## Inspiration

Sleep tracking with your phone is useful, but terribly drains your battery overnight, when it's supposed to be charging.

## What it does

Bluetooth enabled Ardino is implanted into a Plush Toy (the aRAWRm). An app on your phone can activate the buzzer to play the Mario theme, or activate the multi-colored LED.
The app can also be used to set the desired time you wish to wake up. Then, the app will send a signal to the aRAWRm at the set time and activate the LED and alarm.

## How we built it

We hooked up a multi-colored LED and a buzzer to an Ardino. Then we went out to Morning Glory and bought a cute tiger Plush Toy. After performing a surgical incision, we inserted the device and stitched it up, leaving the LED visible, thus making the world's first aRAWRm!

On the app side, we used HTML, CSS, and JavaScript to make a simple UI that allows a user to automatically connect with the Arduino in the aRAWRm and control its expanding features.

## Challenges we ran into

At first, we tried developing the app in Android Studio, but ran into compatibility issues, and had trouble using Bluetooth. Thus, we pivoted to a different platform and use the more agile coding languages of CSS, JavaScript, and HTML. Fitting the components into the stuffed tiger was also a challenge.

## Accomplishments that we're proud of

We are proud that the Arduino was able to receive different commands to perform a range of functions (light, sound, alarm, etc.). This setup is modifiable to add many more features in the long run.

## What we learned

We all got more familiar with CSS, and JavaScript in particular. None of us had coded a full app before, so this was a huge learning experience for us and we had a fantastic time!

## Did we have fun?

Free food, great activities, and fantastic people: Yes, yes we did!

## What's next for aRAWRm

We have all the hardware necessary, including a speedometer, to track motion and track sleep, thus waking you up at the optimal time by an alarm you can't help but love! This sleep data could then be uploaded the cloud through a platform like Google Fit. A vibration motor and rechargeable battery would also be worthwhile improvements.
## Inspiration

The future of the blockchain will be **multi-chain**. Since each blockchain is an independent data island with its own ecosystem, it’s not easy to share data or assets across them. Despite the current solutions - bridges - that bridge ERC20 assets, there is still a big gap in NFTs. NFTs due to their collectible value (e.g. PFPs, lands) and rich utilities (e.g. gaming NFTs, membership passes), have become the most important **identity authentication** in the digital world. If I’m a big Axie player or a huge whale that holds a lot of Apes on Ethereum, I would be willing to get the same identity recognition or respect on other chains as I have on Ethereum, or I’ll also be willing to meet other similarly like-minded NFT collectors (e.g. Bear holders on Solana) for potential synergies. And that is the main inspiration for this project.

## What it does

Agg-X is the one-stop shop solution that aggregates NFTs and bridges the identity, reputation, and accomplishments across different blockchains. It has the following three main features:

1. As an **all-in-one NFT gallery**, Agg-X will be supporting the wallet connection from Ethereum, Solana, Eluv.io, Avalanche, and Aptos simultaneously and display all your collections on ONE page. The corresponding collection points will be issued per user along with data analytics services for better NFT and investment tracking.
2. As a **decentralized social protocol**, Agg-X allows you to meet fellow collectors or game players (utility NFTs woohoo) to view their collections and accomplishments across ALL chains. Think of it as a big social platform where you can view, follow, and interact with NFT collections all over the world.
3. As a **credit and credential issuer**, Agg-X will be issuing upgradable soul-bond tokens (SBT) on each blockchain as verified credentials to recognize people’s on-chain collections or accomplishments. Later, Agg-X will also be computing rarity scores and collection points via a DAO as a DID & on-chain credit solution for unlimited future applications like an undercollateralized credit-based lending protocol.

## How we build it

* Frontend in React.JS, Javascript, Typescript, HTML, CSS, Tailwind, ChakraUI, Bootstrap4
* Backend in Express.JS, Node.JS
* Web3 service providers: web3.JS, Web3-React, ethers.JS for accessing on-chain providers and fetching user’s NFT collection data (metamask and walletconnect)
* Blockchain service providers / SDKs: @eluvio SDK for accessing and displaying video NFTs, @solana/web3.js SDK for connecting Solana Phantom wallet and fetching user’s NFT collection data
* Database: CockroachDB (a distributed SQL DB) for storing structured user information (name, email, account, password, addresses, etc.)

## Challenges we ran into

* We ran into a lot of dependency issues while building SDK packages from eluvio sdk and Chakra UI
* Connect wallet on other blockchains - especially Eluv.io & Solana - since both are completely new to us
* UI/UX details and responsive design were the part we spent the most time on
* Three-person collaborating and constantly fixing the merge conflicts was also a challenge when we were working on interrelated components or updating/installing packages at the same time
* React data flow - managing complex code base as well as the front logic & data flow between different components
* Eluv.io APIs and sample code are not documented well which took us a while to understand the samples
* CockroachDB has an extensive & complicated setup that the docs do not address clearly
* Connecting our backend service (in cockroach db) and the frontend in a localhost setting was also a bit challenging as we don’t have enough bandwidth to deploy the full backend

## Accomplishments that we're proud of

* The overall idea and our degree of completion! We have delivered a fully functional demo with great UI, and the idea of having NFT Aggregator + Credential Bridge has the infinite potential to unlock more and more user interactions and activities among the entire NFT & Blockchain ecosystem!
* Our fantastic UI brings the best user experience which also fits perfectly with the crypto vibe!

## What we learned

* Extensive knowledge of Cryptocurrency and NFTs.
* Experience with different wallet connectors (metamask, walletconnect, solana/phantom, eluvio)
* Extensive growth and experience in making great & responsive UI design
* Agile development in a three-person team and great practice for resolving merge conflicts and dependency issues
* Blockchain Full-stack development & deployment

## What’s Next

* Improvements in the speed and performance of fetching and collections from user’s wallet address
* Add more blockchain support including Ploygon, Arbitrum, Optimism, etc.
* Implement the credit / accomplishment score calculating system
* Define and implement the cross-chain credential standards (e.g. a proxy standard on ETH for storing NFT credentials from other blockchains)
* DAO governance on NFT rarity calculation (like TrueFi DAO) & core collectors’ community establishments
## Inspiration

* Home pets

## What it does

* Can be toggled to move based on user-based joystick direction
* Performs tricks (spinning around, wags tail) based on user's hand gestures
* Serves as runaway alarm clock in the morning by backing away (wags tail after caught by user)
* Displays daily schedule and reminders on LCD Display (in idle mode), and the distance from user to robot (while in motion)

## How we built it

* Facilitated an effective wireless communication between ESP32 and ESP8266 to control the wheels/ wheel motors based on the user's hand gestures
* Used Python OpenCV library to develop an algorithm capable of recognizing hand gestures (through the PC's camera)
* Used Pyserial to communicate between the Python and Arduino code
* Integrated communication between three microcontrollers (Arduino Uno, ESP32, ESP8266) using ESP NOW WiFi connection - between ESP32 and ESP8266, enabling the transmission of several variables, and between ESP 8266 and Arduino, enabling signals for motors and display
* Used ultrasonic sensor to back the robot away from approaching user by powering motors to drive wheels
* Employed LCD display to show approximate distance between user and robot from ultrasonic sensor (while in motion), and flash important reminders for the user
* Used a touch sensor for user to turn the alarm off, and turn on/rotate the large servo motor to simulate a pet wagging its tail

## Challenges we ran into

* Received components (hobby motors) without gears, causing disconnection with the gear box and inability to power the wheels
* Integrating Pyserial due to the challenging nature of Windows development environment (managing Python packages and libraries)
* Computer failure while attempting to detect driver for ESP 8266 connection

## Accomplishments that we're proud of

* Employing multiple microcontrollers to communicate data (Arduino Uno, ESP32, ESP8266)
* Successfully creating an algorithm to read hand gestures through a PC camera
* Utilizing multiple sensors as inputs to analyze sets of data

## What we learned

* How to develop a communication system from scratch, enabling usage of microcontrollers for a singular robot
* How to plan out and design an organized circuit to integrate multiple sensors, microcontrollers and displays on a singular chassis
* How to efficiently divide workload between team members, enabling each member to execute tasks related to personal skills and interests

## What's next for Pawblo Pro

* Adding phone slot on the top of the chassis for user to place (as alarm clock)
* Using additional sensors to detect objects and prevent collision (to run away more effectively)
* Using a portable or phone camera to detect gestures instead of PC camera