A local-first, self-hostable interview-integrity tool built for a simple reality: "undetectable" tools are not magic. Apps like Cluely, LockedIN, Interview Coder, and Parkaeet market themselves as invisible, but that is marketing fiction, not a reality, THEY ARE SUPER EASY TO DETECT. FEEL FREE TO FIND IT OUT for yourself! : )
Honrly runs on your own machine and does two things:
Self-Monitor— scans your running processes in real time and flags known AI cheating tools such as** Cluelyand Interview Coder**, plus any custom apps you add to a watchlist. Everything happens locally; nothing is uploaded.** Video Call Preview**— shows exactly how a monitored video call will look, then lets you connect a real room from a hosted provider (Daily.co)or your own self-hosted service(e.g. Jitsi via iframe).
There are no accounts, no login, and no company database. This is a clean, hackable starting point you can build on.
Interviews should reward preparation, skill, and honest effort. People put real time into studying, practicing, and showing up ready; they deserve a fair shot without being undercut by tools that try to turn cheating into a product.
Tauri 2(Rust) desktop shell** React 18 + Vite + TypeScriptfrontend Tailwind CSS**+ a small set of Radix UI primitives**@daily-co/daily-js** for the optional hosted video provider
The Rust backend exposes two local commands (src-tauri/src/main.rs
):
list_processes
— enumerates running processes (ps
on macOS/Linux,tasklist
on Windows).get_input_activity
— reports recent keyboard/mouse activity (macOS implemented).
The frontend (src/screens/LocalMonitor.tsx
) polls list_processes
every few seconds and applies simple, fully local heuristics to flag suspicious apps. Add your own rules in isSuspiciousProcess
, or add app names at runtime via the Custom Apps panel.
Open Video Call Preview and either:
Daily.co— paste a room URL likehttps://your-team.daily.co/room-name
.Self-hosted— paste any iframe-embeddable meeting URL (e.g. a Jitsi room on your own domain).
Without a URL you still get a full layout preview with mock participants and call controls, so you can see the experience before wiring up a backend.
Tip: run the
Self-Monitorin one window while a call is live to demonstrate live cheating-tool detection.
npm install
npm run dev
npm run tauri:dev
npm run tauri:build
Process scanning relies on the Tauri (Rust) backend, so use npm run tauri:dev
to exercise the Self-Monitor. In a plain browser (npm run dev
) the monitor will show a permission/availability error because the native list_processes
command isn't present.
- Node.js 18+
- Rust toolchain (
rustup
) and theTauri prerequisitesfor your OS
src/ # React + Vite frontend
App.tsx # routes: / (Home), /monitor, /video
screens/Home.tsx # landing page
screens/LocalMonitor.tsx# process scan + Cluely detection
screens/VideoCallScreen.tsx # call preview + connect Daily/self-hosted
components/ui/ # small Tailwind/Radix UI primitives + VideoCall
src-tauri/ # Tauri (Rust) backend
src/main.rs # list_processes, get_input_activity
GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE.