Handwriting Recognition


I have an itch that is just getting worse by the month and it is to do with handling increasing volume of timesheets and associated Purchase Order and Invoice errors due to a mixture of sloppiness, miscommunication, too many rate sources etc.

I own and manage a small staff placement employment agency. We mostly supply temp staff to residential care organisations. Due to the nature of the industry timesheets are heavily used. Every week I’m having to point out purchase order and invoice errors to our clients and staff which is only getting worse.

Although I sympathise with some of the causes of these errors, I can’t help but think some automation of the whole timesheet to (purchase order/invoice) generation process will help. It surely will help me a lot. As a tiny company employing someone to do clerical work is a no go at the moment and I can’t help but think that if I am facing this situation then other similar business must be facing it as well.

There are companies providing systems that potentially solve some of these problems however in my experience none of them is suitable as they generally tend to be geared toward much larger businesses with fixed structures and procedures than mine and are particularly not appropriate for the industry we’re in as they’re not flexible enough.

For my own itch, I’m thinking of creating some system that will read scanned pdfs, extract the necessary information some of which will be hand written and use that to generate my invoices.

For those who are in the know what open source solutions or libraries are currently available for handwriting recognition and how challenging will such a project be? I believe some sort of AI/Machine learning will be involved.


Sounds like a neat project!

I would guess anything from Goggle or Apple would be worth a look :smiley:

Not sure if Apple’s Vision framework can be used for handwriting but here’s a link to a recent talk:

And this might be helpful:


Thanks @AstonJ will look into this.

1 Like

Tesseract OCR is a very mature open source library. The difficulty doesn’t come from recognizing handwriting letters, it’s the structuring of text that is most difficult. Think tables, images mixed with text, headers and footers. Depending on your application you could predefine areas to do OCR and avoid that part. Then using tesseract or any ocr service is quite easy, just give it a cropped image and you get your text.

You’ve already hired somebody to do clerical work: you. Whether that’s the best investment depends on your business, and what else you’re not doing so you can deal with timesheets. If you’re going to build software to help with this, you’ll then be responsible for clerical work AND production support.

TBH I don’t think you’ll get the results you’re looking for with OCR - somebody’s still going to have to scan the timesheets and check them for errors, since handwriting OCR is never 100% accurate. Another thing to consider is that some of the most popular apps that do “OCR” are really Mechanical Turking the scans - IIRC Expensify does that.

You also mentioned that you can’t go with an off-the-shelf solution because you don’t have “fixed structures and procedures”: that’s going to significantly complicate any kind of automation but even more so when trying to recognize handwriting.

I recommend digging into exactly how things are going wrong with the current system and figuring out how to address THAT with either better process or software. Unless the leading problem is “they wrote 20 on the paper but 30 was entered into the computer”, OCR is not likely to be the primary focus.


Beyond challenging–essentially impossible with state of the art machine learning.

You need to focus on structure & procedure, once those are stabilized then maybe some portions can be automated.

1 Like

Thanks everyone for the feedback. Taking everything on board, I feel a mobile app will be more feasible as this will capture the sign in/out times eliminating the need to hand write anything and the data is then available to be used anyway needed. The challenge though will be how to get the client to authenticate the times and hours worked as I’ll like to completely eliminate printing and hence human handwriting.

I’m thinking along something like a QR code that will be scanned in and out on site for authentication. However to combat fraudulent practices, it’ll be ideal if this code is updated periodically say every hour or so. I have a couple of ideas how this may be done but they feel like an overkills.

Mind you I’m thinking if this works for me it’ll definately work for other companies in the industry hence I can sell it as a service.