Readit News logoReadit News
Posted by u/munhitsu a year ago
Show HN: Flash Notes – Flashcards for Your Notes, LLM, iOS/macOS Syncflashnotesapp.com...
The app started as my wishful thinking that flashcards should really be derived from notes. I've been constantly writing things down and wishing to remember them. However, I never could convince myself to populate a flashcard app with them. I really tried (Anki, Supermemo), but I guess regular form filling is not for me.

So I've started experimenting with flashcards derived from structured notes. Writing the 1st MVP was fast, but productionising it was way harder. Content synchronisation when the user can work from tube/plane and use multiple devices and content is text is… not trivial. So I had to learn about OT (Operational Transformation) and CRDT (Conflict-Free Replicated Data Type), and even implemented a few iterations of CRDT in Swift. This was intellectually rewarding, but the app was not progressing. Also, when you have both app data model and CRDT in your head, you start to over-optimize - you are leaking abstractions. Thankfully, the CRDT market nowadays is pretty mature; Automerge is production-ready, and automerge-swift comes with a nice abstraction. I strongly believe offline-first apps are the future/now.

ChatGPT happened, and it felt like a perfect match for the app, as it's already text-focused. First, it was just to provide prompts for the cards, but when you turn the problem around, you realise that LLM is great for predicting other flashcards in the context of your note. So instead of downloading a premade flashcard deck, you start a new note, give it a title, and click generate. I still find it weird to watch but also mesmerising.

Other features that I think are valuable: App data sits within your iCloud account until you use Generative AI (LLM). Hopefully, we will get an API from Apple soon.

The Spaced Repetition that I've implemented is not really spaced. I wanted the app to adapt to the user. So it's focusing on sorting the card deck based on your recall and lets you practise as much as you want. I found this approach to work way better for me.

Oh, it's multilingual with text-to-speech.

Here we are; the 1st production-ready "MVP" is live. I'd love to hear your feedback.

tephra · a year ago
I think everyone working in this space (i.e spaced repetition learning, tools for thought etc) should read Andy Matuschak (https://andymatuschak.org/). There is a lot to learn from his work.
munhitsu · a year ago
thanks!
m3nu · a year ago
Been doing the same with Anki and Obsidian. E.g. via https://github.com/ObsidianToAnki/Obsidian_to_Anki

Using it for languages and IT certs mainly. I wouldn't want to manage flash cards separately, so getting them from notes is great. Nice to see something more polished and mainstream for this workflow.

munhitsu · a year ago
Thank you. I'll keep polishing the UX :)
pjerem · a year ago
Congrats, generating flash have been to me one of the few evident applications of generative AI. I’ll happily test your app.

Also I like your pricing : 35/yr for an app you may use everyday is spot on.

inatreecrown2 · a year ago
have not tried your app yet but looked at the website and wanted to give you this feedback: the text on the website screams GPT and is off-putting. Why not write what you wrote here, it is much more relatable.
shreezus · a year ago
Agreed - the language on your site is not very clear in communicating what the app is offering. Perhaps consider a video clip or screenshots, and a more clear description of features?
munhitsu · a year ago
Noted. Bumping in the backlog. Culprit is prioritisation of the app over the website. The single dev dilemma...
katspaugh · a year ago
Installed on my phone and mac, looking great so far!

I'm currently learning Hindi and have been taking notes in the class. This is a great opportunity to make flashcards out of them!

Edit: a quick bug report: it duplicated all the examples

Edit 2: it crashes when you type बे (type ब then add an "e")

munhitsu · a year ago
I've learned more about the Unicode - Unicode grapheme clusters are fascinating.

So, the Hindi bug has been fixed - when you have a chance - please give the 1.4.0 release a spin.

katspaugh · a year ago
धन्यवाद, it works!

Regarding the first bug: after installing the mobile app again, it imported all the notes again, so now I have 3 copies of each note.

munhitsu · a year ago
thx - on it
crybot · a year ago
I've been working on a similar idea for Obsidian and the obsidian-spaced-repetition plugin: https://github.com/crybot/obsidian-flashcards-llm

It's not intended to work with Anki, as I meant it to be used directly within obsidian. There's still a lot of work to do and I don't really have much time right now, but it's already quite usable if you have an openAI API key. Btw if anyone is interested in contributing he's more than welcome.

AlexErrant · a year ago
Is your "recall probability estimating algorithm" similar to FSRS's retrievability?

https://github.com/open-spaced-repetition/fsrs4anki/wiki/ABC...

If you ever feel like moving beyond the Apple market you might look into https://github.com/vlcn-io/cr-sqlite I've been using it in my own Anki-clone and am very happy with it.

munhitsu · a year ago
I still remember Piotr Wozniak's strong opinions about using ML for spacing prediction. But indeed market moves and even now SM is doing research in AI (again) https://www.supermemo.com/en/blog/ai-in-supermemo

CR-SQLITE is awesome. In my dream parallel universe OS would natively support: - file - folder - pipe - op-log and provide primitives to merge op-logs (remove duplicate entries).

Maybe CR-SQLITE could be a gateway, but it feels a bit too high level. E.g. you can't just concatenate two op-logs and leave deduplicate to something else (I might be missing something)

Android version is a roadmap candidate. Baby steps ;)

IanOzsvald · a year ago
@munhitsu gave me a demo at the weekend (I'm on Android and it is iPhone only), it seemed pretty slick and very easy to use, though I confess not something I personally need right now