Skip to content
Has’an

Has'an Employee

A desktop AI employee for accountants. It learns a job by watching you do it once, then does it on your screen and asks before anything that matters.

Status
In pilot
Scope
Accounting offices, version 0.1.7
Year
2026
Where a person decides
Before printing, sending, paying, elevated commands and any write outside the job folder.
Today: 2 jobs ran, none is waiting for approval, and the last 7 days below
RenderedWith the real screen: Has'an's Today page, captured. Demo data.

How it works

Accounting offices in Turkey run on Windows programs that have no API: ERP screens, e-invoice portals, bank statements. Has'an sits on that desktop. It reads the screen through accessibility and local OCR, clicks and types where a person would, and talks to you in a small always-on-top window while it works.

You teach it by doing. Turn on watch mode, do the job once, and Has'an writes a guide for that program. The next time, you pick the guide, say what to do, and it rehearses the steps against a map of the screens it recorded before it touches anything.

Every consequential action goes through an approval. Writes outside the job folder, money-shaped words like 'print' or 'send', and elevated commands stop and ask. The screen is read on the computer itself; a cloud model is used only with explicit consent, screenshots only with a separate one, metered per person by the company's own server.

What is built

  • Windows desktop app (Tauri 2, React 19) with a web edition for admins
  • Engine forked from OpenAI Codex, kept at zero diff from upstream by an automated check
  • Screen tools in Rust: observe and act, sealed program allowlist, action ledger
  • Watch-and-learn that writes a SKILL.md and a screen map per program
  • Local knowledge graph over the office's documents, browsed by the model with plain file reads
  • Approval queue, confirm-words list, mini window while working
  • Company server: model gateway, per-person usage and monthly limits, signed auto-updates, shared job library with admin review

What it does alone, and what waits for you.

Has'an works from a short list of permissions. Reading and typing in allowed programs runs on its own; anything with consequences stops on a card until someone presses Do it.

Has'an can

On its own

  • Read the screen, through accessibility and local OCR
  • Click and type in programs on the sealed allowlist
  • Save files inside the job folder
  • Log every action to the action ledger

Asks first

  • Print, send or pay
  • Run elevated commands
  • Write anywhere outside the job folder
  • Stop on any of your own confirm words

Never

  • Send screenshots off the computer without a separate consent
  • Call a cloud model without your consent
The rules behind every run. The program allowlist and the confirm-words list are sealed on disk; a hand-edited list turns the screen tool off.
The card Has'an shows before it acts: who it is for, the amount, 7 steps and each value it will type
CapturedThe card Has'an shows before it acts: the company, the amount, 7 steps and each value it will type. Demo data.

Recorded from the real app

One take of the English interface, unedited: the request typed in one sentence, the 7-step plan in the ERP, the cursor resting on Do it, then the Approvals page where the request waits.

RecordedDemo mode: real interface, scripted replies, no cloud model.

How Has'an sees the screen

Three readers, tried in order, all on the accountant's PC. The cheapest one covers almost everything; the last one is asked only when the first two find nothing.

  1. Accessibility tree

    Windows already names most controls: a menu, a text field called Supplier, a button called Save. Has'an reads that tree first. It is exact, instant, and free.

    12 controls named: menus, fields, buttons
  2. Local OCR

    Custom-painted grids and old report screens expose nothing. For those regions Has'an runs Windows OCR on the pixels and gets the text back with its position. Still on the PC.

    12 rows read from a grid with no names
  3. Local vision model

    When both come back empty, a stamp on a scanned invoice or an icon with no name, Has'an asks a 4B vision model that runs on the same computer. The slowest path, and the one used least.

The screen is read on the computer itself; screenshots leave it only with a separate consent.

The cloud model is used only with explicit consent, and the company server meters it per person.

Where it runs

Three places, each with one job. The screen stays on the PC, the company server keeps count, and the cloud model is used only with consent.

The 3 places Has'an touches and what each one holds

Screens

Today: 2 jobs ran, none is waiting for approval, and the last 7 days below
CapturedFig. 1 Today: 2 jobs ran, none is waiting for approval, and the last 7 days below. Demo data.
A new chat with the request typed in one sentence: enter Kuzey Yıldızı's e-fatura purchase invoice into the ERP
CapturedFig. 2 A new chat with the request typed in one sentence: enter Kuzey Yıldızı's e-fatura purchase invoice into the ERP. Demo data.
The plan: 7 steps in the ERP, each value it will type, and a warning on values taken from a document
CapturedFig. 3 The plan: 7 steps in the ERP, each value it will type, and a warning on values taken from a document. Demo data.
The end of the plan, read to the last step, with Do it and Cancel
CapturedFig. 4 The end of the plan, read to the last step, with Do it and Cancel. Demo data.
The Approvals page: one request, 7 steps, ₺48,920.40, waiting for a decision
CapturedFig. 5 The Approvals page: one request, 7 steps, ₺48,920.40, waiting for a decision. Demo data.
History: chats, job runs and job builds, newest first
CapturedFig. 6 History: chats, job runs and job builds, newest first. Demo data.
The shared library: jobs and learned tasks from the office, each with who shared it
CapturedFig. 7 The shared library: jobs and learned tasks from the office, each with who shared it. Demo data.
My jobs, at the ready-made finance jobs: a check before a batch payment, credit limits and upcoming payments, a cash report from bank movements, loan payment plans, each with what you give and what you get
CapturedFig. 8 My jobs, at the ready-made finance jobs: a check before a batch payment, credit limits and upcoming payments, a cash report from bank movements, loan payment plans, each with what you give and what you get. Demo data.
Define a new job: describe it in your own words, review the plan, then run it
CapturedFig. 9 Define a new job: describe it in your own words, review the plan, then run it. Demo data.
Teach by showing: pick the program, say what you will show, then record with consent
CapturedFig. 10 Teach by showing: pick the program, say what you will show, then record with consent. Demo data.
The mini window while Has'an works: waiting for your approval, with Stop always in reach
CapturedFig. 11 The mini window while Has'an works: waiting for your approval, with Stop always in reach. Demo data.

Facts

Automated tests
7,100+
Merge gate
30 steps, all green before main
Perception order
Accessibility, then local OCR, then a 4B local vision model
Screenshots leaving the PC
Only with a separate consent
Updates
Signed, from our server; installs when idle, never on exit

Shipped

What went live, with the date. Newest first.

  1. Shared job library on the company server: share, admin review, add to your own jobs. Web edition flows (18) joined the merge gate.

  2. Confirm-words list: 'print', 'send' and your own words stop the screen tool and ask. Sealed on disk; a hand-edited list disables the tool.

  3. Connected accounts: the platform makes the API call, the model never sees the token. User MCP servers available in chat and in the builder.

  4. Signed auto-update from the company server, verified end to end: 360 MB upload in 1.5 min, download and signature check in 16 s. Installs when idle, never on exit.

  5. First outside users on the live server: chat, vision and transcription metered per person with a monthly cap.

  6. Windows installer with the cloud-consent question, local Whisper by default, and the first end-to-end tests of the desktop app.

Bring us a job that runs on a screen.

We are looking for accounting offices to pilot Has'an on their real e-invoice, bank statement and ERP work, on their own Windows computers.

Ankara, Türkiye