Rules that never bend
- No excluded teachers and no unavailable periods
- No own homeroom and no blocked class
- No period in which the teacher’s own subject is examined
- One seat per teacher in a period, one teacher per seat
Made for the exams office
Enter the exam schedule, the rooms and each teacher’s conditions. Oni Proctor assigns every seat without breaking a rule, evens out the load between teachers, lets you swap by hand, and exports the roster to Excel.
Windows desktop app · Korean interface · Works offline · In development
Exam days, periods, subjects and rooms.
Subjects, homerooms and the periods each teacher can cover.
Every rule kept, the load balanced.
Swap by hand, then save as Excel.
A closer look
Follow the real interface through eight parts of the job, in the order the left menu lays them out. Click any screen to inspect it at full size.
01 / The screen
Exam setup, teachers, the assignment table, then records. Each menu splits into two or three tabs, and everything is edited in place.
New examStart a blank exam, or open the sample to look around.
Workspace menu시험 설정, 교사 설정, 배정표 and 기록, in working order. The sidebar can be collapsed.
Page tabsSuch as schedule and rooms, then mode and scoring.
Top barCurrent exam, undo and redo, license status, import and export of exam files.
Work areaCards and tables you edit in place. Chips open a picker.
02 / Schedule and rooms
A seat is a place a proctor is needed: a room in a period, or a corridor zone. Register the rooms, add exam days, then type the subject for each period and grade.
Register rooms by gradeAdd classes one at a time or several at once, then corridor zones and special rooms.
Add exam days and periodsEach day is a card with its own number of periods.
Type the subject into each cellArrow keys move between cells and Enter moves down, like a spreadsheet.
Split a cell when classes differAdd a second subject and choose which rooms each one applies to. Nothing changes until you confirm.
03 / Mode and scoring
Choose how rooms are staffed and how much each kind of duty weighs. The engine balances teachers on the score these weights produce.
Choose the proctoring modeRegular mode places one proctor per room plus corridor duty. 정/부감독 mode places a chief and an assistant, with rooms you mark as single-proctor.
Set the weightsBy default a classroom duty counts 2 points and a corridor duty 1. Any value of zero or more, including decimals, can be used.
Set reference countsLimits such as classroom duties over the whole exam or corridor duties in a day raise a warning when exceeded.
04 / Teacher list
Bring in the list, then set each teacher’s subjects, homeroom and blocked classes with a click. A preview shows how columns were matched and which rows have problems.
Bring in the listType it, paste a table, open an Excel, CSV or TSV file, use a Google Sheets link, or search a school in Comcigan’s public data.
Click a chip to set conditionsSubjects (more than one allowed), one homeroom class, and any classes the teacher must not proctor.
Set the roleMost are regular teachers. Roles such as roaming or corridor-only change where that teacher may be placed.
05 / Who can cover when
Regular teachers are available in every period unless you say otherwise. Special teachers work the other way round: they are placed only in the periods you tick.
Special teachersPart-time lecturers, non-subject, roaming and corridor-only teachers are placed in the periods you tick, and are used in those periods whenever possible.
Seat preferenceClassroom and corridor, or corridor only. A “corridor first” teacher can still cover a classroom when proctors run short.
Unavailable periodsFor regular teachers, tick only what is not possible, such as a business trip or childcare hours, with the reason beside it.
06 / Automatic assignment
One button works out the whole roster. Hard rules are never relaxed to fill a seat or to improve a score, and the same rules apply when you edit by hand.
The solver works for roughly ten seconds and returns the best roster it found. It states whether that roster was proven optimal or not. You can cancel, and the previous result is kept.
A separate checker validates every result. The summary shows seats filled, unassigned seats, count warnings and unmet placements.
A teacher’s score in regular mode is classroom duties × the classroom weight plus corridor duties × the corridor weight. “Optimal” refers to the conditions you entered: it does not mean that a condition missing from the input was taken into account.
07 / Review and adjust
Real schools have exceptions. Manual changes are held as a draft until you apply them, and every move is checked against the same rules.
Scores, empty seats and warnings, by teacher or by room.
Click two cells in the same period, or pick a teacher for a seat.
Validated and saved. Until then you can undo or cancel.
A swap or assignment that would break a rule is refused, and the reason is shown.
Changes stay in a draft state across pages until you apply them. Undo and cancel work on the draft.
Empty teacher cells can receive a duty, so a seat can be moved as well as swapped.
After a manual change, the earlier “proven optimal” label is no longer shown.
08 / Export
When the roster is settled, save it as a workbook laid out for printing, and keep the whole exam as a file you can back up.
A4 landscapeDaily rosters are laid out to print on A4 landscape. Pick which exam days to include.
By teacher, by room, or bothBoth can sit side by side on one sheet.
Full tableA full table can be added, with each teacher’s total duties and score.
Exam fileThe whole exam exports as a JSON file. An imported exam is added as a new record and never overwrites an existing one.
Before you start
The assignment engine is built into the app. Setting up, assigning, adjusting, saving and exporting all work offline, and nothing else needs to be installed.
Exam dates and periods, the subjects for each grade, the rooms, and the teacher list with subjects and homerooms.
A homeroom, role or blocked class that is missing from your source is not filled in for you. The result is only as complete as the conditions you enter.
The internet is used only when you choose to import a teacher list or timetable from a Google Sheets link or from Comcigan’s public timetable data.
Your data, explained
Based on the app’s documentation and source as of October 2026.
Each exam is saved as a file in the Windows user profile, separate from the program folder, together with the last good copy.
A damaged file is reopened from that copy and the app says so.
The app does not upload teacher or exam data. Syncing to a cloud is outside its scope.
To move an exam to another PC, export it as a JSON file.
Fetching a Google Sheets link or Comcigan’s public timetable data is a request you start.
It does not sign in to an account or keep syncing afterwards.
The assignment engine runs inside the app. The roster is not sent to a server to be solved.
Automatic saving protects against a crash, not against a lost PC. Keep a JSON export as a backup.
Release status
The app ships with a fictional exam so you can look around every screen before entering anything.
Rooms, exam days and subjects first, then the teacher list and each teacher’s conditions.
Run the assignment, read the warnings, swap where needed, then save the Excel roster.
Not yet. There is no public download. Release and licensing details will be published on this page when it is ready.
No, for the core work. Assignment, adjustment, saving and export run offline. Importing from Google Sheets or Comcigan needs a connection.
It means no better roster exists for the conditions you entered. It does not check whether a real-world condition was left out of the input.
Yes. If no teacher is allowed to take a seat, it stays empty and is reported. The rules are not relaxed to fill it.
Yes. They were captured from the app’s own interface running its built-in sample exam. All names are fictional.
This product guide is in English. The application interface is Korean.
Oni Proctor · Windows desktop app · In development