Inspiration
We wanted to try and replicate mobile keyboard suggestions in a terminal with a neat user interface.
What it does
Provides suggestions based on what the user is typing.
How we built it
We used python with curses library for UI and a C library "Levenshtein" to quickly find distances between words.
Challenges we ran into
We had problems with some curses modules that provide very limited usage possibilities and had to work around this fact. We researched many ways of storing dictionaries and computing word distances to achieve good performance. We also tried to maximize the performance of our suggestion algorithm to reduce the terminal flicker.
Accomplishments that we're proud of
A very neat terminal user interface. Fast word lookup. Decent suggestions.
What we learned
How to implement terminal UI. Principles of auto-correction, dictionaries, and distance algorithms.
What's next for Cursed Corrector
Improve the autocorrection algorithm by precomputing and hashing prefixes.
Built With
- curses
- python


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