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

> Source: <https://dev.to/cyberhoax/note-taking-app-with-auto-sync-leetcode-and-local-llm-model-integration-2m5e>
> Published: 2026-08-22 06:01:17+00:00

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:

- 📥 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. ⏱️
- 📊 Reports you can actually read
Daily, weekly, and monthly reports, plus heatmaps and a calendar. You see the streak, not a feeling. 🔥
- 📅 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.
- 📝 New notes
Add a problem, a pattern, or a free note the moment you need it. No export ritual.
- 🏷️ 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.
- ♻️ 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.
- 🔗 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.
- 🧠 Chat on your files
Local models, API models, or OmniRoute. Chat with @notes and /folders. Insights come from your graph, not a generic prompt.
- 🕸️ Graphs like Obsidian
Problems, patterns, and wikilinks as a real graph — not a tag cloud.
- 🐘 Postgres, not a JSON dump
Notes, submissions, chat, routines, and snapshots persist in Postgres. First run creates the database for you.
- ⚙️ 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.
- 🔍 Fuzzy search across files and folders
Title, body, properties — type a messy query, land on the note.
- ↩️ 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](http://127.0.0.1:8765)
Mac: npm run app 🍏
Repo: [https://lnkd.in/ghuwTmfK](https://lnkd.in/ghuwTmfK)
