Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

wrufay/devdex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

38 Commits

Repository files navigation

devDex 𓏡‧+ ̊ β”Š flashcards tui, for devs

hey dev... how's it been?

no no, not your code, work, or side projects. how have YOU been.

how long has it really been since you tended to:

༝ that language you've always wanted to learn

༝ the scriptures you can never seem to memorize

༝ those niche interests that just never get your time Μ‡β—  Μ‡

i get you with the grind but... there's more to life than that llm 😭


and more to the terminal than meets the command line.

with devDex, review + learn + memorize all without leaving your favourite text editor.

powered by spaced repetition, it's like Anki - but integrated seamlessly into your everyday workflow. building up here 🧠 and down here πŸ’» in parallel.


➜ the motive behind the meta

llm thinking time: why scroll when you can flip?

reduce friction: no resistance. take a break from building, coding & spend 2 minutes on something you wanna master.

minimalist: no gui, no popup window, no browser. a text-based user interface is enough to get those gears turning and that streak burning


κ•€ features

  • cards and decks - traditional front and back. create, review, update, delete; full CRUD, Deck's Version

  • spaced repetition - the meta for active recall. each card is scheduled so it comes back right before you'd forget it. all for less cramming, more remembering!

  • review sessions - pick a deck, go through what's due, respond with how well you knew it.

  • saved to the cloud - log in with GitHub. your cards are for you, and with you - wherever you go.


κ•€ built with:

  • Node.js runtime
  • neo-blessed ui
  • Supabase - GitHub OAuth + Postgres auth and db
  • SM-2, hand-rolled spaced repetition algorithm

κ•€ under the hood, explained

SM-2 algo every card carries four numbers: repetitions, ease_factor (starts at 2.5), interval, and next_review. when you rate a card:

  • again (forgot) β†’ the card resets, you see it again tomorrow, and its ease takes a hit.
  • hard / good / easy β†’ the interval grows 1 day β†’ 6 days β†’ interval ×ば぀ ease, and the ease nudges up or down based on how it felt.

so the harder a card is for you, the more often it comes back; the easier it is, the longer it rests.

GitHub OAuth devDex spins up a mini local http server on localhost:54321, opens GitHub in your browser, catches the redirect, and trades the code for a session (PKCE flow via Supabase). the session is cached to ~/.study-terminal/ so you stay logged in between runs.

Supabase Postgres. two tables (decks, cards) with row-level security, so you only ever see your own stuff. each card's scheduling state lives right on its row, so "what should i study today?" is just a query for what's due.

neo-blessed. the whole thing is a TUI: centered panels, sky-blue borders, arrow-key lists, fully keyboard-driven. handles terminal resize, runs anywhere a terminal does.


⌞ ⌝ nav tips

where keys
everywhere arrow keys + enter to navigate Β· ctrl-c to quit
decks enter open Β· n new deck Β· e rename Β· d delete (twice to confirm) Β· esc back
inside a deck n new card Β· e edit Β· r review Β· d delete card Β· esc back
new / edit card type the front, enter, type the back, enter to save Β· esc cancels
review space / enter to flip Β· then rate: 1 again Β· 2 hard Β· 3 good Β· 4 easy

run it πŸƒβ€β™‚οΈ

too simple. clone -> nav in -> install -> start.

git clone https://github.com/wrufay/devdex.git
cd devdex
npm install
npm start

want to type devdex from anywhere instead of npm start? link it once:

npm link
devdex

first run opens GitHub to sign in. once you approve it, come back to your terminal & you're ready to go!


something to ask, suggest or contribute?

lmk, i'm all ears Μ‡α΄— Μ‡ f26wu@uwaterloo[dot]ca

About

flashcards in terminal yay

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /