Get a quote
AI

Vipkurum — Question cropping and answer key matching

A preparation tool that turns a printed question booklet into individual questions. Computer vision splits the page, a language model ties each question to its answer key, and the same model drafts fresh questions from the samples already in the pool.

Category AI
Client Vipkurum · Education technology
Services AI Consulting, CMS, Web Software
Year 2026
Status Live
Role Design & development

The context

An education provider has shelves of printed question booklets and needs single questions out of them. Done by hand, that means cutting every question out one at a time and keeping its answer somewhere else. The tool splits the work in two, and the line it draws is not arbitrary: where a question ends on the page is something you can measure, while which answer belongs to it is something you have to read. Vision takes the first job, a language model takes the second and drafts fresh questions from the samples it already has. The tool was built next to Vipkurum’s content management layer.

How we work on every project

Planning

We go through how the work runs today and what you expect from the software; the scope comes out of that.

Architecture

We decide what the system is made of and where its information is kept.

Modelling

We draw the screens and the flow before any code, and start building once you have approved them.

Development

We write and hand over the software so another team could carry it on.

See our process →

What we built

  • Question segmentation

    OpenCV splits a booklet page into individual questions; the boundaries come from image processing, not from a model's reading of the page.

  • Answer key matching

    Gemini and OpenAI models tie each key entry to its question, so the key stops being a separate document and lives on the cropped record.

  • New questions from samples

    Existing questions act as samples; the model drafts new ones in the same shape and produces the matching answer key alongside each.

  • Question pool and services

    Cropped images and question records sit in MongoDB; the Python vision service is reached through Node.js from the Laravel content management side.

How we built it

  • Python
  • OpenCV
  • Google Gemini API
  • OpenAI API
  • Node.js
  • Laravel
  • MongoDB

Challenge and result

Each row is a pair: the challenge the work had to solve on the left, and how the system answers it on the right.
Challenge Result
An institution owns printed booklets but needs individual questions to assemble a new test A booklet off the shelf becomes a pool of individually cropped questions
Teachers crop questions in an image editor and type the answer key by hand Cropping and key matching happen in one pass instead of two manual jobs
One row slipping in the key turns the scoring of a whole exam wrong Each answer sits on its own question, so there is no key row left to slip
When the pool has no question for a topic, a teacher has to write one from scratch A missing question is drafted from existing samples, with its answer alongside
Leaving crop boundaries to a language model makes question edges unreliable Cropping stays with vision, interpretation stays with the model, the two do not mix

Want a system built like this?

Tell us how the work runs today and we will look at which step could move into software.