Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Flash Notes – Flashcards for Your Notes, LLM, iOS/macOS Sync (flashnotesapp.com)
82 points by munhitsu 8 months ago | hide | past | favorite | 25 comments
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.




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.


thanks!


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.


Thank you. I'll keep polishing the UX :)


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.


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.


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?


Noted. Bumping in the backlog. Culprit is prioritisation of the app over the website. The single dev dilemma...


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")


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.


धन्यवाद, 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.


Thanks for confirming.

Regarding tutorials; Good news - 1.4.1 release should be available in the App Store and it comes with the fix for tutorials duplicates. From now on each tutorial document have a hardcoded UUID, so when they get generated on multiple devices they still get merged into one single Document. CRDT is beautiful.

Bad news - existing users need to remove old tutorials for the fix to work. Matching old and new tutorials based on title only could cause problems for some users. Sorry.


thx - on it


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.


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.


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 ;)


@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


I like the idea! I think the mobile site could benefit from having some screenshots of the app.


This is neat. Beating myself up for not thinking that this is a great use of LLM before!


I did think of it, but my opinion is that part of the value of the flashcard for spaced repetition is in creating the card, i.e by doing the work for creating the card, you lay down the first set of tracks in your brain that the spaced repetition will deepen.

YMMV, I expect maybe other people will still find value in this.


I agree; hence, the generated cards are starting with lower score. While the typed ones are awarded a higher score.


It did feel like a Eureka moment :)


Any chance you could build for iOS 16? iPhone 8.


How large of context can it handle?


Currently it's GPT-4 Turbo under the hood, so should be enough for the use case




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: