There are many intelligent agents out there but almost all work either very synchronously or don't provide a way to improve beyond that with support from third parties. After trying to figure out ways of extending various agents out there I said "screw it, I'll do it on my own". Welcome, Sim :)

What it does

So the idea behind Sim is that it can take a task from you and just run with it without further input unless necessary. So let's say you have an email chain and now you need to schedule a meeting with all parties involved. You simply CC sim [at] simex [dot] io and say something like "Hey Sim, can you schedule this?" and you're done. Sim will confer with the other parties which time(s) work for them. Once a time is agreed upon it sends out the invent. Other parties can even propose a new time which will get confirmed with the original organizer (i.e. YOU!).

This is only the beginning! Sim will also have an SDK so anyone can get in on this!

How I built it

Used Node.js, AWS Elastic Beanstalk for deployments and Google's GMail IMAP server to create a web server that listens for incoming email then runs various natural language processors over the data. It stores conversation, tracks a full conversation as part of a session which is written generically enough to support SMS and other future protocols.

Challenges I ran into

It's really hard to get parsing right. Fortunately there are lots of open source libraries to help with this but I still had to write plenty on my own

Accomplishments that I'm proud of

Actually proving out my use case was AWESOME! I'm convinced, with some cleaning up and bug fixing, that this first proof of concept can become part of a greater concept: computing power for the lay person allowing them to request Sim to do things, autonomously.

What I learned

It took me forever to come up with a way to track and store sessions of conversations. Email makes this a little easier with its concept of message-ids but it's still difficult to sort through multiple emails, keep track of who originally made the request, etc. The biggest thing I learned is just how difficult it is to come up with a good way of storing session related data.

What's next for Sim

So no matter what happens here I will be turning this into a real company. Here are my next steps (barring any changes from feedback):

  • Fixed several bugs including not being able to, realistically, ask more than 1 person regarding dates and times.
  • Add the ability to create your own profile within Sim to give it access to your calendar so that can be taken into account for scheduling meetings
  • MONETIZE! I have an idea for how to monetize so I'd like to test that earlier rather than later. Essentially subscription services when you need Sim to interact with more than, say, 2-3 people or longer running tasks that Sim eventually has access to. Also, in the future, plan on charging to host add-ons for Sim. There will be an SDK but they will need to run in the cloud with Sim.
  • Explore additional capability (thinking real time news upon request ("Hey sim, let me know when the roads reopen?", "Hey sim, keep me updated with election results"))
Share this project: