HNHacker News
TopNewBestAskShowJobs

AndreRauh

57 karma · joined December 10, 2014

Founder: www.soyoulearn.com
submissionscomments
AndreRauh··on Ask HN: What has HN given you?
25k signups from just HN? That's a lot more than I expected. My startup was on HN frontpage for 22h last Friday and until now (3 days) it gave me ~9k unique visitors and ~1900 new signups. Since before I only had ~30 users the HN post was by far the best driver of signups so far. So I'm super happy and have been working a lot on it.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
You can discard a card during initial learning and also during review. This will however remove it so it won't ever come around for review. Not sure if that's what you want? I don't currently support "claim known" during learning, though implementing it would probably be pretty easy.

I don't currently have an option for multiple choice learning. That's something I might do in the far future.

AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
It just uses javascript navigator.languages object by default. :)
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
It does not currently and it's not a priority for me right now. Can you contact me by email? I'm curious about your app, maybe we can work something out.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
I'd still use CLJS. Just fighweel alone is worth it. I can see any code change in <1s and have the exact same UI state. It's just much faster for developing.

Interop is not bad, I don't do too much interop. I don't use npm-deps but just bundle the React builds separately and include them in the HTML. They rarely change and I set caching header to immutable so the browser will just read them from memory (my CLJS app changes multiple times a week). If you want to use a lot of NPM deps I'd recommend shadow-cljs, there has been a lot of development by the maintainer and it seems to work incredibly well for NPM deps. Feel free to ping me on the Clojure slack, there is also a beginners channel that is very active. And there is a shadow-cljs channel where the maintainer will quickly respond.

AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
I'm having trouble reproducing this. Could you contact me by email and tell me the exact steps?
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Frontend is ~25k LOC Clojurescript: Rum + Datascript + React.

Backend: Cassandra + Datomic + Elasticsearch + Redis + Clojure.

SAAS: Mailgun, Datadog.

Editor: Cursive IDE (hands down best Clojure editor)

AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
There is currently no way to manually test yourself on a course part. You now just learnt them and if you come online now you should see those flash cards due for review. Then depending on if you answer them correctly or wrong they will come around again in 4-6h or 2-3days.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Please use the category "Engineering". Categories are currently hard coded and some have special handling in front-side code so categories will have to be manually requested.

I think Latex support is interesting. I could lazily load it and then render it. Something to think about for the future...

AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Datomic is awesome! I'm loving it. I'm using the "Pro Starter" edition with a single transactor + 2 Cassandra nodes. Only thing I disliked was that ref-many are unordered (a set).

I have not considered Titan, I looked into JanusGraph the other day but I have intention to switch.

I dabbled in RN + CLJS a few weeks ago and got some toy screens running. So: Yes I'd use that stack for a native app!

AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Absolutely! This is actually one of the key differences from other SRS software. Ie. you can search the central DB for flash cards and just "add them to the learn queue" or "Claim known". Check out the video on my landing page at 4m:40s for how to do it.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
No, the currect feature set will remain free forever! I will offer additional features for premium. I anticipate similar prices to my competitors which should be $8-$10/month or $40-$60/year.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Good catch! I'll fix this asap
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
My own custom one actually. I wanna get more data however to improve upon it. Right now I don't claim that it's better (or worse) than the existing ones.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
UX is not my strength, for years before this I was doing fulltime math + MATLAB :). But it's improving! Yes, it was even worse than it is now not too long ago :o
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
There is actually a CSV import at "Create flash cards" in SYL. Obviously no pictures/audio importing possible. But it's nice for some bulk data.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
The entire cedict.org Chinese-English dictionary is available on SYL (it's over 115,000 flash cards) including traditional chinese (I want to do Japanese very soon). Make sure to watch the video on the landing page, it goes into a lot of the hidden features that I offer. And thanks, I worked A LOT on optimizing the performance of the SPA (size and speed).
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
I actually did hit the rate-limiting on my server :) But yeah, I then also hit your HN rate limiting for my account. Thanks for the quick fix!
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
They cannot currently. My goal right now is to avoid too much fracture and try to build a high quality central DB with lots of audio/image files and the right synonyms and (not yet impl) linked example sentences. Though, I can probably see the value in private forks flash cards (as well as courses!) but it's not a near term goal (gotta focus on more core stuff).
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
I have a different model than most existing spaced repetition algorithms that's more of a continuous model (I currently just sample it to get a due/"not due"). I actually worked a lot on it at the end of my PhD in signal processing (not publish research). But the idea is relatively simple to explain:

1. Let's assume: The flash card isn't new. You last review was 100 days ago.

2. It is due in 3 days but you have some extra time today! You have only 10 cards to review but but have some extra time right now and you're are gone for the weekend.

3. It shouldn't matter if you review the flash card today already even though it's only due in 3 days. If it ends up being 100 or 103 days... It doesn't matter. It's all just a probabilistic model anyways with much larger errors.

4. So in premium: After you've reviewed your most pressing/recently-learnt ones you can keep going and pre-learn your old ones.

There is a few more ideas I have but this is basically it.

AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
There is currently no download option for the DB. I had to focus on other stuff. Though, most of the 1.8M flash cards that I currently have are under a Creative Commons SS BY licenses. So you can certainly reuse them.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Thanks! I love tooltips so that's why they're everywhere :) I'll have to think about if I want to remove them from the menu or make them slower.

Yes, enter should submit the form. I think I had `onSumit` defined at some point but it gave me issues so I reverted it. I'll look into it again and make sure it works. And yes, please feel free to contact me!

AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
No there is not. I have kind of the feeling that Anki users are tough to convince to switch to an online platform (judging by comments I've received so far). It's tough since you'd have to find a corresponding flash card for each flash card in Anki. But if there was enough interest I'd probably see what I can do. Maybe just provide a JS API so users can write an import script? Just a thought, not a promise.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
I'd probably suggest animated webp. They're super small so they're fast to load. Browser support is limited but since it'd be specific to a course... User will just have to live with it. I do currently create webp for every png/jpg upload but I'm actually not sure if I accept webp uploads. What do you think? Whould that help you? Please do reach out per email, I'm definitely interested in supporting sign languages. That'd definitely be prioritized since I think it's important.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Thanks. I actually already implemented comments on "change request" on the server and a bunch of the handling there but haven't completed the implementation.

It does not yet use PWA, though I'm intending to add it, so that I have offline support. It does however work pretty well on mobile right now. The entire SPA is rather small ~180KB (+ React). On my old phone it refreshes the entire app (initial load is slower) in 1 to 1 1/2 seconds. Reviewing on the phone is pretty good and I use it myself.

The course you're learning will be under "notebook". My course is really only the courses you created.

AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Yes, something is wrong. I'm debugging it with my Clojure REPL right now...

Edit: Fixed, Rate limiting was hitting for some reason. :/

AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Sorry to hear that. I know it's a bad excuse but: I don't own any Apple products so I haven't tested IPhone or iPad. Though I did test a MacOS VM with Safari. Can you try to use firefox for now? I'll try to borrow an iPhone soon and debug the problem in the next few days. Sorry about that.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Sorry, which username are you trying? I have a blacklist but I didn't check every single entry in it.
AndreRauh··on SoYouLearn – A flexible and advanced spaced repetition platform
Founder here. Note: This is spaced repetition. I bootstrapped this over the past 1 1/2 years.

A few key differences:

- A central DB (it has over 1.8M flash cards) which anybody can edit. Card owner can accept/reject the change request.

- Courses are just references to flash cards, nothing else.

- You decide what you want to learn "Display me field X,Y,Z and prompt me to enter field 'A'. You can choose any field/audio)

- Efficiently add bulk audio to a course

- A super fast UI (it's an SPA)

I have a few ideas for premium which (as far as I know) would bring features that don't exist yet for any spaced repetition platform:

- Prioritized learning (learn the most pressing ones)

- In advance learning (You'll be gone for the weekend, but it's Friday and you have 1h time: You can prelearn "long term" flash cards that'd come around over the weekend).

Also for some tech background: Frontend is pure Clojurescript + Datascript. Backend is Clojure, Cassandra, Datomic, Elasticsearch. I'd use the tech stack again, hands down.

The best introduction is the video at the bottom of the landing page it show all the features. There are only few courses right now so early adopters should (hopefully) be willing to create their own courses.

Questions welcome.