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.
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.
Also I like your pricing : 35/yr for an app you may use everyday is spot on.
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")
So, the Hindi bug has been fixed - when you have a chance - please give the 1.4.0 release a spin.
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.
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.
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.
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 ;)