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
Document upload
C#/.NET document service
OCR inside a broader flow
Searchable document
Target
Document upload
C#/.NET document service
Delegates OCR
Python OCR service
Dedicated, independently scaled
OCR vendor
Multilingual, Danish first
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.
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.
- 01Investigated a dedicated Python OCR service
- 02Integrating with the existing OCR vendor
- 03Planned multilingual support
- 04Evaluating container and function-based deployment
- 05Built representative document fixtures
- 06Validated packaging and deployment requirements
04Decisions and trade-offs
The calls that shaped it.
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.
02
Container or function
Both are being evaluated against real documents.
The trade-off
Operational simplicity and cost against cold starts and runtime limits.
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.