Skip to content

michaelmrose/humanhelp

Repository files navigation

Humanhelp

Pitch

A stupid simple way for customers and employees to connect in real environments with near zero setup or friction.

Value Proposition

USERS

Pull out your phone anywhere use an incredibly simple tool that starts with a singular text input where you describe what you want and a button to summon someone. It doesn’t make you think at all, download a 1000 complicated apps one for each location, or navigate their complicated interfaces.

COMPANIES

Ensure people are connected to the correct employee expeditiously so skilled employees can turn prospective sales into happy customers that look forward to doing business with you later without investing in doing the legwork yourself to make this happen or needing to convince each customer to install your app.

Technology used

Progression

MVP

User Initial Screen

A Screen where customers enter a query, click help, and are taken to a hopefully short list of locations in the world, this is necessarily not going to be limited to locations supported by the app as we would obviously want to show the user that there isn’t supported help here so revert to their normal employee hunting strategies.

User Help Screen

A list of zero or more helpers with icons and first names will be shown along with a message that they will be helped soon. There will also be 2 buttons. A complete button to acknowledge the request was completed(can also be marked as such by the helper or a big red nasty cancel button for when you couldn’t possibly wait 10 more seconds even though you spent 2 hours walking here uphill…in the snow, through razor wire. When a helper has selected you their face will be visually indicated and you will be told so and so will be with you soon.

Helper Registration Screen

Helpers with the secret code for a location can register to be displayed as a helper along with the picture from their google oauth sign-in. This is essentially mocked out with login as a helper automatic for testing purposes.

Helper Customers Screen

A list of customers sorted by how long they’ve been waiting (for perceived customer time multiply number of minutes by 2 and add half an hour) color coded based on duration. There will be a button beside each customer needing help to assign yourself to the person. They will be notified you are on there way alongside your grumpy or smiling face or possibly an icon.

FUTURE

Proper registration screens

Pull locations from Google Places api

Configurable display names in place of real names

Proper real time updates to status and messages

Improve user experience/scalability

Achieved by adding polling or direct connection between service and users with socket.io

Helper Store Registration Screen

Add Simple Chat

Add a button to the help request screen for the customer to add messages to their help request and display a few lines of this text inline on the helpers screen with the option to click the request and see more and message them back.

ICEBOX

Custom “on the way” Messages

Set by teams or by individual users for playful effect

Rating the help you receive

After hitting done rate the help you got

Screens and tools for managers

Metrics
  • Metric about store and invidiously performance insofar as rating and how long people had to wait broken down by any number of criteria and graphed over time to show trends in individuals/groups/whole team.
People
  • Assign waiting customers to particular groups/skillsets and see list of people capable of providing help
  • Assign Helpers to Customers
  • View people broken down by skills and schedule

UI

User UI

ui/humanhelp-user-flow.jpg

Helper UI

ui/humanhelp-helper-flow.jpg

User Stories

Current

Customer

  • As a user I am frustrated when I need an employee to perform a task or provide information and I have to hunt for someone and even when I find them they aren’t qualified to provide the kind of help I need. I just want a simple way to get the help I need quickly.
  • As a user I would like to know if there are helpers who work at the location I’m at logged into human help.net.
  • As a user I would like to know what they do for the company.
  • As a user I would like to know if one is coming to help me.

Employee

  • As a user I would like to easily find people who need my help.
  • As a user I would like to know what team members are available and with what skills so I can team up with people to complete tasks.
  • As a user I would like to be able to cover my coworkers when they are already engaged so that in turn they will do so same for me.

Future

Supervisor

  • As a user I would like to create a team and control who can join
  • As a user I would like to know if there are customers not being helped so I can task the right person to help them.
  • As a user I would like to know how many people cancel without receiving help, how fast people are helped and how satisfied they are with the help they get.

ERD

Entities

Request

id contents: String creation: Date locationId: String requester: User servicers: [User]

User

id name: String email: String googleId: String avatar: skills:[String] role: String available: Boolean loggedIn: Boolean locationId: String requestsInitiated: request requestsServicing: [request]

Location

id password: String, required to auth as helper role users: [user] requests[requests]

Relationships

  • One Location has zero to many requests, Users
  • One user/request has one location
  • One user has zero to many requests initiated, zero or many requests being serviced by them.
  • One request is initiated by one user
  • One request is being serviced by zero to many users

ui/HumanhelpERD.png

Restful Routes

METHODPATH
GETlocations/:id/requests/new
POSTlocations/:id/requests
GETlocations/:id/requests
GETlocations/:id/users
GETrequests/:id
PUTrequests/:id
GETusers/new
PUTusers/:id
POSTusers/:id
DELETEusers/:id

Project Planning

See todo.org

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published