easymac / vocaba

Lightspeed spaced repetition for committing newly discovered words to memory so you can start using them!
0 stars 0 forks source link

Vocaba

A lightspeed solution for remembering to use the new words you discover while reading.

Getting started:

You need to have the dictionary SQLite database that is generated by the dictionary transformer. It goes directly into the assets directory.

The app no longer runs in the browser (which can't trivially run SQLite). That's probably fine tbh but if I get annoyed by debugging on my phone I'll make an abridged developer-only dictionary that works cross-plat.

Phase 1:

The problem: I often encounter a new word when reading, infer its meaning or look up its definition, and decide I really like this word and that I would like to incorporate it into my vocabulary. Then, tragedy: I forget the word before I remember to begin using it.

I would like an app that allows me to VERY, VERY QUICKLY store a word, automatically associate its definition, and let me parse through my words VERY, VERY QUICKLY to refresh my memory.

Vocabulary learning apps exist; some of them let you add your own words if you pay; none of the existing apps are actually designed for this purpose (learning your own words) and come with such feature and UI bloat that they’re not adequate for this purpose.

What makes Vocaba GOOD:

The concept:

Tinder but for vocabulary kinda. How it goes:

  1. Open the app
  2. A word from your list that is algorithmically determined to be relevant appears
  3. You swipe:
    1. left, if you remember the definition of the word but haven’t used it
    2. right, if you remember having used the word
  4. And the next word (algorithmically selected) is shown
  5. You tap on/near the word for its definition, usage, pronunciation, what have you
  6. Buttons (maybe in a menu) exist to Like and Dislike a word, which simply makes them appear more or less often

That’s it. Dead ass simple. It’s 99% bells and whistles (elaborate swiping controls).

Word ELO:

Phase 2:

If Phase 1 execution is successful, and if Vocaba has yet unmet potential, we can consider this concept for Phase 2.

This could simply be a paid feature ($2.99?).

A word discovery / vocabulary building engine that doesn’t require you to enter your own words.

Words simply appear and you swipe on them. The premise will need to be tweaked by some small measure, as you would need to be able to quickly indicate that you already know and use the word.

This could exist in parallel to the own-words function, and also be used to add words to your own list

Need a better word than “list” to describe your collection of attempting-to-use vocabulary words.

Expo:

The following portion of this document is the default readme from the Expo framework. Leaving it for whatever usefulness it has. I'm not 100% convinced this will be the solution for us yet.

Aside from speed, the only part of this app that is of any concern is the swipe controls. I know I can make them perfectly using Framer Motion but I don't know how well that will play with React Native, or how it will compare to native components, and I've never used Expo before, or React Native, but this seems like an approach worthy of experimentation.

My first priority will be to experiment with the swipe feature. (Obviously, as Tinder has made this a universally understood interaction, many many people will have already figured this out. We'll play & test & stuff.)


This is an Expo project created with create-expo-app.

Get started

  1. Install dependencies

    npm install
  2. Start the app

    npx expo start

In the output, you'll find options to open the app in a

You can start developing by editing the files inside the app directory. This project uses file-based routing.

Get a fresh project

When you're ready, run:

npm run reset-project

This command will move the starter code to the app-example directory and create a blank app directory where you can start developing.

Learn more

To learn more about developing your project with Expo, look at the following resources:

Join the community

Join our community of developers creating universal apps.