Skip to content
Jamster3000 edited this page May 7, 2024 · 3 revisions

What Exactly Is This?

This project is "Joan". A personilized smart assistant which is capable of assisting unlike some well known smart assistants that aren't helpful to me whatsoever. Below explains everything, from why I am doing this, to it's purpose to me.

What Will This Wiki Be Used For?

This wiki is mostly for myself for future development. I will use it to document everything there is for Joan including how specific functions work, how to run the code, what all the different files are for, and where specific data has come from for Joan to function.

What makes this different from other's

Since this is in development it currenlty has limited difference between itself and Google Assistant, Alexa, Siri, etc. See the goals and targets below for more reasons of what makes this different. Joan is built purly in python which poses challenges such as keeping it fast and efficient along with ensuring it stays within the lines of the goals and targets.

I am making this for myself specifically but it can be used by any one that wants to use it. Just follow the README.md file for what libraries are needed to be installed to make this work (there is a lot of libaraies but this is becasue it has plenty of functions adn more to come).

Goals and Targets.

  1. Keeping the smart assistant fast including fast processing and fast repsonses.
  2. I will also try to keep the code readable to ensure future modifications are easier.
  3. Once a little more developed I will do some data analysis on speeds and timing of functions.
  4. For it to be able to run on low resource machines specifically for rasbperry pi 3B+
  5. Whenever possible I like to have accessability in mind, this doesn't just include being able to use Joan with disabilities but also being able to use as much of the features and commands as possible without needing to rely on the internet.

I'm sure there will be more in the future but for now these are the goals and targets. Whilst developing I will always ensure the two most important things mentioned, that I will be able to run on low resource machines, and that it's fast (ish) and efficient. Both of these can be challenging when using python as it's not popular for it's speed or efficiency.

Why have I made this smart assistant?

Why am I making one? Why not use all the other smart assistants that are much better and already avaliable? There's hundreds that probably work well on low resource machines, why make another one?

So... Sure there are plenty but for the popular ones that most people use (Siri, Google Assistant, Alexa, etc.) I don't trust these as they are constatly listening even when you aren't speaking or using them. I have done research in the pas which shows that they are always listening and they are collecting data on everything that is being said. SO that's the first reason as to why I am making my own.

I could just look for the hundreds that are already made on github avaliable. But these are often simple basic programs, or they don't have the features or functions that I would like them to. Sure I could clone them and add more functions to them for myself but... where's the fun in that. Besides if I make my own that way if it stops working or I notice a bug, I have a better idea of how to fix/update it. In additon to that I am also making my own smart assistant because of multiple causes that I need help with and can't always rely on someone to help me out with.

I have autism and a poor short term memory which leads to forgetting a lot of things, every solution to solving this always involves some level of remembering which is not ideal for someone that forgets. The ability for Joan to remember things is still in progress and I wouldn't trust it to remember where i put my banana. In addition to this sometimes I need help with something or that I don't know how to do something. I can also have problems, needing support which I am hoping Joan can do in the future.