Giter VIP home page Giter VIP logo

sms-todo's People

Contributors

stroupaloop avatar michael-balint avatar

Watchers

James Cloos avatar  avatar  avatar

sms-todo's Issues

Feature ideas

  • add options on reminder to engage user to remind again, complete, or dismiss (e.g. Google Calendar)
  • calendar integration
  • email integration
  • custom NLP / ML engine
  • slack integration
  • allow others to assign todos to each other

responding w/ "help" returns some default response

Need to identify the source, but guessing this is a Twilio response, the response should be

  1. create a todo, start a text with 'Remind me to'
  2. retrieve the list of all your todos, text 'list'
  3. edit a todo, text 'Edit N' (where N is the todo number)
  4. delete a todo, text 'Delete N' (where N is the todo number)
  5. view your settings type 'settings'

image

Unique Pages

For future features (need unique mobile pages, linked via text message > monetization):

  • secure credit card information (Venmo / Stripe)?
  • ordering pages / checkout?

setup a cron server

  • Ran every minute
  • Query and Search all todos in DynamoDB, checking date / time
    • remind a user on a specific date/time
    • remind a user daily up and until that date/time
  • send SMS to phone number if match
  • delete todos who have an expired date / time

Todo, Edit, and Delete path forward

  • identify the structure of the todo, current recommendation:
    • keywords
    • relations (actions)
    • taxonomy
    • date (optional)
    • time (optional)
    • qty (optional)
    • importance?
  • identify the best way to parse this information (NLP vs tiered questions)
  • how to list all todos (requires Query and Search against DynamoDB and indexing)
  • figure out how to Edit a todo (using an index of some kind?)
  • figure out how to Delete a todo (using an index of some kind?)

NLP API options: (http://www.programmableweb.com/news/how-5-natural-language-processing-apis-stack/analysis/2014/07/28)

Landing Page

  • quick description (svg animation)
  • signup for waiting list
  • counter

Background app

  • track geo data to send text message notifications
  • check phone data to see if you actually call someone
  • check email to see if you actually send an email (may not need an app to accomplish this)
  • visualization of todos?

DynamoDB isn't saving UTC values

When passing UTC values to DynamoDB, they are being removed and not saved as Elements.

params sent:

{ StartDate: Fri May 20 2016 17:00:00 GMT-0400 (EDT),
     StopDate: Fri May 20 2016 19:00:00 GMT-0400 (EDT),
     Repeat: 'bi-weekly',
     DateCreated: Tue May 17 2016 16:27:14 GMT-0400 (EDT),
     Input: 'Remind me to take my pills every other Friday from 5 to 7pm',
     Phone: '19186918755' }

saved values:

Repeat: 'bi-weekly',
Input: 'some text',
Phone: '19186918755'

Saving the date as ISO works.

NLP issues

  • multiple sentences? (validated by nlp.text(TEXT).sentences.length)
  • repeat back the todo + reminder format

Date / Time

  • make sure dates are always in the future (AND, TO, THROUGH, OR)
  • multiple days / reminder times (chrono breaks it into multiple objects)
    • Monday AND Friday or Monday, Wednesday, AND Friday
    • Wednesday OR Friday
    • differentiate between AND and OR
      • OR is a much rarer use case (may revisit in next sprint)
  • differentiate between prepositions and determiners
    • ON / THIS (specific day)
    • BY (daily reminder until that day)
    • EVERY (should also apply to multiple days / reminder times)
    • EVERY OTHER (maybe wait for this one?)
    • NEXT (the week after the current one) >> temporarily resolved
      • chrono and nlp_compromise references the current week (Mon-Sun)
        • if on Sun and "next Thursday", identifies the first coming up Thursday
        • if on Mon and "next Thursday", idenifies the next week's Thursday
      • possibly ask the user which week they are referring to
  • ranges
    • TO (e.g. Friday from 5 to 7PM)
    • THROUGH/THRU (e.g. Friday from 5 through 7PM)
    • TO (e.g. Tuesday to Thursday)
    • THROUGH/THRU (e.g. Tuesday through Thursday)
  • other conditions
    • in 30 minutes
    • in an hour
    • in a day
    • in a week
    • next week/month
    • in a couple/few days
    • later today
    • every QUALIFIER (e.g. third) UNIT_OF_TIME
  • EVERY condition
    • day
    • hour
    • minutes
    • second
  • can't handle phrases like "this weekend"
  • nlp.text(TEXT).date() is currently broken, the returned values in the documentation doesn't accurately detect the date or multiple dates
  • can't handle multiple subjects (nouns) and date/times (e.g. pick up the groceries on Friday and call the babysitter on Monday) > leads to higher order question of breaking up a todo into segments

Quantity

  • no idea how to handle at this point
    • tags don't identify a quantity
    • separate quantity from date

currently using https://github.com/wanasit/chrono and https://github.com/nlp-compromise/nlp_compromise

archive all todos

Setup an archival DB table for all todos to perform analytics and support future NLP / ML work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.