Giter VIP home page Giter VIP logo

foobot's People

Contributors

brymastr avatar mniehe avatar

Stargazers

 avatar

Watchers

 avatar  avatar

foobot's Issues

Git large file storage for classification model

Move the classification model (.json) to git large file storage. Once foobot starts training it's own model then we want to save it to a file instead of training each time the app starts. If there are 2000 classifications then this json file will get substantially larger and can't be trained every startup.

Channels

Enable users to subscribe to a "channel" with parameters. A channel can be anything foobot is updated about but doesn't tell users about unless they subscribe to the channel. Example: Weather updates. Example: Condo entries. Users can be automatically subscribed to a channel, for instance, if a user sets up condo entry then they will be notified when someone enters, however, a user can also unsubscribe from such notifications. Make this a button UX.

Facebook login

Facebook login so that we can have user accounts and store data against a specific user. Some things like rememberies and reminders can only work if there is a user attached to the account. This will also allow for users to talk to foobot on any platform and have all their rememberies accessible.

Leave Chat

have foobot leave a chat if something negative is said about him

Whisky recommendations

Recommend a whisky based on flavor preference and price range

hey foobot what whisky should I buy? I don't want to spend more than 30 dollars.

Wolfram Alpha

Ask foobot questions and have wolfram answer them

Have foobot remember things for you

Google Assistant can remember things for you. You just say "Remember my bike lock code is 1234" and it will keep that info memorized for you. There are some security concerns here especially regarding group conversations and database encryption.

  • Have users set an encryption key (hash salt) for their rememberies
  • hash memory values in the database with the user's salt, don't encrypt keys (quick lookup)
  • Store rememberies either in a new table called Memories, or on the user object
  • Don't write rememberies to group converstations

Auto classification

Foobot to learn and classify messages as they come in.

Learn the message subject.
Create a new topic if the message doesn't apply enough to one topic specifically enough.
watch as foobot takes over the world.

Condo Entry

Interface with Mark's condo entry app to lock and unlock the apartment entry door

Move secrets and keys out of config.js

Maybe use Hashicorp Vault? Or just environment variables. Or most likely just a child config.js file that isn't stored with the git repository that you can pass around between dev/test/prod environments

Stock trading

Get foobot access to the Questrade API. Teach foobot about high frequency trading. Firstly, learn about it yourself.

Significant unit testing around topic classification

Foobot formulates a response by reading the message content. The response is created based on the topic. Write a bunch of unit tests to ensure topic classification is being done correctly. Don't test the response content, the goal is to have foobot write his own.

RabbitMQ

Redesign foobot to use RabbitMQ and separate service logic into its own containers.

Send message endpoint

A generic endpoint to send messages to users from external sources. Good way to notify users of Condo entries

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.