DEV Community

Raunak Tamang
Raunak Tamang

Posted on

note taking app with auto sync leetcode and local llm model integration

I built this app over the weekend as a side project. πŸ› οΈ
The problem was simple: after I submit on LeetCode, going back and forth to write notes and save them is painfully manual. I wanted one place for those notes β€” and an automated flow that already talks to Obsidian, because I already have a lot of files sitting in my vault.
So in two days I ran a hell of a lot of things and shipped Daily Routine β€” a local SDE-2 / SDE-3 workspace (macOS app + web). Notes, keys, and the database stay on your machine. πŸ’»πŸ”’
What landed:

  1. πŸ“₯ LeetCode β†’ notes, automatically Add your username + LEETCODE_SESSION. Every new submission is pushed into the app as a file. If that problem already exists, it appends the new solution with tags β€” it does not overwrite. It polls every hour. ⏱️
  2. πŸ“Š Reports you can actually read Daily, weekly, and monthly reports, plus heatmaps and a calendar. You see the streak, not a feeling. πŸ”₯
  3. πŸ“… Multiple routines, on Apple Calendar Create more than one routine. Push them to Apple Calendar so the plan is on your phone, not only in the app.
  4. πŸ“ New notes Add a problem, a pattern, or a free note the moment you need it. No export ritual.
  5. 🏷️ Extra properties Add your own fields on notes β€” text, number, date, select, multi-select, checkbox, wikilink. Difficulty, Status, Pattern, next revision… or whatever schema you actually use.
  6. ♻️ Restore deleted files from snapshots Trash is not gone. The latest 10 deletes are snapshotted. Restore the note or folder from Settings β€” including the tree around it. Permanent delete only drops the snapshot.
  7. πŸ”— Obsidian sync Vault write-through both ways. The files you already created in Obsidian come in. Edit in the app or in the vault β€” markdown stays the source of truth.
  8. 🧠 Chat on your files Local models, API models, or OmniRoute. Chat with @notes and /folders. Insights come from your graph, not a generic prompt.
  9. πŸ•ΈοΈ Graphs like Obsidian Problems, patterns, and wikilinks as a real graph β€” not a tag cloud.
  10. 🐘 Postgres, not a JSON dump Notes, submissions, chat, routines, and snapshots persist in Postgres. First run creates the database for you.
  11. βš™οΈ Settings that matter App theme, markdown / code theme, Obsidian + LeetCode sync, extra properties, trash restore, and LLM provider config (local, API, OmniRoute) in one place.
  12. πŸ” Fuzzy search across files and folders Title, body, properties β€” type a messy query, land on the note.
  13. ↩️ Backlinks Every note shows what points at it. Forward links and backward connectivity, the way a Zettelkasten is supposed to work. Give it a go. Fork it. See it for yourself. πŸ‘€ Happy to take feedback β€” or any feature you wish this had. Web: npm run dev β†’ http://127.0.0.1:8765 Mac: npm run app 🍏 Repo: https://lnkd.in/ghuwTmfK






Top comments (0)