Inspiration
I've always wanted to create a typing game or speed test powered by generative AI. This long-standing interest inspired me to develop an application that brings together my passion for typing games and emerging AI technologies.
What it does
The application runs a generative model on a local Flask server to generate 10 unique sentences. These sentences are then sent to the frontend, where users can begin the typing test.
How we built it
I started by selecting a lightweight yet capable AI model that could run locally on my machine, as I just barely met the system requirements for using AI Studio. Using the model’s documentation, I ran several tests to assess its performance in AI Studio. Next, I developed a JavaScript frontend to meet the hackathon requirements. Since the model runs only in Python, I created a Flask server to host and serve the model output to the frontend.
Challenges we ran into
Most of the challenges stemmed from working with AI Studio. The first issue was finding a suitable generative model to produce sentences. While I eventually found a promising model in AI Studio's asset list, it had a critical bug that made it unusable. Despite attempting several workarounds, nothing resolved the issue. The next challenge involved deploying the model to MLflow. Every time I attempted deployment, AI Studio would lose connection—and it wouldn’t reconnect no matter how long I waited. I had to restart AI Studio repeatedly just to regain control of the notebook.
Accomplishments that we're proud of
I’m proud to have built my first locally hosted AI application. More importantly, I’m excited about learning how to work with local AI models effectively and overcoming technical roadblocks along the way.
What we learned
I learned how to use llama-cpp to run small language models locally and how to fine-tune the model’s output through configuration and prompt engineering. I also gained experience in hosting a model on a Flask server and connecting it to a JavaScript frontend.
What's next for Typing Speed Test
Next, I plan to improve the model's sentence generation by refining the prompts or adjusting the configuration to produce more targeted results. I also want to expand the project into a multiplayer typing game where users compete in real-time to type the fastest.
Built With
- css
- flask
- html
- huggingface
- javascript
- llama
- mlflow
- python
- vscode
Log in or sign up for Devpost to join the conversation.