Show HN: I made a minimalist spaced repetition tool
memordo.com
memordo.com
The idea is that you create a file format spec, perhaps even some open source libraries to operate on the file format. And then you sell a really nice GUI for editing that (perhaps a web page, perhaps a mobile app, perhaps both?).
If your format is good people will use it, perhaps create new editors for it: if you have competition on GUIs it means you succeeded :-). Some people may be willing to pay for a hosted version or an app, others will likely host it themselves, I'm sure people would donate to you, the main developer if that was the case.
I'm interested in writing two main components:
1. Information storage, with retention / etc. My initial feature scope is likely going to focus on retention (spaced rep) and storage (archiving sources), long term i want to dog food a general purpose knowledge base.
2. Data storage. Unfortunately every time i start working on the schemas for the information storage i end up reinventing so many features of general purpose data storage, like versioning, data deduplication, etc - i end up with a clone of Git :(
So i'd love to hear some words of wisdom on this subject. I imagine you - sanely - focus more on #1, but that's not an area i've obsessed about yet too much.
This whole topic does interest me though - part of the reason i'm writing the data layer is because i want a git-like behavior to be able to slice other sources of information up with the ease and safety of git. So the idea of information source interop is close to my hear - but the idea of IO with external formats has not been big on my radar.
As i make progress with the information side of things, i'll have to keep that in mind. My model embraced self-hosting and i really want to avoid information hostage. So this convo has already been valuable :)
[0] https://mochi.cards/ [1] https://mochi.cards/faq.html#how-can-i-create-my-own-mochi-f... [2] https://github.com/knubie/subs2srs
I'm working on my own flash cards app (see my other comment) and decided to do something similar. I actually want people to create tools to create new decks. I think the ideal is something like what Anki has in Ankiweb, a place to share decks with others.
[1] https://www.patreon.com/posts/bringing-ideas-36925173 (despite the URL, this is an unlocked post describing the high-level concept)
Is it possible to see the draft spec for the file format? A standards-based approach sounds great and I'd like to support this in LearnAwesome.org and perhaps contribute in development too?
So I built memordo. I focused on creating a minimalist but still productive interface for creating memory cards that supports image, latex, code and clozes. I also built a chrome extension so you can add memory cards instantly whether you are reading pdfs or wikipedia.
I learned so much coding, like rendering latex instantly in a chrome extension, or the painful complexity of wysiwyg editors. I ended up using a vue based framework called tiptap. It works as a wrapper on top of prosemirror. (https://github.com/ueberdosis/tiptap...)
Anyways, I would love to hear what you guys think about this project!
I would not pay for this but might buy it as an app on my phone.
I would be more likely to buy a subscription of you had a ton of decks on it like memrise does.
But I totally get you, that for something like learning a language it would be nice to have some predefined decks.
* Editing - Keyboard shortcuts for committing a card? Undo system in the editor would be useful. Contextual help for the icons on hover.
* Decks - Perhaps separate tab for this rather than the side panel being the only way to view them
* notifications - Avoid the alert pop up for notifications when the user does an unexpected action. Maybe the area under the CARD CREATOR title might be the place for it.
* navigation - there should be quick navigation to study or desk views always present. Having to click on the side panel, then click is a little inconvenient.
* New Cards - it's possible to get to the Card Creator without any decks created. If I want create a new deck for this card, I'd have stop editing and click the side panel. Surely typing a new deck name in the Deck form on the Card Creator would be less confusing?
You'll get two types of users coming to this app. Those who are familiar with spaced repetition apps and those who aren't. I'd recommend spending time on polishing the onboarding experience for noobie users. For the more experienced user I would expect a few features if this was going to be a more modern anki-lite, like a deck view organisable in a folder format or tags, or an undo system for the editor.
Having an exportable format is extremely important for me personally. Might be different for other people.
This is not free to use. This is useless on free. It's like tesla saying that chargers are free to use on front page, then on pricing: but only first 0.1kWh.
this is dark pattern.
Very interested in hearing your points - i'm totally new to this.
* 25 (or maybe 50) card limit, and call it something like "Try before you buy"
* 100 (or maybe 200) card limit and call it "Free"
Basically either the free tier is usable for a reasonable period of time for a reasonable subset of your customer base, or it's a "free trial" to get people setting up and seeing the value without having to enter credit card details.
If you go with the "free trial" approach, the precise wording for what you call it will be important. I put a couple of minutes thought into trying to come up with a good suggestion and "Try before you buy" isn't too bad, but there maybe a better idea.
I agree that for long term widespread usage you're going to end up with many more, but you can do something useful with 100.
I would say 250+ and no more than 1000 should be more than enough. Usually doing 20..40 new DAILY is a max if you are doing anything bigger.
I would allow users bigger db (1000..5000) but would limit to the moment they will reveal (open) 250 new cards.
You want them to create habbit. This needs more than few weeks. Completly dont worry about them using 200 or 500, if habbit do not kickin, they will leave you no matter what you offer.
p.s. my experience come from doing 20k rep spacing english. It took me around 10 years of daily doing it.
p.p.s. I paid for my 20k english course, 15 USD. that was for the app, complete 20k cards with phrases and VOICE audio. Mind it. 15 usd. Your tool would cost 10yrs125 whooping 6000 usd :)
If it's at all possible (and it is in very many cases), the vast majority of people would rather pick up an existing stack and start learning instead of spending time on creating it from scratch. Ultimately the goal is to learn and the simpler the solution, the better it is.
That is, your target audience consists of people who are not interested in pre-made stacks or who can't find any on a subject they are interested in. Try and understand who these people are, imagine their use-cases and then see how to give them enough as a hook, but without being obviously useless out of the box.
One of the options is to not limit card counts in free, but rather offer paid features that would actually justify a monthly charge - cloud storage of their stacks, shared multi-device use, ability to share stacks with other people or to use stacks shared by others (! e.g. in school setups). This sort of thing. Monthly fees should be well justified and fair.
- Pre-made decks of cards on a range of subjects available on the web ("shared decks").
- Cloud storage of cards (AnkiWeb).
- Syncing reviews between platforms (desktop app, phone, web).
[0] Full disclosure - I've used Anki daily for over 4 years now on ~30,000 cards, and I haven't tried any other tools.
This is of very varied quality though. Some decks are made by university professors that teach a class on an advanced topic, and they are top notch. Other decks are simply wrong, and questionable. This especially applies to language learning, since people creating the decks aren't proficient yet.
That's why I loved Wanikani [1]. In the end, it is just Anki with some extra stuff, but you pay for the excellent quality of the content.
$5 for unlimited and basically 25 cards for 'free' makes it quite obvious that this tool does not provide anything the market already offers.
Aren't people analysing what is already out there?
Anki/Ankiweb is free. What student will every pay $5/month for your service? No one.
I assume that you will visit your subscription numbers, your page counts for a few weeks, you will see no magic and sudden richness, and either you loos interest or you discover that someone is misusing your server through some bug and you shut it down.
I don't wanna be pessimistic, don't get me wrong, but i really want to know what your mental idea was showing it here.
If you really wanna have feedback: - Make it as simple and fast and easy to create new cards/decks - Add an IOS/Android App; Either native or PWA - Fix your unicode stuff , doesn't work everywhere just because it works on your pc - Actually teach people how to write proper cards; Your description, to be honest, is as shitty avg as any other website
And as a final point: Actually think of something which is worth $5 per Month and makes any difference to what the market already has to offer.
Would I use this for book marking formulae and research? Potentially. But would I pay for it? Sadly not.
It's a great idea, but there have to be two things to make this successful I think: a useful concept, and a tool valuable enough to be worth money.
Good luck, and don't give up!
I installed AnkiConnect add-on which allows me to communicate with Anki over a simple HTTP API and complimented it with a CLI tool which automatically fetches the audio or whatever is needed to fill in the fields for the card and adds it to Anki.
So all you have to do is open the terminal and write "add [word]". And the magic happens:
1. A card which the agent is prompted to pronounce the word, followed by the correct pronunciation.
2. A card which the agent is prompted to write down the word after hearing the pronunciation.
3. A card which requests a random example sentence featuring the word, served by a local server. (https://i.imgur.com/11E3IqE.png)
The last card is the most helpful, it provides comprehensible input in the form of unique sentences that uses that word, so you get acquainted with the word's collocations, the context in which it is used and etc.
So do I. I suspect we're not the target users of the app then.
The target user is probably someone who'd write math equations as "a^2 + b^2 = ?" instead of learning how to use LaTeX in Anki.
As an aside I wrote up why Anki doesn't work for me, perhaps you'll find something there that inspires you.
https://medium.com/@iandanforth/why-anki-doesnt-work-for-me-...
The rate limiting is a big issue and I think something can be overcome. I'm working on my own app and what I've done is made it so you can limit the number of cards you review per day. Your daily lessons will usually be some combination of overdue cards and new cards. However, if you have too many overdue cards, there's no point in adding new cards to your lesson.
I know with SRS reviewing a card "just before you are going to forget it" is a big part of why people believe it's effective. However, I think that's just an imperfect model, so I think if you push an overdue card by a day or two, it'll still be effective. (i.e. there's no reason to force someone to review cards on a given day, obviously there's a window here where if you review too far in the future, you're going to find it harder) With this in mind, I made it so if you rate limited your daily lesson, the app just pushes the overflow to the next day. I think there are also other variables that make the models imperfect (some facts are easier to remember than others, how you present the content might make it easier/harder to remember, and so on).
Regarding easy input, I'm not familiar with how easy or hard it is to input images and audio, but I made sure that my app allowed a super easy drag and drop. In general, the app should make it incredibly easy to create new cards, edit existing, and add various media. Cards are the lifeblood of the tool, so working with them should be super fluid.
As for other modalities, I think that's an interesting topic to dive into. With self-learning applications, you have to balance making the most general use cases easy. Once you started adding more complex card types, your UI is going to have add affordances to make those possible, which has the effect of making it more challenging for the novice (who just uses text, images, and audio) to use.
Anyway, to sum up, it's definitely an interesting space because you have power users who may want to pull your app one way and regular users who may pull the app another way. I think finding the right balance of features is a challenge.
I don't know many students who (1) want to use flashcards and (2) have the money to pay 5$ a month for something that isn't food/netflix/spotify/beer/rent.
I'd love to see how this works out for you, maybe I'm wrong about the target audience being the less-technically inclined but motivated students. Alternatively, if the app is good, but the pricing model is wrong, might just change it to charging something like 2,99$ per user, or per year or something like that.
The plan for my app is just to charge a one-time fee to get the app and not charge a monthly fee or anything. On top of it, the file format will be "open" (i.e. you can peek at how it works easily). Obviously that means I can't rely on a service, but there are still ways to allow people to sync their data or share decks with each other.
Who owns the content/material? Are you (the dev/owner) planning to collect these, go through them, vet them, improve them/resell them?
Are you building a knowledge base/library were you can sell to others the memory/flash-cards, and share the revenue with the creators?
What is the end-game? Is it just the hope of the $5 per month?
Agree with the others that your pricing doesn't make sense. You want to get users to the hook point of SRS. Very few people reach this point [0], and having an arbitrary card limit will only make this worse. I would provide a very generous free trial period that has all the features of the full version -- perhaps something like 60-90 days. If someone is actually still using the app at the end of the trial, they'll be really easy to convert because they see the huge benefits. The reality is, the vast majority of your sign ups will not reach that point, but a bigger proportion will if they don't have the arbitrary card limit that prevents them from seeing the real value of SRS.
Best of luck to you!
[0] There's a blog post out there from an author of free SRS software that laments how awful the conversion rates were because users just don't stick with SRS, but I can't seem to find it.
Do you support exporting your cards into a csv format?
There is no support for exporting cards, but I have noted it and will consider it in the future. Thanks again for your comment!
Basically, I want WorkFlowy for Anki notes. I should be able to organize my notes into hiearchical categories and browse them easily. Currently, it's difficult to find the gaps in your Anki deck on a given topic unless you're very careful and thorough with your tagging. And even then, only being able to view one card at a time makes it hard to quickly scan through the cards under a given tag.
Edit: I see that you're actually the creator. Thanks for making this!
I'm not the target audience, so I can't comment on the value proposition. I'll just point out a few things I noticed on the site:
- The "Free" signup button brings you to the login and not register page. Also the $5 pay link goes to login too. I used the $5 link and then clicked register. Registered and was never asked for payment. - On the register, suggest not asking for username creation unless you really need it...just use the email as the username. - The step-though-guide last step has "next" and doesn't do anything. Should be close. There are a few good step guide packages out there you might want to consider. - In the app, clicking "Upgrade" give a 500 error. - If you try to create a card before creating a deck says need to select a deck. People probably will first click on create card first, so suggest have a default deck that you can select right away. - Created a single card and says I have 2 cards when studying. I think counting both sides of the card.
No reason whatsoever why this can't be a locally hosted offline web app that uses local storage for its state. I can see some people wanting to do their exercises using several devices and for that an optional syncing service would make sense, but adding a permanent online dependency for what is inherently an offline app operating with local data makes zero sense. Even if it were free.
A few things I've found using SRS.
- I often want to practice on the go, but Anki's mobile offering isn't great for inputting new cards, or managing partial cards (i.e. I think of a sentence I don't know).
- I have a couple modes of operation. When I'm studying I'm often at a computer, so I want bulk input/output - i.e. create a lot of cards fast.
- Offline support is essential, since my study time is usually during my commute.
Anyway, congrats on launching!
Rather than seeing half-baked closed source apps like this I would just prefer more devs contributing to Anki.
That said it looks interesting, but for me personally the only big reason to switch away from Anki would be more keyboard controls so I don't need to switch to the mouse and back for some menu interactions. Then again syntax highlighting in code blocks does sound like a neat feature for some situations.
Also, it might make sense that the bar holding those links remains visible at the top... or not.
(This was in the Apple ][ days)
A basic system is to review each card after 1,2,4,8,etc days, resetting if you don't recall the answer from the prompt.
Anyway. The idea is that when you learn something, you are likely to forget it eventually, and that when you _remind_ yourself of something you've learned that postpones the likely forgetting by an amount of time that increases according to how long it was since you learned it. So if you want to learn something and retain it, you should keep reminding yourself just before you would have forgotten. Fortunately, it seems that for most of us the time we remember a thing for is somewhat longer than the time between reminders, which means that learning something this way doesn't take an unreasonable number of reminders before it's lodged in your brain long-term.
So: a spaced repetition system is a thing that helps you learn. You give it a bunch of things you want to learn; it tests you and remembers -- separately for each individual thing -- when you were last tested and how you did. If its algorithm matches your brain reasonably well, a fairly small investment of effort can help you get a lot of stuff imported lastingly into your brain.
The most common use of these things is for learning foreign language vocabulary, but of course that's by no means all you can do with them.
Maybe you did and forgot about it :-)