# BananaExpress

A self-writing journal of your life, with superpowers!

We make journaling easier and more engaging than ever before by leveraging **home-grown, cutting edge, CNN + LSTM** models to do **novel text generation** to prompt our users to practice active reflection by journaling!

Features:

* User photo --> unique question about that photo based on 3 creative techniques
	+ Real time question generation based on (real-time) user journaling (and the rest of their writing)!
	+ Ad-lib style questions - we extract location and analyze the user's activity to generate a fun question!
	+ Question-corpus matching - we search for good questions about the user's current topics
* NLP on previous journal entries for sentiment analysis

I love our front end - we've re-imagined how easy and futuristic journaling can be :)

And, honestly, SO much more! Please come see!

♥️ from the Lotus team,
Theint, Henry, Jason, Kastan
## Inspiration

We are part of a generation that has lost the art of handwriting. Because of the clarity and ease of typing, many people struggle with clear shorthand. Whether you're a second language learner or public education failed you, we wanted to come up with an intelligent system for efficiently improving your writing.

## What it does

We use an LLM to generate sample phrases, sentences, or character strings that target letters you're struggling with. You can input the writing as a photo or directly on the webpage. We then use OCR to parse, score, and give you feedback towards the ultimate goal of character mastery!

## How we built it

We used a simple front end utilizing flexbox layouts, the p5.js library for canvas writing, and simple javascript for logic and UI updates. On the backend, we hosted and developed an API with Flask, allowing us to receive responses from API calls to state-of-the-art OCR, and the newest Chat GPT model. We can also manage user scores with Pythonic logic-based sequence alignment algorithms.

## Challenges we ran into

We really struggled with our concept, tweaking it and revising it until the last minute! However, we believe this hard work really paid off in the elegance and clarity of our web app, UI, and overall concept.

..also sleep 🥲

## Accomplishments that we're proud of

We're really proud of our text recognition and matching. These intelligent systems were not easy to use or customize! We also think we found a creative use for the latest chat-GPT model to flex its utility in its phrase generation for targeted learning. Most importantly though, we are immensely proud of our teamwork, and how everyone contributed pieces to the idea and to the final project.

## What we learned

3 of us have never been to a hackathon before!
3 of us never used Flask before!
All of us have never worked together before!

From working with an entirely new team to utilizing specific frameworks, we learned A TON.... and also, just how much caffeine is too much (hint: NEVER).

## What's Next for Handwriting Teacher

Handwriting Teacher was originally meant to teach Russian cursive, a much more difficult writing system. (If you don't believe us, look at some pictures online) Taking a smart and simple pipeline like this and updating the backend intelligence allows our app to incorporate cursive, other languages, and stylistic aesthetics. Further, we would be thrilled to implement a user authentication system and a database, allowing people to save their work, gamify their learning a little more, and feel a more extended sense of progress.
# mindr

mindr is a cross-platform emotion monitoring app, essential for every smart home. The app
is tailored to provide an unintrusive and private solution to keep track of a child's well-being during all those times we can't be with them.

## How it works

The emotion monitoring happens on a device—a laptop, or any IoT device that supports
a camera—locally. Each frame from the camera is processed for emotional content
and severely emotional distress. The emotion processing is facilitated using
OpenCV, TensorFlow, and was trained using a convolutional neural network within
TFLearn. All of the image data is stored locally, to protect a parent's privacy.

The emotional data is then sent to a Django backend web-server where it is parsed
into a PostgreSQL database. The Django web-server then serves analytical data to
a React/Redux single-page web app which provides parents with a clean interface
for tracking their child's emotional behavior through time. Distressing emotional
events are expedited to the parent by sending notifications through SMS or email.

## Who we are

We are a team of upper-division computer science students passionate about creating
useful and well-made applications. We love coffee and muffins.