A SaaS Founder With An Idea Is Like A Dog With A Juicy Bone
Building something I didn't think I could ...
Posted by Steffi Lewis on 19/09/2023 @ 8:00AM
We all know about dogs and bones. Give a juicy bone to your pup, and there's no way it's letting go, and you may get a nip if you try to take it off them. The same goes for technical SaaS founders. Once we have an idea, then there's no way we're stopping working on it until it's done ...
Oh lordy! Leonardo AI really likes putting glasses on animals. I think it's cute!
I had one of those moments last week. I'd happened across a blog post about a US CRM company that had built a business card scanner for their phone app using a new tool from Google called Vision API.
I've done a lot of research on business card scanning because it's something I wanted for YourPCM for the longest time, but it was going to cost a fortune to implement in initial setup costs and ongoing subscription fees. Like the US CRM developers, I was thrilled about Google's clever little AI offering.
"A business card scanner is something I've always wanted for YourPCM!"
Imagine going to a networking event. We receive business cards from people we meet and then what do we do with them? Leave them in a pile on our desk? Put them in a drawer and forget all about them? Leave them in our handbag then discover them a few months later when we've lost the opportunity? "Oh no, I dropped them on the floor of my car! Oh well, I'll pick them up later as I'm tired now and need some food! But we never do pick them up later, do we?
Well, what we should do is find some time to put the contact details into our CRM, then reach out to them to say hello and offer them a 121 to find out more about what they do. From small beginnings come great opportunities as the saying goes. Go networking, go home, add business cards, reach out ... that's how we should be doing it. But it's another time-consuming task that falls by the wayside, so we miss opportunities to connect.
The problem I personally have with business cards is that the writing is tiny (and my eyes are bad!), then the colours are sometimes hard to decipher. Each and every single business card has a different design too!
But what if I could just hold it up to my webcam, take a picture, have AI read the contents of the business card, then extract the text in the right way and add them to a new contact in YourPCM? That would be massively useful to me and I know it would be to all of my subscribers. It's something I didn't think I could do without great expense ... until I read that blog post.
So, after reading more about Google Vision API and checking out the documentation, running some test scans manually on the API console (using business card images taken on my iPhone), and then feeding the results into ChatGPT to get correctly extracted and formatted data back with the right labels, I realised this was something I was going to be able to do, but it would take a massive effort to make it happen.
"I didn't have any plans last weekend, so decided to stock up on beer and snacks, and just get on with it!"
Firstly, I had to get my webcam to feed data to a form that was then POST'ed to my server. That was quite hard as webcam data is held locally and this needed to be sent to the server. I used HTML5 to display the webcam and built a JavaScript button to take a webcam snapshot, add it to a hidden canvas object, then BASE64 encode it and set the value of a hidden textarea ready for submission.
Once it was sent to the script on my server, it needed to be decoded to a binary stream, saved as a PNG on my server, and then I sent the actual URL to Google Vision API for processing. What I got back was seemingly a load of gobbledegook, but once I'd examined the JSON I realised all the wording on the business card was shown in the response text.
But I didn't need all of it (it contained bounding box co-ordinates too), just the first couple of thousand characters where the actual data was, so I trimmed it down and submitted what remained to the ChatGPT API and asked it to extract things like first name, surname, company, email address, website URL etc.
"And it only blooming well went and did it the first time!"
So, once I received the properly formatted data back from the ChatGPT API, I needed to tweak it in my script (things like processing +44 telephone numbers into the correct UK STD format), stick it into a bunch of querystring variables then pass it to my ADD NEW CONTACTS form to display as default data, which the subscriber could then tweak and change before saving.
It doesn't always get everything 100% (that's the nature of AI I guess), but a subscriber can always click the SCAN button and try again. Sometimes Google Vision gets it a little wrong, and sometimes ChatGPT doesn't quite process it right, but as both AIs learn, they improve so the second time we scan and process a business card, it could be perfect. So, far, out of 50 business cards I've scanned, the maximum number of times I've had to scan a card is three, and then it got the data 100% right.
And, of course, I think a lot of these errors are caused by the business card not being completely in focus, or maybe the lighting is slightly off. I was testing these at night while I was working quite late, so maybe in a well-lit office, with a good webcam it would get it 100% right all of the time.
"Having access to your webcam control panel to twiddle exposure and focus is useful here!"
It's quite amazing that an idea I've had mulling over in the back of my mind for a great many months has finally been realised. It took a blog post to trigger the thought processes, some further reading and experimentation, and then a whole lot of coding over a weekend to get it finished.
I snuck the beta version out last night. I wonder what my subscribers will think?
Love, light and logic ...
STEFFI LEWIS
Would you like to know more?
If anything I've written in this blog post resonates with you and you'd like to discover more about saas, do give us a call ...
Foodie, sci-fi nut, cat lover, brain aneurysm & cancer survivor, countryside dweller, SaaS entrepreneur, developer and networker.
Published my first website in 1993 for the Open University and am highly experienced with Windows Servers, SQL Server, HTML, Classic ASP, JavaScript, and CSS.
I've also worked as a professional photographer in Los Angeles, USA and been a vision mixer and producer for live television in my time.
I live in a village north of Milton Keynes with my two cats, Baggins and Gimley, and a large planted aquarium full of unruly tropical fish.
No unauthorised use, duplication, distribution or modification to any original content contained within this website is permitted without prior written permission of the owner.