
Show HN: SpacedTime – Remember the important things in your life - uptownhr
https://www.spacedtime.com
======
goblin89
There seems to be an unaddressed need for a well-maintained library
implementing spaced repetition algorithms. I have seen implementations for
SM15[0] and SM2[1][2] around but nothing that provides multiple
implementations and a consistent API on top.

If there was a library like that, a tool like SpacedTime could use it easily
(currently it uses fibonacci sequences when determining how soon to recall).

[0] [https://github.com/slaypni/SM-15](https://github.com/slaypni/SM-15),
[https://news.ycombinator.com/item?id=9844613](https://news.ycombinator.com/item?id=9844613)

[1]
[https://github.com/walterscarborough/LibSpacey](https://github.com/walterscarborough/LibSpacey)

[2]
[https://gist.github.com/doctorpangloss/13ab29abd087dc1927475...](https://gist.github.com/doctorpangloss/13ab29abd087dc1927475e560f876797)

~~~
osdiab
Given that I’ve wanted to make apps for learning languages but always get lost
in the weeds of various spaced repetition algorithms - would love this kind of
open source resource. If anyones interested in making this kind of thing, I’d
love to chip in.

For example I notice it’s really common for spaced repetition algorithms to
really easily allow me to shoot myself in the face by learning too much up
front and then drowning in reviews; or to destroy myself by missing a few
days. Not sure what is out there, but some extensions I’d like as a user is to
be “I don’t want to spend more than x time per day doing this, so pace me
please”, things like:

\- the ability to specify a max “learning load” taking into account projected
reviews + new cards

\- the ability to “recover” from missed days not by seeing 1000 pending
reviews and panicking, but by saying “do an extra 10 cards a day and in two
weeks you’ll be caught up”

I’m sure I’m not the first one to think of these things but I don’t know how
to research what people have done - and if these kinds of usability things,
good documentation with clear comparisons of strategies, flexibility of use in
different environments/languages were encapsulated in a library it would be a
game changer for me.

~~~
uptownhr
I can tell you've put some thought into this :)

I'd love to contribute towards a repo to work on this.

~~~
osdiab
If I get started on one I’ll let you know!

~~~
osdiab
FYI I started an empty repo on Github and made some RFC issues to collect
ideas for what this can be - would love if you guys have any thoughts!

[https://github.com/osdiab/libremember/issues](https://github.com/osdiab/libremember/issues)

------
uptownhr
Hi Hackernews,

I created Spacedtime because I'm known to have a horrible memory. Maybe people
are kidding but I wanted to change that. There are flashcard apps out there
but I wanted to create one that is focused on creating cards for my personal
memories. My personal goal is to store and recall all that is dear to me.

Given the personal nature, I do plan on spending a lot of my time on
protecting the user's information. Today, Spacedtime does not have a server
and stores all information locally. The command-line app stores information in
a local JSON file and the web app stores into Local Storage. However, I'm not
sure what is the best user-friendly way to go about the encryption layer and
how it should be applied.

I've posted to Product Hunt, [Lobste.rs]([http://lobste.rs](http://lobste.rs))
and Indiehackers so far. I've been saving my self from posting to HN till now.
It is still an MVP but at least it is not the first version :). I've been
pretty aggressive in publishing my work.

I'm looking forward to everyone's feedback!

Best,

-James

~~~
kmorgh
How about 3rd party storage through the users own dropbox, gdrive, 1drive.
Then it's still sort of self hosted

Also easy to use same data across devices.

Not sure on the syncing strategy/performance

~~~
checker
Draw.io does storage federation to OneDrive and others pretty well.

~~~
uptownhr
i'll have to look into the drive api. If easy enough, this sounds like a plan.

------
kabacha
Anki flash cards (floss) do use spaced time learning algorithms that are also
easily adjustable to personal preference. Anki has native mobile/desktop, cli
and web clients. The big community also provides shared decks and vast plugin
ecosystem like auto text-to-speech and imagery.

I haven't seen any of these tools doing anything that anki doesn't — why not
contribute to it instead?

[https://github.com/ankitects/anki](https://github.com/ankitects/anki)

~~~
jplayer01
Anki is a very big and complex project. From what I've heard and seen, it's a
mess and the only person who groks it is the main developer. I get why most
people are unwilling to contribute to Anki. I've thought about it myself and I
decided against it, preferring to tinker on my own personal flashcard project.

It's also a very old project where it's hard to enact change that you might
want. So if you have a different vision, there's no way to realistically
implement that.

~~~
kabacha
> Anki is a very big and complex project

But it's not. Just look at the source code for card[1]. It's modern, fully
type hinted python3 code, you don't even need to know python to understand big
chunk of it.

1 -
[https://github.com/ankitects/anki/blob/master/pylib/anki/car...](https://github.com/ankitects/anki/blob/master/pylib/anki/cards.py)

------
JoeQuery
Hi there!

A couple of notes :)

* It seemed to me that the cli and the web app would be related. I had to come read your comment to realize the cli doesn't read from the web app (I also had to come here to realize it was stored locally).

* Once I started creating questions, there was no way to "log out" to get back to the splash page. So that means I couldn't see the npm install command

Good luck!

~~~
uptownhr
Thanks for the feedback. I will be adding a api connected version in the
future but will work on making that clear.

There isn’t a login so I technically cannot log you out right now. Either way
a menu in the app would be helpful to direct users back to the homepage.

------
juliend2
It looks like Anki cards. I also value spaced repetition to help me store
valuable facts in my long term memory.

I personally use my Todoist for that (Project called "Anki" where every todo
is a question and the answer is in the comments. And I can manage intervals by
using the task scheduling feature to have them appear later (depending on the
ease to remind the answer).

But I like the simplicity of your app and the logo is kinda cool also. +1 for
the command line interface. Good idea.

~~~
uptownhr
Awesome idea. I did have a chrome extension as a future feature I wanted to
work on.

------
quickthrower2
Nice, and thanks for making the CLI version, because for such personal info
(some of which might be security questions for a bank!) I'd rather not use the
web site.

On the website however it seems to make it impossible to go back. Clinking the
browser back button gets stuck in a loop after you click "Start Remembering
Now"

~~~
uptownhr
Thank you. Will take a look and fix.

------
stared
With computers, which excel at memorization, why not off-load out faulty
memory there? And use time, and brain capacity, for things that we are still
better at, or at least at fun or fulfilling? For each prompt, my first thought
was "yeah, I have it in Evernote/1Password/Google Calendar" followed by that
it makes my life easier. So basically, let's embrace our extended phenotype!

I am sure that there are people around that can flawlessly remember hundreds
of complex passwords and numbers, even ones they have used in a decade. Also,
knowing something does not guarantee that we can use that. For example, I
guess a lot of you had:

A: Honey, when is our anniversary?

B: April 20th, obviously.

A: And which date is today?

B: April 21st... oh f-.

~~~
keiferski
The ability to quickly google a piece of information != knowing,
understanding, or being able to use it in any meaningful sense.

The notion that memorization is useless or somehow not integral to the
learning process is wrong. When you intuitively know an idea, you can build
upon it and combine it with other ideas in a subconscious and long-term way.
This isn't possible if you externalize your memory to a computer.

~~~
stared
I bet you know this, quite old, quotation on memory:

"They will cease to exercise memory because they rely on that which is
written, calling things to remembrance no longer from within themselves, but
by means of external marks."

> The notion that memorization is useless or somehow not integral to the
> learning process is wrong. When you intuitively know an idea, you can build
> upon it and combine it with other ideas in a subconscious and long-term way.

There is a profound difference between memorizing sequences of characters
(passwords, ids, phone numbers, surnames, dates, particular APIs) and
memorizing concepts (which may, but not need to, use these characters as a
component).

~~~
keiferski
Sure, that quote is from Socrates about books. I don’t think he’s actually
wrong: the average person today probably is less mentally capable than ~2,500
years ago. Books are more useful as a storage device, to be sure, but
externalization does have downsides when it comes to mental cognition itself.

Don’t disagree with on the sequences of characters point, though.
Unfortunately most people don’t make that distinction and lump everything into
the ‘not worth memorizing’ camp.

------
SoulMan
I was thinking on the same line, to dump all the personal memories into cloud
not just anniversaries and birthdays but also what I promised to others and
what I observed or any decision at work so that later I can back myself up
with data. Its like a personal journal in case my memory becomes weak. There
are things like evernote but they are more of a active notes which you open
sometimes infront of others or while screensharing. I wanted something like
Date wise or tag wise. It will be great if this can have a timeline. I also
thought of making private facebook posts but for obvious reasons its not a
good idea.

~~~
uptownhr
Ah, promises are something I didn't think about but a great one!

Can you elaborate on the time-line? What do you mean by it?

~~~
SoulMan
By time-line I meant any content that is put be it promises or decisions or
even imp events like meeting someone new must be stored with a timestamp and
can be viewed in a chronological order. Something like facebook timeline, I
can jump right back to Jun 2015 with a couple of click and see what was I
thinking that time. Something we used to do in a Diary which had a page for a
day. This may also help reminding us important recurring event like Birthday's
anniversary, insurance premium without having to explicitly look for them

------
ryanmjacobs
I like the commandline interface a lot! It's really clean and I like the
formatting. I definitely plan on using this daily. Seems easy to interop
casually while in coding sessions.

I don't forsee using this for remembering my security questions. But I will
definitely use this for remembering little bits of knowledge and trivia that I
want to become second nature.

I'm a big fan of the `spacedtime list` command by the way. Looks good! Preview
here: [https://i.imgur.com/5BZygbE.png](https://i.imgur.com/5BZygbE.png)

~~~
uptownhr
Thanks for the compliment :)

------
tzm
Although a cool project, I can't help to think of this as a honeypot for bad
actors.

------
edf13
Grrr... started browsing and it took control of the back button!!! (Mobile
safari iOS)

------
KhoomeiK
It would be a shame if someone were to misuse all the data you're collecting
about people's first grade teachers and mother's birthdays. Better keep that
data safe! :)

~~~
uptownhr
Until I have security/privacy and encryption down. I am actually not storing
any data. All the data is stored locally on your machine.

~~~
KhoomeiK
Oh cool, there could still be vulnerabilities there so maybe some kind of
client-side encryption is in order? I don't have too much client-side storage
experience.

------
bobbyz
Nice, I like the website. What did you use to create it? Currently evaluating
new framework/tools to speed up my side project quality/workflow.

------
jaequery
it's like a JS port of Anki, nice!

------
jrowley
I love that this was posted on 4/20

