This is a submission for the Cloudflare AI Challenge.
What I Built
English has become the universal language of communication, yet many struggle to learn it, especially non-native speakers. This inspired me to create Lingo, an AI-powered English language learning app. Lingo offers basic English lessons and advanced features to help users refine their language skills.
Features
Learn: Lingo's Learn feature offers a curated selection of bite-sized English concepts, carefully crafted to help new learners grasp the basics quickly and effectively. Whether you're just starting your journey or looking to brush up on your skills, our Learn feature provides a solid foundation to build upon.
Objects: There have been countless times when I've struggled to find the right word in English for something. With Lingo's Objects feature, describing unfamiliar objects in English becomes a breeze. Simply upload an image, and the resnet-50 image classification model, will detect and identify objects, helping users learn their English names effortlessly.
Summarize: Reading lengthy texts can be daunting, especially for English learners. Lingo's Summarize feature streamlines this process by offering a quick and efficient way to summarize complex texts. Powered by the state-of-the-art bart-large-cnn model, users can easily get key information from long passages either by entering the text directly or even by uploading an image.
Grammar: Good grammar is essential for effective communication, and Lingo's Grammar feature ensures that users can polish their writing skills with ease. Our AI-powered grammar checker, leveraging the cutting-edge llama-2-7b-chat-fp16 model, provides instant feedback on grammar and spelling mistakes, helping users refine their language proficiency.
Concepts: Understanding complex concepts is made simpler with Lingo's Concepts feature. Users can explore a wide range of topics, from science to literature, with simplified explanations and visually engaging content generated by AI. Whether you're struggling with static electricity or photosynthesis, our Concept feature has you covered. For this, I have used the llama-2-7b-chat-fp16 and stable-diffusion-xl-lightning models.
Translate: For efficient language learning, nothing beats comparing sentences in your native language to English. Lingo's Translate feature allows users to do just that, utilizing the powerful m2m100-1.2b model for accurate translation. Whether you're practicing conversation or expanding your vocabulary, our Translate feature is your go-to tool.
Demo
- Home Page of the website
- Features section listing all features of the website
- Learn Page showing bite-sized concepts for new learners
- English Tenses lesson teaching tenses by examples
Object Detection page that returns the object detected from the image upload
Summarize Page allows user to either enter text or upload an image for summarization
- Grammar Page checks for spelling and grammar mistakes in the text
- Concepts Page explains difficult concepts in simple words and visualizations
- Translate Page translates various languages into English
You can find link to the website here
NOTE : If the AI tasks do not return a result please wait for some time and try again.
My Code
For creating Lingo, I went with a web application since it can be easily accessed on all devices. I used React as the frontend framework and Cloudflare Pages to create as well as deploy my project. Pages Functions also allows you to add bindings for Workers AI allowing you to seamlessly use AI in your applications.
Technology Stack:
- Frontend: React
- Deployment: Cloudflare Pages
- AI Integration: Cloudflare Workers AI
You can find the link to the Github repo here
Journey
I had never used Cloudflare before, so getting started with it took some time as well as experimentation, but I am glad I was able to deliver a functioning website that utilizes a large variety of task types. Moving ahead I wish to integrate database storage and expand the website functionality for users.
Here are all the models I used:
- Text Generation: For the Text Generation feature, I used the
llama-2-7b-chat-fp16
model.
- Image Classification: Initially I tried experimenting with the Object Detection model but the Image classification model give me better results so I finally decided to go with the
resnet-50
model.
- Text Summarization: For the Text Summarization feature, I used the
bart-large-cnn
model.
- Text-to-Image Generation: For the Text-to-Image Generation feature, I used the
stable-diffusion-xl-lightning
model.
- Translation: For the Translation feature, I used the
m2m100-1.2b
model.
Multiple Models and/or Triple Task Types
My project utilizes more than three task types
- Text Generation:
llama-2-7b-chat-fp16
model.
- Image Classification:
resnet-50
model.
- Text Summarization:
bart-large-cnn
model.
- Text-to-Image Generation:
stable-diffusion-xl-lightning
model.
- Translation:
m2m100-1.2b
model.
Top comments (2)
I wouldn’t mind using AI and tools like GPT chat to practice a language. I can’t always find a conversation partner to chat about different topics in different languages. In this regard, GPT chat is a great assistant. It often helps me with translations and finding new words. In a sense, I can learn english not only with mobile apps and a tutor but also with AI technologies.
..