Creating an AI powered note taking app
· 2 min read · Comments ↓
I shipped an open source local-first AI powered note taking app with sematic search, cloud sync, offline support and other features.
I’m trying to do a weekly version of SHIPPED, basically me shipping something, small or big, every week. In this version of SHIPPED, I made an AI powered note taking app
The problem
I’m sitting in my room, staring at the blinking cursor for 10 minutes straight. I want to write a blog but stuck in writer’s block.
And that’s when I got a simple idea - convert https://Novel.sh from a single page thingy to a notes app with multi-device sync and additional AI features
… And during the same time, I was introduced to Embedchain and I was like HELL YEAH! I’LL ALSO ADD SEARCH
Notes
- Should be extremely cheap to run
- Local-first, should run offline (because it’s a website lol)
- Minimal, smooth
- Sync between multiple devices, but store on-device
- Dark mode
- ability for me to RAG search through notes
- ease in writing notes
The solution
Tech stack:
- Novel.sh
- https://vaul.emilkowal.ski/
- NextJS
- Tailwind
- Typescript
- Embedchain
- GPT 3.5
- Cloudflare Workers
- Cloudflare KV
- FastAPI for embedchain server
I ran into problems with synchronisation, and I had to ask myself “What happens when local and cloud are both different?” - Give the user the option to choose one. “What should have more priority?” - Local.
there might be more stuff that i forgot, btw it’s opensource - https://github.com/dhravya/notty
soft launch #1 - no one saw this one lol
View tweet
and then I started using it on my own and kept improving it
View tweet
Explored different stuff
View tweet
… Added RAG search using Embedchain
… and five days later, I finally started getting REAL traction
View tweet
View tweet
View tweet
As of writing this, it has 107 stars.
Alright, perfect. Let’s go!
ANDDD LAUNCH!
here’s the public launch announcement
View tweet
Here’s the instagram video https://www.instagram.com/reel/C3KsHLSurBf/
From start (10am, Jan 28) to MVP (12am, Jan 28) this took 14 hours, on a day of classes 🚀 And ofcourse, then a lot of minor fixes, changes and features.
PS: i’m building these things in middle of classes and assignments. Might as well write a small post about why I do all this even though there’s no “incentive” (very few users, none paying, etc etc)
In short, I do it for the spirit of building and learning.