News for hackers. Stuff that matters.
Re:Show HN: Calenday, real-time collaborative calendars for ... by jaflo on Friday March 18, 2022 @11:54AM (#30723814)
Hi HN!

I built this website after having to recreate the same Google Sheets template over and over for different trips. This is basically Google Docs for calendars along with some other helpful features like voting and categories for trip ideas.

The website itself was built using SvelteKit with Firebase for the database and authentication, all hosted on Vercel.

Feel free to ask anything!

Re:Show HN: Calenday, real-time collaborative calendars for ... by elefanten on Friday March 18, 2022 @02:50PM (#30726018)
Thanks for sharing.

Very trivial feedback here: Calendly has gotten pretty prominent and your app’s name is so similar that I misread it as Calendly (and wondered “why is Calendly doing Show HN and what’s this about trip planning?”)

Re:Show HN: Calenday, real-time collaborative calendars for ... by benatkin on Friday March 18, 2022 @06:13PM (#30728213)
That's a good move by OP. Too bad for Calendly. I can't think of a reasonable argument that it's trademark infringement. A portmanteau with day is quite different from a -ly suffix. Levenshtein distance is irrelevant.
Re:Show HN: Calenday, real-time collaborative calendars for ... by doctor_eval on Friday March 18, 2022 @07:00PM (#30728713)
When the law for well funded companies is basically “shoot first and ask questions later” - and it is - then semantic arguments don’t matter. If it seems similar, it is similar.
Re:Show HN: Calenday, real-time collaborative calendars for ... by MetaWhirledPeas on Friday March 18, 2022 @03:56PM (#30726781)
Suggestion: the Share form should perform an invite. Instead it tells me "This email address does not belong to a registered user account". Makes recruiting your friends and family a bit tougher!
Re:Show HN: Calenday, real-time collaborative calendars for ... by jaflo on Saturday March 19, 2022 @01:16AM (#30731295)
I was too lazy to implement this at first and was also afraid of abuse, but this is a good idea, will work on it!
Re:Show HN: Calenday, real-time collaborative calendars for ... by joenathanone on Friday March 18, 2022 @02:05PM (#30725508)
Plans for monetization?
Re:Show HN: Calenday, real-time collaborative calendars for ... by jaflo on Saturday March 19, 2022 @01:17AM (#30731298)
None right now, but I was considering having a freemium model and charge for additional customization and features that do cost more like location-aware events.
Re:Show HN: Calenday, real-time collaborative calendars for ... by wuschel on Friday March 18, 2022 @05:41PM (#30727904)
Hi,

great project, and looks very neat :)

I would be very curious to hear about any difficulties when implementing actual collaborative editing. Did you have to go into CRDTs and friends?

Cheers!

Re:Show HN: Calenday, real-time collaborative calendars for ... by jaflo on Saturday March 19, 2022 @01:22AM (#30731327)
Thank you! I actually kind of cheated and didn't have to implement any of that myself because Firebase took care of it. But when I was considering how to build Calenday, those were on my mind. I had read about CRDTs on Figma's blog (https://www.figma.com/blog/how-figmas-multiplayer-technology...) and was considering using something like this to ease the burden on implementation: https://github.com/automerge/automerge
Re:Show HN: Calenday, real-time collaborative calendars for ... by wuschel on Sunday March 20, 2022 @05:29AM (#30741294)
Thanks for the links! :) I will look into automerge!
Re:Show HN: Calenday, real-time collaborative calendars for ... by asleepawake on Friday March 18, 2022 @12:16PM (#30724099)
how did you manage real time collaboration in sveltekit? are relying completely on firebase?
Re:Show HN: Calenday, real-time collaborative calendars for ... by jaflo on Friday March 18, 2022 @12:23PM (#30724199)
Correct, yes, I subscribe to the Firebase Cloud Firestore events and update a Svelte store whenever something changes. This way I only need to set up the connections once and every Svelte component can just subscribe to updates to the store.

Writing is more challenging, I haven't found a nice solution so I resort to making calls with the Firebase SDK directly (but those updates are then surfaced nicely again through the store).