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 Mac: npm run app π Repo: https://lnkd.in/ghuwTmfK