Skip to content
Experience

Juristic · Engineering case study

Modernising OCR

Moving OCR towards a dedicated service with multilingual support.

My role
Technical ownership of the OCR service investigation and implementation
Team
Full-stack Developer in a seven-developer product team
Technologies
Python · C#/.NET · Terraform · Scaleway · Containers

Document processing · target architecture

Today

  1. Document upload

  2. C#/.NET document service

    OCR inside a broader flow

  3. Searchable document

Target

  1. Document upload

  2. C#/.NET document service

    Delegates OCR

  3. Python OCR service

    Dedicated, independently scaled

  4. OCR vendor

    Multilingual, Danish first

  5. Searchable document

Container deployment

Long-running, predictable warm performance

Function deployment

Operational simplicity, cold starts and limits

Both evaluated on existing Terraform and Scaleway patterns.

The target path is not live yet.

01The problem

What was wrong, and why it mattered.

OCR ran inside a broader C#/.NET document flow. A dedicated service is easier to scale, tune and maintain on its own, and to extend to more languages, Danish in particular.

My responsibility

I am investigating and building the dedicated OCR service and its deployment, working across Python, the .NET document services and platform infrastructure.

02Constraints

What the solution had to respect.

  • Integrates with the existing commercial OCR vendor
  • Multilingual, with Danish as a priority
  • Fits the existing Terraform and Scaleway patterns
  • Reliable on real-world documents
  • No regressions in the document pipeline

03Technical approach

How I am building it.

  1. 01Investigated a dedicated Python OCR service
  2. 02Integrating with the existing OCR vendor
  3. 03Planned multilingual support
  4. 04Evaluating container and function-based deployment
  5. 05Built representative document fixtures
  6. 06Validated packaging and deployment requirements

04Decisions and trade-offs

The calls that shaped it.

  1. 01

    Give OCR its own service

    Separate OCR from the broader document service.

    The trade-off

    One more deployable, in exchange for independent scaling, tuning and ownership.

  2. 02

    Container or function

    Both are being evaluated against real documents.

    The trade-off

    Operational simplicity and cost against cold starts and runtime limits.

  3. 03

    Fixtures before speed

    Representative documents validate correctness before any optimisation.

    The trade-off

    Slower to the first benchmark, and benchmarks that mean something.

05Systems touched

Across the stack.

  • C#/.NET document services
  • Python OCR service
  • OCR vendor integration
  • Terraform
  • Scaleway
  • Platform services

06Outcome

Where it stands.

The dedicated service is being built and reviewed. Performance results will be added once they are measured.

Described at a public level of detail. No customer names, internal identifiers or proprietary code.