Inspiration

AI and the internet can be extremely useful, but they can also be dangerous, especially for children, and can easily be misused. At the age of learning foundational concepts, children are directly asking AI to solve problems for them and are consuming toxic information from social media. Most phones or apps provide parental control features, but these can be easily circumvented, and not all apps or websites have them. This inspired us to come up with a solution: Good Fone.

What it does

Good Fone is an AI-powered phone. It is currently web-based but will later be implemented in our own Chrome OS-like operating system where users can access only our apps and websites. Currently, it has AI apps including Finance Help AI, Homework AI, Personal AI, and Notes AI. It also has general apps like camera, photo, phone, weather, calendar, gallery, videos (where user queries are checked and controlled), and messages.

All of our AI apps have a voice feature where you can upload a sample voice of any person, and it will clone that voice for the AI's responses. In Finance Help AI, we collected credible sources with citations about financial knowledge and trained the model. Users can ask any question related to finance and credit cards, and they will get a response with citations and the option to generate audio. In Homework AI, it doesn't provide direct answers but guides users through the process. In Personal AI, users can name their AI, chat with it, ask for help, and share frustrations. All the responses are controlled so they can't misuse the AI and can use it for personal development and increased productivity. Finally, in Notes AI, users can upload pictures and text format notes, and our AI will generate organized notes with correct placement of pictures. Users can also request quizzes to test their knowledge.

How we built it

For the backend, we used Django to create REST APIs and Langchain to create a RAG chain for custom AI features. We used OpenAI to generate chat completions and embeddings, and Vertex AI to extract details from handwritten notes images. We used a PostgreSQL database to store data, with the PGVector extension for embedding storage. For the frontend, we used React.js with Tailwind CSS and shadcn/ui. We used ElevenAI to clone and generate voices. Auth0 was used for authentication.

Challenges we ran into

We encountered issues setting up communication between frontend and backend servers from two different computers. We initially used ngrok, which eventually failed, so we used local IP with specified ports to communicate. We also faced version dependency issues where we were using two different versions of OpenAI from Langchain and the regular OpenAI library. Upgrading one version broke the other, so we had to rewrite our code to support a single version.

We also had problems setting up the SSH connection with Raspberry Pi because the gateway for the Raspberry Pi and our computer were different, preventing us from accessing the Pi. Moreover, we didn't have a keyboard to manually generate an SSH public key, which prevented us from demonstrating on the Raspberry Pi.

Accomplishments that we're proud of

We are proud of our seamless interactive UI and the various tailored AI applications created using RAG chain. Some specific accomplishments include:

  • Voice Cloning Quality: We fine-tuned voice cloning parameters to achieve high-quality, realistic voice outputs.
  • Auth0 Integration: We successfully implemented secure authentication.
  • User Interface: We developed an intuitive UI with efficient loading states and response caching for a smooth user experience.
  • Custom Vector Storage: By using pgvector, we created a custom vector storage solution integrated with our existing PostgreSQL database, allowing for greater flexibility and faster responses.
  • RAG Implementation: We created embeddings using L2 distance for RAG implementation.

What we learned

We learned to use and setup the vertex ai, and its setup. We also learned to use the django vector with pg embedding in the postgres database. Setting up the raspberry pi as the web based os mode. Connecting the ssh connection between the computers. Learnt to use the api of eleven labs to clone the voice and render it as text to speech. Learnt to use the custom rag chain where we tailored the finance, ai and others ai. Learnt the way to make source citation for the ai generated response.

What's next for Good Fone

Our future plans include:

  • Designing our own PCB board with only required hardware & I/O for our web-based OS.
  • Writing our own copy similar to FULLPAGEOS.
  • Integrating a safe web browser to prevent illegal activities.
  • Adding features for friend requests, including confirmation and rejection.
  • Implementing calling and messaging features for friends.
  • Creating a system where parents and children under 13 years old (or older) can consent to parental monitoring, allowing parents to view a daily summary of their children's conversations.
  • Implementing an alert system for parents when children send messages related to illegal or restricted activities.

Built With

Share this project:

Updates