Hacker News new | comments | show | ask | jobs | submit login
Show HN: Kozmos – A Personal Library (getkozmos.com)
197 points by roadbeats 10 months ago | hide | past | web | favorite | 72 comments

Thanks everyone upvoted! It may look like a simple website but I spent a lot of time on this project :) Besides of programming, I shot that little video [1] in homepage, it was my first time to do voice-over :)

I created a invite code for HN, so you can sign up without wait; https://getkozmos.com/signup?code=HNEWS

Here is some brief info for HN users. It's built on Go, Elastic Search and (Pr)eact. The extensions use IndexedDB [2] to create a database [3] that users read/write, and that database gets synced with Kozmos servers. This makes Kozmos' like button work consistently, even when Kozmos is down or user has bad / no connection.

How will Kozmos monetize ? Kozmos will always be free for bookmarking privately. In the next version, I'll introduce public collections which users can use for creating nicely organized bookmark collections, and this feature will be available for only paid users.

For more details, I wrote a blog post; https://medium.com/@azerbike/introducing-kozmos-a-new-bookma...

Thank you,


1. https://www.youtube.com/watch?v=fs_OOQaJRfQ

2. https://github.com/azer/indexeddb

3. https://github.com/kozmos/likedb

Noticed a typo in the onboarding flow: http://i.imgur.com/qbXQHrR.png

Should probably be something like "Kozmos will add the <3 button to your browser..." or at least "Kozmos will add to your browser the <3 button..." (which sounds awkward but is grammatically correct)

How are you doing the classification with ElasticSearch? Are you hardcoding keywords for different preset categories, such as blogs/music, or are you doing some kind of machine learning to figure out what each person's relevant categories are?

I extract keywords from the meta tags and open graph contents.

Any chance you might add the ability for manual tags? It's a must have for me.

Hi Azer. Something in the page is causing keys to be missed on all text inputs in the page (sign up, login). It is really annoying since it prevents me from typing at normal speed, probably a rough keyup event handler doing some validation?

Some users reported that but I can't reproduce it. Here is the code of the input component; https://gist.github.com/azer/87e6919fc24ad08839e01b1ee3158b4...

It depends on where your prop is coming from - at a guess I assume you're passing the value up the chain to some ancestor who is doing a setState. This'll cause the entire tree to re-render, including this component, and will cause a lockup if you're editing while this happens.

You can probably resolve this by implementing a shouldComponentUpdate here, or just debounce change handler.

You need to debounce

Looks cool! What client-side encryption methods are you using to keep data private before it goes to the servers? Also, how are you generating the encryption keys?

There are strong critics of free bookmarking sites (@Pinboard in particular). Their main criticism is that without a revenue model, users will eventually lose their bookmarks.

What's your plan?

The other reason for charging (even a nominal amount) is to remove the spam problem.

That was the only reason I originally charged money for Pinboard.

Good luck!

Good argument, though pinboard has it's share of spam too.

A good example is this one: https://pinboard.in/t:mac

Codez4Mac is always "just submitted". It's been like this for years. All from- https://pinboard.in/u:simensol/

Or look here:

https://pinboard.in/t:app All the junk posts from heyyouapp, starting with "paid"

I find it a pity that these obvious annoyance things for us users, don't get fixed at all. It really polutes the site and I can't imagine these things to be incredibly complex to circumvent, in the whole system that Pinboard is.

Too busy taking baths filled with gold?

You can just report this stuff and I'll fix it. The top users seems to have misconfigured something, or else is posting from the far future.

I like spammers a lot because I can take their $11 and then shut down their account. Unfortunately, I don't get many.

Kozmos will be always free for private bookmarking, and there'll be a paid account for creating public collections in the second phase. Copying the details from my another comment here;

"The second phase of Kozmos will have "public collections", for example, we will be able to create a "Best Boutique Hotels in Istanbul" collection, and this will be only available for paid users. This is Kozmos' business model but I haven't explained it in the site, because collections aren't implemented yet."

Who is the target customer for this feature? Do I pay to make collections, to view them, or both? If I have to pay to view them, what would make me want to do that? If I have to pay to make them, why would I want to?

Only to create. They'll be public and available for anyone (user or not user). My target market for collections is Pinterest users.

i stopped using pinterest because they stopped displaying anything unless you were logged in. they are clearly using it as a mechanism to drive sign-ups, though - do you have any similar but less annoying plans to exploit network effects?

But Pinterest users don't pay anything to make collections?

That's why it's full of low quality content and spam :)

I wondered the same thing. I assume I'm the product (my data) if it is free, but the site also talks about privacy.

Pinboard isn't free though, you have to pay to even join and start using it.

Atroyn is referring to @Pinboard the person, who is critical of free bookmarking sites and has a history of buying them for cheap when they eventually fail.

Correct, he has a business model that prevents losing your bookmarks.

Not wanting to steal roadbeats' lunch, but as the source isn't available, if anyone wants a self-hosted solution, Wallabag 2.0 is pretty awesome[1].

[1] - https://wallabag.org/en

I first thought it was neat. Personal library, like how Streama is a personal Netflix. Then I saw it's another service owned and controlled by someone else.

Don't get me wrong, I don't know you, and im not going to assume bad behavior. But this is a treasure trove of data, and you cannot guarantee that if acquired, another party wouldn't exploit it. If it were local or on a machine I controlled, then I could guarantee data security and privacy.

Enough of my life is on the "cloud" controlled by interests that are different, and sometimes oppositional to mine.

Thank you, but no.

Kozmos saves your bookmarks into your browser first, then syncs with its server. And the database it creates in your browser is open source; https://github.com/kozmos/likedb

You can hack it the way you'd like.

Like I said, I'm not ascribing any sort of nefarious or dastardly actions by you. It's more of a gut reaction of the idea of "Cloud everything".

I'd be much more interested in running my own backend, than frontend db. Yeah, I'm a control freak, I guess. But at least my data stays mine.

I agree. In fact, i like it when new products/services offer the option to self-host for free (because code is open source), as well as the option where I can pay them to host it for me (along with a little included support). In my mind, companies that don't offer both, sort of get lumped in with the googles, microsofts, apples, facebooks, snapchats, etc. of the world. Much like other commentaries, I'm not assuming automatic nefarious behavior, but providing options like i noted above, sure goes a long way in building confidence and happy customer relations.

> Kozmos will add your browser the button, so you can bookmark easily.

Should be something like "Kozmos will add a button to your browser..."

Also, the onboarding seems buggy. I was asked to add the extension twice and then got stuck at a loading screen. Having an import feature is nice, but what format are the files supposed to be in? Just a list of URLs? If so, where do the names of the bookmarks come from?

Edit: I tried importing an HTML export of my bookmarks from Chrome which Kozmos seems to try to support. The import fails though with a 500 from the API and some additional JS errors.

Hi, I've just tested it, import service works. Would you mind sending your bookmarks to me and I'll figure out if something in the file makes the service fails; azer@roadbeats.com

Unfortunately, I don't think you can say it works when a simple HTML import fails with no error message and the UI just hangs up. I'm not doubting that it works for you, but I think the bar for "works" is higher when you're trying to build a product. Emailed you the file that fails for me and hopefully you'll be able to find a solution.

Thank you for sending your bookmarks, haven't received it yet, is it a large file ?

No, it's only ~500KB.

It was a nasty nginx permissions error, thank you so much letting me know so I solved it.

It does look like it's working now, although I see the speed shows as "B/MS". Shouldn't this be "BM/S"? The speed also seems to be useless as it says 336 B/MS but I only have ~1000 bookmarks and I've been sitting on the page for several minutes.

Seems you will charge for usage in the future ? No mentioning of a free tier ? No pricing ? I generally do not sign up for anything that is not clear on that.

Hi, private bookmarking will always be free. The second phase of Kozmos will have "public collections", for example, we will be able to create a "Best Boutique Hotels in Istanbul" collection, and this will be only available for paid users. This is Kozmos' business model but I haven't explained it in the site, because collections aren't implemented yet.

Is it possible to get a bookmarklet instead of a browser extension?

Something to note is that keypresses are often ignored in (all?) text fields. Like, I can't type "google.com" without having to repress at least 2 keys.

EDIT: There's been 2 cases where I've noticed the character is added but then subsequently deleted in the next instant. Typing faster causes more characters to go missing, and I have to type like 1 keypress a second to type "google.com" correctly.

Are you also a Windows user ? I can't figure out what's wrong as I only got OSX and Linux. Here is the Preact component I use for Input fields; https://gist.github.com/azer/87e6919fc24ad08839e01b1ee3158b4...

No, I'm using Archlinux with Firefox 54.

Oh, I'm also on Arch Linux and have no issues.

I find it weird how every bookmarking service lacks a high density list format like how browsers display it. It frustrated me so much I just made my own https://felipecortez.net/marks/felipecortez/tag/people+desig...

This is great - the like / heart button is really slick, and I love how it doesn't get in the way at all. I've used pinboard and others in the past, and the (relatively) heavier bookmarking flow would often stop me from saving things as I didn't want to break my flow.

Excited to see where this ends up!

I didn't see a place where I could actually put in an invite code?

It's in the sign up form; https://getkozmos.com/signup

What's your main differentiation from a service like Pocket?

First thing that caught me is, pocket doesn't auto-categorize as a free feature

I've been tossing around the idea of what a bookmarking solution would look like that would save a cache of the current page and possibly surrounding pages. Maybe even have the ability to highlight or make notes on the page directly. The use case would be bookmarking a page that is later updated and I was never really sure why I bookmarked it in the first place. Or possibly bookmarking pages behind a login screen.

Pretty much should be how bookmarks work anyway. The point of bookmarking is an intention to return. If the site is down or your network fails a bookmarked page should still work.

Do you plan on offering an API to add links?

Yes, I do :)

Stop asking for this kind of thing, please.

You really should provide some reasoning if you ask people to not voice their feature requests on Show HN. (FWIW, not having an API is a dealbreaker for a bookmarking service in my eyes)

The things was launched yesterday by a single person. Of course there will be an API, but do not ask for one as if it was the most important feature, the most needed, the most urgent one.

Also, when you ask for an API (I don't know if it was you who asked) you don't give some reasoning on why you think such feature is needed, so why are you asking me that?

Mind if I ask why you feel strongly about such a request? Afterall, Pinboard.in also offers an API.

Here's an honest to god question: Why are you storing your bookmarks on some random person's server? From a privacy POV it appears quite questionable, so what is the upside?

(I never once in my life thought "damn I don't have that exact URL of THING bookmarked in SPECIFIC DEVICE.)

Beautiful and very seamless slick registration + extension install experience. You deserve full marks imho!

I'm using fetching.io, which is a paid service, but it also seems like the work of one guy, and we don't use the same browsers, so I'm ambivalent about it.

I just use WorldBrain (Chrome extension). It is based on Falcon, but you perform quicksearch (wb keyword) against your history and bookmarks.

What's the trick to getting search to work on non-webpages? I couldn't find any keywords that would pull up PDFs, including elements of their bookmark name.

Who remembers Starbuck's Kozmo.com that offered free delivery? Burned through money faster than WebVan!

The documentary e-Dreams covers the demise of Kozmo. Highly recommended.

search seems to need a lot more works. Typeahead would be nice but partial match is sorely needed, eg. bus should bring up links on business and bus schedule.

just registered and installed the extension. do I always need to go to the website manually to view my bookmarks or is there a navigation point i'm missing in the extension?

Can I make a backup and export/import my bookmarks here?

The project is great! I think it needs to Machine Learning...

jfyi: site is broken. Apparently requires third party cookies.

It has no links to any third party other than Google Analytics.

This is a very strange case.

  policy                 | outcome
  deny all cookies         BAD white screen
  allow first-party-only   BAD white screen
  allow all cookies        GOOD working site

I think it has something to do with the embedded youtube video.

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