๐ Inspiration
The digital divide is real, and we've seen its impact firsthand in our diverse community. Many students struggle with technology, putting them at a disadvantage in their education. We wanted to create a tool that makes learning accessible, helping ESL students not just type, but type with confidence.
๐ ๏ธ What it does
TypingUpTomorrow is an AI-powered typing tool designed for ESL students. Using age and grade level as inputs, our system generates personalized typing prompts that align with real-world learning standards. The interface prioritizes accessibility with features like high-contrast visuals and a strikethrough function for mistakes.
Through analytics, the system identifies common errors and adapts future prompts to reinforce challenging letters. After three completed exercises, users receive detailed insights on their words per minute and their most inconsistent keystrokes, empowering them to track and improve their skills.
๐๏ธ How we built it
Our system follows a structured pipeline:
User Input (age/grade) โ GeminiAPI โ Adaptive Prompt Generation โ Personalized Difficulty Scaling
We used GeminiAPI to generate tailored prompts based on the userโs grade level, ensuring that exercises progress in complexity alongside the learnerโs skills.
โ๏ธ Challenges we ran into
- Connecting the backend with the frontend for seamless communication
- Handling HTTP requests efficiently
๐๏ธ Our Accomplishments
We successfully implemented features and technologies that were entirely new to us, broadening our development skills along the way.
๐ What we learned
- How to build with React and Flask, both of which were new to us
- Effective team collaboration using a shared GitHub repository
- How to divide work into smaller, focused teams to streamline development
๐ Whatโs next for TypingUpTomorrow
- Expanding support for multiple languages
- Adding audio feedback for visually impaired users
- Enhancing the prompt generator to create more personalized and challenging exercises


Log in or sign up for Devpost to join the conversation.