## Inspiration

After hearing news about the state of education, we thought we had to do something about it. More than **250 million** children don't have even basic education. Knowing how important education was to us we really couldn't sit still and do nothing.

The global pandemic has decimated the already weakened education system for every country in the world. If developed countries felt the blow, you betcha that developing countries got hit the hardest.

We were inspired by Mobile Kunji, a project that delivers childbirth and post-natal care information to frontline health care workers through a simple mobile phone.

## What it does

Introducing ***smschool*** Education for all.

***smschool*** is an education system developed for developing countries. smschool allows teachers to send their classes over inexpensive cell phones. We knew we had to do something inexpensive

![App Screenshots](https://raw.githubusercontent.com/hungnguyen3/nwHacks/master/images/landingpage_2.png)
![App Screenshots](https://raw.githubusercontent.com/hungnguyen3/nwHacks/master/images/2.PNG)

![App Screenshots](https://raw.githubusercontent.com/hungnguyen3/nwHacks/master/images/4.PNG)
![App Screenshots](https://raw.githubusercontent.com/hungnguyen3/nwHacks/master/images/7.PNG)
![App Screenshots](https://raw.githubusercontent.com/hungnguyen3/nwHacks/master/images/8.PNG)

## How we built it

The frontend of the application was prototyped using **Figma** and **Photoshop** and developed using **React** while **MongoDB** was incorporated for the backend. We also used **Twilio API** to send SMS from our web app.

![MongoDB](https://i.imgur.com/AX9mIEI.png)

## Challenges we ran into

We started off using Javascript for the frontend, and we should've started off using Typescript instead. We also ran into some issues with eslint which took us a long time to troubleshoot. We choose things we weren't familiar with, thus we ran into a lot of unfamiliar problems.

Although these drawbacks did set our timeline back by a few hours, our team collaborated to resolve these issues.

## Accomplishments that we're proud of and what we learned

The functionality of our app works, we learned how to implement Twilio. In addition, we also learned how to create a drag and drop bar.

## What's next for smschool

We want to improve the UI and make sure it looks more aesthetically pleasing and that the user has a better experience interacting with our app.
Everything in this project was planned & completed during TreeHacks.

## Inspiration

Every student knows the week in a course after which nothing makes much sense. When enough "knowledge gaps" form in a course that builds upon itself, it becomes impossible to learn, and easy to stop paying attention, doubt yourself, or even switch majors.

A top-tier TED talk is Sal Khan on [mastery learning](https://www.youtube.com/watch?v=-MTRxRO5SRA). His core idea is that if we teach for mastery rather than passing, we can remedy the problems in learning caused by knowledge gaps, which grow exponentially over time.

There's lots of talk about using AI to catch cheating, to assist in grading and translation, but less about facilitating mastery learning. We want to build a tool that helps educators facilitate this seamlessly.

## What it does

Educators join Ta.ai and get a QR code students can scan to join their class. Before lecture, educators upload their slides, and as students leave lecture, they receive a few short/long-answer questions based on the slides via text, allowing them to answer at their convenience. Each answer gets a quantitative score depending on how thoroughly the student answered the question.

On the flip side, educators are able to track which students are yet to complete the questions, the cumulative % of correctness in each lecture, and the individual-level responses to each question sent out. This helps educators understand what topics need to be better communicated, and what students are failing to grasp the material.

As the class progresses, students have access to a search that provides chatGPT-style answers to their questions about course content, powered by the content of the slide decks.

## How we built it

We thought about our pain points at students, and then asked educators about theirs. We learned educators needed better ways to track student knowledge gaps. We knew that we needed an easier, more engaging way to demonstrate knowledge: text-messaging is a non-utilized and highly-convenient medium, which made it a good one to try. The product emerged from this intersection.

We used Convex as our backend, Flask to deploy functions, and Next.js as our front-end. We used Chroma, Langchain and OpenAI to generate multi-modal embeddings for the slides and conduct Retrieval-Augmented Detection (RAG.) We used Twillio to send text messages to students.

## Challenges we ran into

**Refusing to compromise front-end quality**
Coming from a startup background, we knew that the devil is in the details for product usage, and wanted to build something that was shippable and usable for real-world usage. This came with a lot of extra time spent on interaction design, animation, and hosting.

**Picking up Convex**
Had to pick up a new backend stack and then play musical chairs switching ownership and membership as only 2 people were allowed in the free tier. Stuck with it because we loved the ease of using Convex in our stack otherwise :)

**Deploying with Twillio**
Spent hours debugging a niche error which was turned out to be the need to run it locally on a specific port :(

## Accomplishments that we're proud of

* First ever hackathon for all of us!
* Shipped a lot, fast to bring the vision to life
* Lots of laughing with each other
* 20 hours of sleep between the 4 of us

## What we learned

**Don't shoot for the moon**
We originally planned to be a lot more ambitious, hoping to make embeddings for lecture recordings, and integrate the search with Canvas and Ed.

**Picking up new stacks isn't easy**
Two of us were completely new to web development 36 hours ago. Tools like v0 and Cursor make it a lot easier to learn, but the learning curve is still there!

## What's next for Ta.ai

* We're going to **expand search functionality** and data availability, by allowing search across Canvas and EdStem too.
* We've already sent a few feeler emails to run a pilot program with Stanford CS classes this Spring quarter. We'll be cold-emailing 100 more CS professors across quarter-system schools.
## Inspiration

Every year hundreds of thousands of preventable deaths occur due to the lack of first aid knowledge in our societies. Many lives could be saved if the right people are in the right places at the right times. We aim towards connecting people by giving them the opportunity to help each other in times of medical need.

## What it does

It is a mobile application that is aimed towards connecting members of our society together in times of urgent medical need. Users can sign up as respondents which will allow them to be notified when people within a 300 meter radius are having a medical emergency. This can help users receive first aid prior to the arrival of an ambulance or healthcare professional greatly increasing their chances of survival. This application fills the gap between making the 911 call and having the ambulance arrive.

## How we built it

The app is Android native and relies heavily on the Google Cloud Platform. User registration and authentication is done through the use of Fireauth. Additionally, user data, locations, help requests and responses are all communicated through the Firebase Realtime Database. Lastly, the Firebase ML Kit was also used to provide text recognition for the app's registration page. Users could take a picture of their ID and their information can be retracted.

## Challenges we ran into

There were numerous challenges in terms of handling the flow of data through the Firebase Realtime Database and providing the correct data to authorized users.

## Accomplishments that we're proud of

We were able to build a functioning prototype! Additionally we were able to track and update user locations in a MapFragment and ended up doing/implementing things that we had never done before.