## Inspiration

There is a growing number of people sharing gardens in Montreal. As a lot of people share apartment buildings, it is indeed more convenient to share gardens than to have their own.

## What it does

With that in mind, we decided to create a smart garden platform that is meant to make sharing gardens as fast, intuitive, and community friendly as possible.

## How I built it

We use a plethora of sensors that are connected to a Raspberry Pi. Sensors range from temperature to light-sensitivity, with one sensor even detecting humidity levels. Through this, we're able to collect data from the sensors and post it on a google sheet, using the Google Drive API.

Once the data is posted on the google sheet, we use a python script to retrieve the 3 latest values and make an average of those values. This allows us to detect a change and send a flag to other parts of our algorithm.

For the user, it is very simple. They simply have to text a number dedicated to a certain garden. This will allow them to create an account and to receive alerts if a plant needs attention.
This part is done through the Twilio API and python scripts that are triggered when the user sends an SMS to the dedicated cell-phone number.

We even thought about implementing credit and verification systems that allow active users to gain points over time. These points are earned once the user decides to take action in the garden after receiving a notification from the Twilio API. The points can be redeemed through the app via Interac transfer or by simply keeping the plant once it is fully grown. In order to verify that the user actually takes action in the garden, we use a visual recognition software that runs the Azure API. Through a very simple system of QR codes, the user can scan its QR code to verify his identity.
## Inspiration

**75% of adults over the age of 50** take prescription medication on a regular basis. Of these people, **over half** do not take their medication as prescribed - either taking them too early (causing toxic effects) or taking them too late (non-therapeutic). This type of medication non-adherence causes adverse drug reactions which is costing the Canadian government over **$8 billion** in hospitalization fees every year. Further, the current process of prescription between physicians and patients is extremely time-consuming and lacks transparency and accountability. There's a huge opportunity for a product to help facilitate the **medication adherence and refill process** between these two parties to not only reduce the effects of non-adherence but also to help save tremendous amounts of tax-paying dollars.

## What it does

**EZPill** is a platform that consists of a **web application** (for physicians) and a **mobile app** (for patients). Doctors first create a prescription in the web app by filling in information including the medication name and indications such as dosage quantity, dosage timing, total quantity, etc. This prescription generates a unique prescription ID and is translated into a QR code that practitioners can print and attach to their physical prescriptions. The patient then has two choices: 1) to either create an account on **EZPill** and scan the QR code (which automatically loads all prescription data to their account and connects with the web app), or 2) choose to not use EZPill (prescription will not be tied to the patient). This choice of data assignment method not only provides a mechanism for easy onboarding to **EZPill**, but makes sure that the privacy of the patients’ data is not compromised by not tying the prescription data to any patient **UNTIL** the patient consents by scanning the QR code and agreeing to the terms and conditions.

Once the patient has signed up, the mobile app acts as a simple **tracking tool** while the medicines are consumed, but also serves as a quick **communication tool** to quickly reach physicians to either request a refill or to schedule the next check-up once all the medication has been consumed.

## How we built it

We split our team into 4 roles: API, Mobile, Web, and UI/UX Design.

* **API**: A Golang Web Server on an Alpine Linux Docker image. The Docker image is built from a laptop and pushed to DockerHub; our **Azure App Service** deployment can then pull it and update the deployment. This process was automated with use of Makefiles and the **Azure** (az) **CLI** (Command Line Interface). The db implementation is a wrapper around MongoDB (**Azure CosmosDB**).
* **Mobile Client**: A client targeted exclusively at patients, written in swift for iOS.
* **Web Client**: A client targeted exclusively at healthcare providers, written in HTML & JavaScript. The Web Client is also hosted on **Azure**.
* **UI/UX Design**: Userflow was first mapped with the entire team's input. The wireframes were then created using Adobe XD in parallel with development, and the icons were vectorized using Gravit Designer to build a custom assets inventory.

## Challenges we ran into

* Using AJAX to build dynamically rendering websites

## Accomplishments that we're proud of

* Built an efficient privacy-conscious QR sign-up flow
* Wrote a custom MongoDB driver in Go to use Azure's CosmosDB
* Recognized the needs of our two customers and tailored the delivery of the platform to their needs

## What we learned

* We learned the concept of "Collections" and "Documents" in the Mongo(NoSQL)DB

## What's next for EZPill

There are a few startups in Toronto (such as MedMe, Livi, etc.) that are trying to solve this same problem through a pure hardware solution using a physical pill dispenser. We hope to **collaborate** with them by providing the software solution in addition to their hardware solution to create a more **complete product**.
# CourseAI: AI-Powered Personalized Learning Paths

## Inspiration

CourseAI was born from the challenges of self-directed learning in our information-rich world. We recognized that the issue isn't a lack of resources, but rather how to effectively navigate and utilize them. This inspired us to leverage AI to create personalized learning experiences, making quality education accessible to everyone.

## What it does

CourseAI is an innovative platform that creates personalized course schedules on any topic, tailored to the user's time frame and desired depth of study. Users input what they want to learn, their available time, and preferred level of complexity. Our AI then curates the best online resources into a structured, adaptable learning path. Key features include:

* AI-driven content curation from across the web
* Personalized scheduling based on user preferences
* Interactive course customization through an intuitive button-based interface
* Multi-format content integration (articles, videos, interactive exercises)
* Progress tracking with checkboxes for completed topics
* Adaptive learning paths that evolve based on user progress

## How we built it

We developed CourseAI using a modern, scalable tech stack:

* Frontend: React.js for a responsive and interactive user interface
* Backend Server: Node.js to handle API requests and serve the frontend
* AI Model Backend: Python for its robust machine learning libraries and natural language processing capabilities
* Database: MongoDB for flexible, document-based storage of user data and course structures
* APIs: Integration with various educational content providers and web scraping for resource curation

The AI model uses advanced NLP techniques to curate relevant content, and generate optimized learning schedules. We implemented machine learning algorithms for content quality assessment and personalized recommendations.

## Challenges we ran into

1. API Cost Management: Optimizing API usage for content curation while maintaining cost-effectiveness.
2. Complex Scheduling Logic: Creating nested schedules that accommodate various learning styles and content types.
3. Integration Complexity: Seamlessly integrating diverse content types into a cohesive learning experience.
4. Resource Scoring: Developing an effective system to evaluate and rank educational resources.
5. User Interface Design: Creating an intuitive, button-based interface for course customization that balances simplicity with functionality.

## Accomplishments that we're proud of

1. High Accuracy: Achieving a 95+% accuracy rate in content relevance and schedule optimization.
2. Elegant User Experience: Designing a clean, intuitive interface with easy-to-use buttons for course customization.
3. Premium Content Curation: Consistently sourcing high-quality learning materials through our AI.
4. Scalable Architecture: Building a robust system capable of handling a growing user base and expanding content library.
5. Adaptive Learning: Implementing a flexible system that allows users to easily modify their learning path as they progress.

## What we learned

This project provided valuable insights into:

* The intricacies of AI-driven content curation and scheduling
* Balancing user preferences with optimal learning strategies
* The importance of UX design in educational technology
* Challenges in integrating diverse content types into a cohesive learning experience
* The complexities of building adaptive learning systems
* The value of user-friendly interfaces in promoting engagement and learning efficiency

## What's next for CourseAI

Our future plans include:

1. NFT Certification: Implementing blockchain-based certificates for completed courses.
2. Adaptive Scheduling: Developing a system for managing backlogs and automatically adjusting schedules when users miss sessions.
3. Enterprise Solutions: Creating a customizable version of CourseAI for company-specific training.
4. Advanced Personalization: Implementing more sophisticated AI models for further personalization of learning paths.
5. Mobile App Development: Creating native mobile apps for iOS and Android.
6. Gamification: Introducing game-like elements to increase motivation and engagement.
7. Peer Learning Features: Developing functionality for users to connect with others studying similar topics.

With these enhancements, we aim to make CourseAI the go-to platform for personalized, AI-driven learning experiences, revolutionizing education and personal growth.