Inspiration

LIGHTHOUSE delivers coordinated care service for chronic conditions to Medicare patients. With the COVID lockdown, gaps in care are increasingly dangerous. It also turns out Grandma is on facebook, knows how to use messenger (mostly) and is open to getting a portal. The quality of care is only as good as the quality of the conversation we can host, and so we did this hackathon to build conversation muscles and generate insight into how real seniors use bots.

What it does

LIGHTHOUSE helps seniors with chronic conditions build core skills in diet, physical activity, taking their meds and writing stuff down. With wit.ai's help, we started off with remote data monitoring, education plan delivery, digital reference and guided self care.

How I built it

A little AWS Lamdba. Some session management. Ten seniors who were kind enough to sit down and use it in order to illustrate for me the necessity of "flexible" dialog management and the need to free the experience from locked down paths.

Challenges I ran into

  1. User testing -- my most common phrase for my Golden Years test panel was "why would you ask for it that way"? followed closely by "you did it the same way 8 times in a row...why different this time?"

  2. I think I didn't get a good enough education on wit.ai before starting -- I didn't understand the value of post-mortem processing of real requests to fuel the learning engine, and I didn't find the "synonyms" section until after we had build our synonym rationalizer.

  3. I am still struggling to solve the handling of recording "log my blood pressure of 110 over 80" -- my boy wit.ai is a champ at pulling out {blood pressure} as a {measure} and the {110 as a wit$number}, but I can't seem to break it's back on looking at "over 80" as a "wit$current". I need some lunch, then I'll beat up on it some more.

  4. There's something in the way I'm trying to parse the wit.ai part of data-source (in particular where keys are formed like "measurement:measurement") that is breaking my flow. I solved it with inelegant brute force and would like to revisit it for some beauty.

Accomplishments that I'm proud of

We built a good hierarchy for routing prioritization that ended up being pretty fast and flexible:

// HIERARCHY OF ROUTING: // 1. quickreply // 2. Unfulfiled INTENT with new information (requires session data) // 3. WIT intent // a. priorities // b. record // c. learn // d. content // e. connect TO PHYSICIAN/PORTAL experience -- XX NOT AVAILABLE FOR DEVPOST SUBMISSION // f. reference // g. guide // h. reports // 4. small talk handling // 5. free text handling // 6. gently manage any conversation not yet directed and LOG the failure data // 7. Wrap up wth any priorities LIGHTHOUSE might have -- e.g., completing a profile, setting a reminder

What I learned

  1. My gut reaction as to how people will ask for stuff is often wildly wrong
  2. Dialogs look more like drunken sailors than thoroughbreds on a straight-away
  3. I need to get better at parsing in nodejs, it feels very clunky

What's next for LIGHTHOUSE Health Dialog

A. Integration with Portal by Facebook in Q4 (bringing together VOICE and BOT) B. More content C. Recipes (trying to design intuitive utterances/traits/slots, etc) D. Figuring out a scalable way to take FAILS/Error Handling and turn it into better experiences. E. Lunch

TRY IT OUT Let me clean out the API creds and some "build the education plan" special sauce" that's in there and I'll get it up on Github this week/

Built With

Share this project:

Updates