Show HN: KittyCal – minimalist PWA calendar app for couples (kittycal.net)
I'm happy to share with you KittyCal, an installable calendar web app I made over the past two months. Existing calendar apps often focus on scheduling and require many steps to create one event. KittyCal, on the other hand, removes hourly scheduling and keeps everything on one screen.
How does it work? Just enter your email address, and we will send you a pair of calendar links (blue and red). There is no login process, click the magic link or scan the QR code to access your calendar. You can then add the page to home screen and use it like a native app.
Last year, I built a bare bones version of KittyCal for my partner and myself because we wanted a private calendar that launches instantly for casual note-taking. It's worked well for us since, and I'm hoping this multi-tenant version can benefit more people with similar needs.
Please try it out and let me know what you think!
30 comments
[ 7.6 ms ] story [ 1291 ms ] threadI understand how this is a private calendar for you, the author, but can you expand on how it's a private calendar for the rest of us?
Can you just read our content?
Drawback is that then you need to make some decisions about whether you encrypt the metadata (i.e. the times and durations of the event) or not. If you don't, well, [metadata is data](https://ssd.eff.org/module/why-metadata-matters). If you do, then the clients have to fetch everything from the server and any display/filtering/etc need to be done on the client. It's not impossible, you could look at some kind of syncing database like PouchDB, for example, but it adds complexity.
I made a similar app for a similar reason (private calendar and household data), but it's designed for folks to install and self-host. https://homechart.app.
This is the very first version, will gradually improve upon it.
N+1 calendars I have to manage.
I would like to use my preferred calendar app and sync events I share to other people via CalDAV protocol.
It’s a standard protocol that’s existed for a long time now. [1,2]
Scheduling can be a bit janky especially with remote servers (ie, outlook…). But for the most part it works. Enter e-mail of person I want to share event with and person can see it in their preferred calendar.
Even updates work pretty well. It’s a shame we have all of these protocols but nobody bothers to use them and prefer their proprietary shit (ie, discord, telegram, signal, fb, ig, …)
Why must we continue to write “solutions” for already solved problems?
[1] https://en.m.wikipedia.org/wiki/CalDAV
[2] https://datatracker.ietf.org/doc/html/rfc4791
Exactly like you said KittyCal started as a “toy” so I designed it as a private space for couples didn’t think much about integrating existing calendars. Also KittyCal intentionally gives up hourly scheduling so any event created would automatically become a full-day event if synced to external calendars.
CalDAV does seem interesting, will definitely look into it.
However, if you want to continue in the « toy » direction, supporting ics format is a good option.
.ics files are calendar files : they may contain one or multiple events (like the whole calendar) and they are easy to generate in most programming languages.
What becomes interesting is that from any calendar app you can import this ics file (which is pretty unpractical in your case) but you can also subscribe to a calendar. For this you just have to provide an url to an .ics file that your backend may generate when requested (it’s just a text file).
Of course with this solution, you get a one way sync only, for classical two way sync you need CalDAV.
12PM Lunch 8AM Dr Astro 3PM Nap and see them as
8AM Dr Astro 12PM Lunch 3PM Nap
You can trust it, both that the app won't be shut down without a notice, and that your data will not be shared / viewed by anyone else.
Launching native apps will be lots of effort though. Web apps are much easier to update, share, and customize (e.g. KittyCal has different icons for User 1 and User 2)
Hope this answers your questions.