Cardi Notes is a side project of mine that I've been working on (and actively using) for nearly two years now. The TL;DR is that I created Cardi because I wanted something which was:
- Self managed, so I'll never lose all of my notes if some company closes its doors or decides to retire a product
- Easy to set up and use, so I don't have to manage a whole server just for keeping some notes
- Accessible anywhere, so I can make a note on my computer and find it on my phone later
As you might imagine, this ended up being pretty restrictive in terms of what options I was left with:
(1) rules out any third-party service, like Google Keep
(2) rules out a self-hosted note solution, like Joplin
(3) rules out local storage, like a set of markdown files
Thus, I was motivated to create Cardi, which solved my problem (and perhaps yours too!) by simply storing notes in a DynamoDB table in my personal AWS account, then creating a simple static frontend that uses the AWS JS SDK to directly query this table and format the results in an attractive and usable way. Though "attractive" is maybe a stretch, I'm no UI/UX developer and have been learning JS exclusively through working on this... so it is rough around the edges.
The stack is very simple -- Svelte and Tailwind for the frontend, DynamoDB for the note storage, GH Actions for CI + CD, and Netlify for hosting the static site. Each of these tools has been a real pleasure to use, and I'd choose them again in a heartbeat.
Anyway, feel free to ask any questions or suggest any feature! This project is pretty close to my heart by now so I'm open to any feedback to keep improving it :)
Hey thanks! I wouldn't say it's a hard dependency, in fact it can work with other things that are API-compatible with DynamoDB, like Scylla for example if you wanted to self-host everything:
And in terms of using something like Firestore, the storage needs of this are very simple so it wouldn't be very hard to add that in. I tried to keep all the persistence-related functionality separated off, so it is swappable:
4 comments
[ 3.2 ms ] story [ 16.9 ms ] threadCardi Notes is a side project of mine that I've been working on (and actively using) for nearly two years now. The TL;DR is that I created Cardi because I wanted something which was:
- Self managed, so I'll never lose all of my notes if some company closes its doors or decides to retire a product
- Easy to set up and use, so I don't have to manage a whole server just for keeping some notes
- Accessible anywhere, so I can make a note on my computer and find it on my phone later
As you might imagine, this ended up being pretty restrictive in terms of what options I was left with:
(1) rules out any third-party service, like Google Keep
(2) rules out a self-hosted note solution, like Joplin
(3) rules out local storage, like a set of markdown files
Thus, I was motivated to create Cardi, which solved my problem (and perhaps yours too!) by simply storing notes in a DynamoDB table in my personal AWS account, then creating a simple static frontend that uses the AWS JS SDK to directly query this table and format the results in an attractive and usable way. Though "attractive" is maybe a stretch, I'm no UI/UX developer and have been learning JS exclusively through working on this... so it is rough around the edges.
The stack is very simple -- Svelte and Tailwind for the frontend, DynamoDB for the note storage, GH Actions for CI + CD, and Netlify for hosting the static site. Each of these tools has been a real pleasure to use, and I'd choose them again in a heartbeat.
Anyway, feel free to ask any questions or suggest any feature! This project is pretty close to my heart by now so I'm open to any feedback to keep improving it :)
http://scylla.docs.scylladb.com/master/alternator/alternator
And in terms of using something like Firestore, the storage needs of this are very simple so it wouldn't be very hard to add that in. I tried to keep all the persistence-related functionality separated off, so it is swappable:
https://github.com/pickledish/cardi/tree/master/src/dynamodb
While you can run Scylla Open Source self-hosted for free, we also have a fully-managed version of our enterprise software on Scylla Cloud.
https://www.scylladb.com/product/scylla-cloud/