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

Natt

@Natt

Joined July 3rd, 2026

  • 2Devlogs
  • 2Projects
  • 0Ships
  • 0Votes
Open comments for this post

6h 35m 39s logged

Okay… this might be disappointing, but despite the hours that will be logged in this devlog, the majority of it was trying to make the Clueless invisible/semi transparent or translucent, like what Cluely or an overlay in general should be, which, despite the painful amount of hours spent on just THIS… ladies and gentlemen…. it won’t even work… so I lowk gave up… I went on to make the UI look a bit better and polish it, which was pretty simple compared to the pain I’ve been so wrongly focused on. I’ll come back to this later tho. I figured that I should focus on the features, the overall app, and end-to-end prototype first; I feel like that is more important.

Currently, the project is using gemma3:4b as an LLM. I’m not sure if I’ve mentioned it, but I’m pretty sure I was using llava before and then switched to gemma3:4b due to it being superior in general, maybe almost every way. However, I planned to include an option for changing/using you prefered LLM, but not right now; that’s for the future

Here’s how it looks now

3
0
213
Open comments for this post

3h 28m 18s logged

This is a quick rough sketch of the core idea and implementation.

So I did some research on how Cluely actually operates and also found out there are quite a few already existing projects and repos, so I studied them and every resource I could find.

As you can probably guess by the picture attached, the thing is working probably because I cannot screenshot my screen and have to go out of my way to get my phone and take a picture, which is great because, after all, that means the main selling point of Cluely, which is the undetectability, has been implemented and is working properly.

To be more technical about the current version, Clueless connects directly to Ollama, running the LLava model. In TypeScript (main.ts), I coded a stream buffer to handle split TCP chunks, stitching partial JSON responses back together on the fly so tokens render line-by-line. To make the overlay invisible to screen shares (Zoom, Discord, Teams, OBS), I hooked into the Windows Win32 API in Rust and told the Windows Desktop Manager to render the window locally on my monitor, but return a pitch-black box to any capture software trying to record the screen.

You might be wondering why I use Rust… because I’m a nerd…, just kidding…, but to be fair, I’m not even sure….

Tauri + Rust MIGHT be a good combo since it’s fast, lightweight, and modern. If I were to be more technical, I’d say it: 1. has minimal system footprint, using native OS WebViews (WebView2) instead of bundling Chromium like Electron, keeping memory usage under ~30MB RAM (vs 300MB+) so your PC doesn’t lag while doing other stuff 2. Low-Level Native OS Control: Allows direct calls to native Win32 C++ APIs (SetWindowDisplayAffinity) in Rust to hide the app overlay from screen-recording tools like Zoom, Teams, Discord, and OBS. 3. High-Speed RAM Processing: Captures, color-converts (RGBA to RGB8), downscales, and Base64-encodes high-res screenshots entirely in memory with zero disk I/O bottlenecks.

That’s the technical aspect/architecture of the current iteration right now; all it does is capture the screen and output what it sees. This is the placeholder/prototype to test the core concept/selling point for now.

0
0
47

Followers

Loading…