MercekLab grew out of a mix of modern software technologies, AI-assisted development and real classroom experience. Here's what happened behind the scenes.
The idea, design and direction behind MercekLab belong to Ersin KOŞAR. He used AI as a powerful tool while leading the development from start to finish himself.
The goal was a lightweight, single-file, dependency-free architecture: something easy to deploy to every computer, with no need for the cloud, that runs fast on the local network.
Both the teacher console and the student agent are written in Go. Each compiles to a single standalone .exe with no external libraries, produced by cross-compiling from macOS to Windows.
Screen lock, keyboard hook, mouse/keyboard injection (SendInput), launching processes in the user session (CreateProcessAsUser), USB and desktop locking are all done directly with the Windows APIs.
The teacher console opens in a real desktop window instead of a browser (via go-webview2, pure Go). The interface is written in HTML/CSS/JavaScript and embedded directly inside the program.
Live screen monitoring and the teacher's screen broadcast are transmitted in real time with low-latency MJPEG (multipart streaming).
The teacher console finds student computers on the network by itself using a UDP broadcast; there's no need to type IP addresses by hand.
The student agent runs as a system service; it starts automatically at every boot and brings itself back up even if it is shut down.
New versions install themselves from the internet via merceklab.com with SHA-256 integrity verification — no need to update machines one by one.
This marketing site and the update distribution channel are published on Hostinger under our own domain, merceklab.com.
MercekLab was brought to life with an AI-assisted development process. Much of the work — code, system architecture, debugging and this website included — was accelerated alongside a software assistant.
Model used: Anthropic Claude (Claude Opus), via the Claude Code tool. AI was used as a tool to turn requests into code, to solve Windows-specific problems and to refine the design — the decisions and direction were always set by a human.