You are browsing as a guest. Sign up (or log in) to start making projects!

Frictionless - JARVIS

  • 1 Devlogs
  • 4 Total hours

AI Assistant, similar to JARVIS for iron man, but ran locally on my machine

Open comments for this post

4h 0m 37s logged

This is a project I have been working on the past few weeks, and well I forgot to post some devlogs, so I am combining all the time I’ve logged now, and the devlogs for roughly each one (to two) hours of work. I wrote them, but didn’t get around to publishing them.

Devlog 1:
Got Llama 3.1 8B running fully on-device — compiled llama.cpp from source with Metal GPU support so it uses my macbook pros M2’s GPU instead of just CPU. Hitting ~22 tokens/second locally, which means JARVIS can actually (surprisingly) respond fast enough to feel usable, not just technically functional. The best part: zero API calls, zero internet dependency — the model, the compute, all of it lives on my machine, so I can essentially run it anytime, anywhere. This is the foundation the whole “fully private” pitch depends on, so seeing it actually work in real time was a genuine “okay, this might actually work” moment.

Devlog 2:
Scaffolded the VS Code extension today and hit a string of small-but-real blockers back to back. The worst one: VS Code silently failed to launch my debug session with Invalid problemMatcher reference: $esbuild-watch — turns out the scaffolder had recommended installing an extra VS Code extension for esbuild’s error format, which I’d skipped (rookie mistake lmao). Also had to manuever my way out of an accidental nested jarvis/jarvis/ folder structure before it got confusing later, and forgot to import a new file I’d split code into, which quietly broke the whole build. None of these were hard once I found them — but they added up to a solid hour of “why isn’t this working” before I learned to actually read the scaffolder’s warnings instead of skipping past them.

Devlog 3:
Got JARVIS technically working — right-click, ask a question, get an answer back from the local model. Then I actually tried using it and hated it cus it sucked (to be expected this early on): responses showed up in a showInformationMessage() popup, which cut off long answers and had zero conversation history. It worked, but it felt like a demo, not a tool I’d actually reach for. So I scrapped the popup and built a proper JarvisPanel webview instead — real HTML/CSS/JS chat UI with conversation memory, which is what JARVIS actually looks like today. Lesson that stuck with me: a feature that technically works but feels bad to use is still broken.

0
0
1

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…