Made for the exams office

A full exam roster.
Fair, and checked.

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

Oni Proctor running its built-in sample exam · fictional names · Korean UI
01 Set up

Exam days, periods, subjects and rooms.

02 Teachers

Subjects, homerooms and the periods each teacher can cover.

03 Assign

Every rule kept, the load balanced.

04 Adjust and export

Swap by hand, then save as Excel.

A closer look

Less balancing by hand.
More certainty before you print.

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

The menu follows the job.

Exam setup, teachers, the assignment table, then records. Each menu splits into two or three tabs, and everything is edited in place.

Exam setup with the sample exam loaded · Oni Proctor running its built-in sample exam · fictional names · Korean UI
1

New examStart a blank exam, or open the sample to look around.

2

Workspace menu시험 설정, 교사 설정, 배정표 and 기록, in working order. The sidebar can be collapsed.

3

Page tabsSuch as schedule and rooms, then mode and scoring.

4

Top barCurrent exam, undo and redo, license status, import and export of exam files.

5

Work areaCards and tables you edit in place. Chips open a picker.

02 / Schedule and rooms

The schedule decides which seats exist.

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.

Rooms by grade and three exam days · Oni Proctor running its built-in sample exam · fictional names · Korean UI
The subject and room picker for one period and grade.
1

Register rooms by gradeAdd classes one at a time or several at once, then corridor zones and special rooms.

2

Add exam days and periodsEach day is a card with its own number of periods.

3

Type the subject into each cellArrow keys move between cells and Enter moves down, like a spreadsheet.

4

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

Decide what counts as a fair share.

Choose how rooms are staffed and how much each kind of duty weighs. The engine balances teachers on the score these weights produce.

Mode, weights and reference counts · Oni Proctor running its built-in sample exam · fictional names · Korean UI
1

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.

2

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.

3

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

Conditions come from one table.

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.

The teacher list with two special roles set · Oni Proctor running its built-in sample exam · fictional names · Korean UI
1

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.

2

Click a chip to set conditionsSubjects (more than one allowed), one homeroom class, and any classes the teacher must not proctor.

3

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

Tick the exceptions, not the whole grid.

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 teachers: periods they proctor and where they sit · Oni Proctor running its built-in sample exam · fictional names · Korean UI
Regular teachers: only the periods they cannot cover · Oni Proctor running its built-in sample exam · fictional names · Korean UI
1

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.

2

Seat preferenceClassroom and corridor, or corridor only. A “corridor first” teacher can still cover a classroom when proctors run short.

3

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

Rules first, then fairness.

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.

Gray cells show why a teacher is not free in that period, such as their own subject’s exam · Oni Proctor running its built-in sample exam · fictional names · Korean UI
Hard rules

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
Priorities

Then, in this order

  1. Place special teachers in the periods set for them
  2. Fill as many seats as possible
  3. Respect seat preferences
  4. Narrow the gap between the highest and lowest score
  5. Bring everyone closer to the average
Time

About ten seconds

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.

Validation

Checked a second time

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

Swap by hand. The rules still hold.

Real schools have exceptions. Manual changes are held as a draft until you apply them, and every move is checked against the same rules.

01 Review

Scores, empty seats and warnings, by teacher or by room.

02 Swap or move

Click two cells in the same period, or pick a teacher for a seat.

03 Apply changes

Validated and saved. Until then you can undo or cancel.

Teacher view: select a cell and the cells it can be exchanged with light up · Oni Proctor running its built-in sample exam · fictional names · Korean UI
Room view: click a seat to see who can take it and why others cannot · Oni Proctor running its built-in sample exam · fictional names · Korean UI
The validation list names the teacher, the day and the count behind each warning.
1

A swap or assignment that would break a rule is refused, and the reason is shown.

2

Changes stay in a draft state across pages until you apply them. Undo and cancel work on the draft.

3

Empty teacher cells can receive a duty, so a seat can be moved as well as swapped.

4

After a manual change, the earlier “proven optimal” label is no longer shown.

08 / Export

Print-ready Excel, and files you can move.

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.

Excel export options.
1

A4 landscapeDaily rosters are laid out to print on A4 landscape. Pick which exam days to include.

2

By teacher, by room, or bothBoth can sit side by side on one sheet.

3

Full tableA full table can be added, with each teacher’s total duties and score.

4

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

It runs on one PC,
without the internet.

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.

What you prepare

The facts of the exam

Exam dates and periods, the subjects for each grade, the rooms, and the teacher list with subjects and homerooms.

What the app does not guess

Missing conditions

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

Everything stays on your PC.
Imports are the only exception.

Based on the app’s documentation and source as of October 2026.

On this Windows PC

Exams and teachers

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.

No account

No cloud sync

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.

Online imports

Only when you ask

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 engine

Calculated on the PC

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

In development.
Not yet released.

1

Open the sample exam

The app ships with a fictional exam so you can look around every screen before entering anything.

2

Set up your own exam

Rooms, exam days and subjects first, then the teacher list and each teacher’s conditions.

3

Assign, adjust, export

Run the assignment, read the warnings, swap where needed, then save the Excel roster.

Can I download it now?

Not yet. There is no public download. Release and licensing details will be published on this page when it is ready.

Does it need the internet?

No, for the core work. Assignment, adjustment, saving and export run offline. Importing from Google Sheets or Comcigan needs a connection.

What does “optimal” mean here?

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.

Can a seat stay empty after a run?

Yes. If no teacher is allowed to take a seat, it stays empty and is reported. The rules are not relaxed to fill it.

Are these the app’s real screens?

Yes. They were captured from the app’s own interface running its built-in sample exam. All names are fictional.

Is Oni Proctor available in English?

This product guide is in English. The application interface is Korean.

Spend exam week
on the exam.

Oni Proctor · Windows desktop app · In development

Oni Proctor · Example screen