Development

How was MercekLab built?

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 role of Ersin KOŞAR

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.

  • 💡Vision and idea: Defined what the product would be, starting from the real needs of a school lab.
  • 🎯Requirements and priorities: Decided which features to add, and in what order; guided every step.
  • 🎨Design direction: Shaped the look of the interface, the brand name (MercekLab) and the user experience.
  • 🧪Real lab testing: Tried the software in a real computer lab; tested every release in the field and gave feedback.
  • 🎁Distribution decision: Chose to offer MercekLab to schools for free.
Philosophy: AI speeds up the code; but the human decides what is built, why and for whom. MercekLab is a product of that approach.

🧩 Technologies used

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.

🐹

Go (Golang)

Core language

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.

🪟

Windows API (Win32)

System integration

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.

🖼️

WebView2

Desktop interface

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.

📡

MJPEG streaming

Live screen

Live screen monitoring and the teacher's screen broadcast are transmitted in real time with low-latency MJPEG (multipart streaming).

🔎

UDP network discovery

Auto-detection

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.

⚙️

Windows service

Persistence

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.

🔄

Automatic updates

Distribution

New versions install themselves from the internet via merceklab.com with SHA-256 integrity verification — no need to update machines one by one.

☁️

Hostinger

Hosting

This marketing site and the update distribution channel are published on Hostinger under our own domain, merceklab.com.

🤖 AI-assisted development

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.

Anthropic Claude (Opus) Claude Code Human-directed