## Inspiration

Everyone has dreams and aspirations. Whether it’s saving up for education, breaking into the music industry as a small artist, or travelling the world. Yet, too often, we don’t have the financial capacity for them to be a reality. We wanted to create an app that helps bridge this gap. Introducing Dream with Us, a network reshaping how people achieve their dreams through decentralized, peer-to-peer transaction funding.

## What it does

Dream with Us is a platform that enables individuals to support the aspirations of creators, entrepreneurs, and everyday dreamers. Through our app, users can browse dreams and aspirations of others. Users can show their support and donate money in the form of cryptocurrency. At the same time, it’s a space for individuals to share their own aspirations and gain support. Our app helps connect and accelerate a community of diverse dreamers.

## How we built it

Our frontend is built using Svelte, JavaScript, and TailwindCSS. The backend is built using Motoko and Coinbase API. Collectively, these allow our app to run smart contracts and manage decentralized transactions. Lastly, the entire app is hosted and deployed on the ICP blockchain. We used two canisters (which act like smart containers similar to Docker) to separate the frontend and backend.

## Challenges we ran into

* Blockchain Transaction APIs: There were limitations with the transaction APIs for blockchain payments and we had to develop custom solutions.
* Integration of ICP with UI Libraries: Since ICP project folder requires a lot of specific version dependencies, this led to compatibility issues with most popular UI libraries. We had to forgo using these libraries entirely during our development.
* Deployment and Testing: Deploying and testing decentralized applications (dApps) on the ICP, especially containerizing both frontend and backend canisters, was tricky. It required in-depth knowledge of the ICP’s architecture and its nuances with smart contract deployment.
* Initial Development Environment Setup: Setting up the development environment and coordinating between Docker and dfx CLI took time and troubleshooting.

## Accomplishments that we're proud of

We’re proud to have fully deployed both the frontend and backend canisters on the ICP blockchain, making our app completely decentralized. Additionally, we successfully integrated the Coinbase API to handle secure, real-time ICP token transactions between users and dreamers, allowing seamless donations.

## What we learned

We learned about Web3, the decentralized nature of blockchain technology, and how it compares to traditional systems. This gave us a deeper understanding of its potential for peer-to-peer interactions. Furthermore, we gained hands-on experience with the ICP's communication mechanisms between devices and smart contracts, allowing us to build scalable, secure decentralized apps. We also got to meet awesome teams, and people along the way :)

## What's next for Dream with Us

* Implement direct peer-to-peer (P2P) transactions on the blockchain with added security layers like checksums and multi-signature verification
* Introduce tiered subscriptions and investment caps to allow different levels of engagement, from small perks to larger equity-like arrangements for backers.
* Provide analytics for dreamers to track their funding and backer engagement and tools to update supporters on their progress.
## What it does

Fresh Buddy allows users to search for local farmers and find fresh produce nearby.

## How we built it

Our web development application is powered by sponsors Retool and Checkbook.

## Challenges we ran into

We ran into various challenges such as handling and working with the Checkbook API's, figuring out how to power and host our idea. With much diligence (and a good amount of reading the api docs) we found out how to use API's and were delighted at the ease Retool provided us for creating our web application!

## Accomplishments that we're proud of

Completing our first ever hackathon and having a product to show for! (:

## What we learned

We learned how to use Checkbook.io and Retool.

## What's next for Fresh Buddy

Expand and conquer homegrown produce waste! We plan to advertise and connect others to fresh produce and find their fresh buddy!
## Inspiration

Uniswap creator, Hayden, mentioned during the CalHacks 8.0 kickoff that he felt some of the best features in Uniswap v3 were being under-utilized. We wanted to find out if there was something in this space we could work on.

While reading up about v3 and the v3 Oracle in particular, we experimented with the Uniswap interface for pooling. The advanced options for concentrated liquidity pooling are pretty impressive - but we felt there was more to be done to take advantage of the opportunities created by this difference between v2 and v3.

[This paper](https://arxiv.org/pdf/2106.12033.pdf) by Neuder et al. gave us some implementation-specific inspiration.

## What it does (and will do)

RainbowPool builds upon the existing Uniswap router to give LPs access to safe and cost-efficient implementations of strategic liquidity provision - like splitting liquidity provision over bins with different ranges and executing smart re-balancing.

The decentralized app we implemented this weekend allows liquidity providers to interface with our liquidity optimization smart contract. It is a web3.0 application that acts as a proof of concept for our product.

We plan on integrating Uniswap v3 Router to facilitate transactions across liquidity pools on the mainnet. Uniswap v3 Oracle will provide data for our optimization algorithms so that we can do things like automatically re-provision liquidity.

## How we built it

We used the existing [scaffold-eth](https://github.com/scaffold-eth/scaffold-eth) framework to facilitate rapid-prototyping and iteration of a user interface linked to a smart contract.

We deployed contracts on a local chain created using Hardhat.

## Challenges we ran into

When trying to integrate Uniswap v3 into our environment we ran into problems related to Solidity complier versioning. This (disappointingly) stopped us from interacting with the Uniswap Router and Liquidity Management functionality directly.

## What we learned

This hackathon was - for our team - an introduction to the dapp developement space. None of us had deployed chains locally or programmed in Solidity before this event.

## What's next for RainbowPool

Full integration with Uniswap v3 Router.

Leveraging Oracle v3 for data.

Implementation of liquidity provisioning algorithms in Solidity.