Show HN: Screenless SMS for Kids
I wanted to share a project I’ve been working on that allows my daughter to text message me without a phone or screen. She handwrites me a note and then it OCRs and sends it to me as an SMS (along with a picture of the note because 5 year old handwriting can be tricky). I text back and my response is printed for her via a thermal printer. It’s been surprisingly fun.
Some features I've added:
- texting multiple people - I'm the default but she can write "to: dada" or "to: phonenumber" and it'll text the recipient. I made a simple UI for editing the phone number/device id to name mapping.
- A bit of extra paper is printed with "to: sender" at the top to make it easy to chat back and forth.
- GPT support - she can write "to: GPT" and it'll call GPT API and then print out the response. I prompted GPT to make it easy to read for an elementary school child so she can read it herself.
- GPT support for me - I can text to: GPT and it'll text me back rather than printing a message. This has been great for my space-obsessed 3 year old.
- texting other devices - I have another device set up and they can text message each other.
- read outloud - there's a second button that reads whatever text is under the scanner. This is helpful for my 3 year old who can't read.
GPT has been fantastic all around. It's way better at OCR-ing kid handwriting than Tesseract or Google OCR and being able to ask questions and get answers at an age (and reading) appropriate level has been great.
Awesome project, and a great idea to build a powerful capability using mostly off-the-shelf tools! Do you have a write-up somewhere, please? Even if only a few notes or code snippets, architecture outline, or what-have-you. My son is eight, but I’d love a way to keep him away from mobile devices but in touch with family members and friends.
Absolutely! I'm working on a proper write up but high level I broke the code up into two parts: 1) Sending text messages from the device 2) Receiving text messages
For sending text messages I have a raspberry pi hooked up to an arcade button and an off the shelf document scanner (you can see it in the last pic). When kiddo pushes the button it takes a picture, uploads to s3 and then sends via Twilio API.
For receiving the text message I have a Lambda script that receives the text message (via Twilio webhook) and it publishes it to a Pubnub channel, the raspberry pi monitors the pubnub channel and prints via thermal printer when a new message is received.