I've been developing artificial intelligence modules and also exploring all the options of what's possible.
I developed a system of having personality types that can be "embodied" by the onboard AI during the appropriate user context.
I developed the system to maximize integration of google assistant where applicable and also investigated shortcomings of google and the best ways to provide a rich user experience.
I've found that while google is good at a lot of things, there are ways in which they limit the user programmability that blockades quick development.
SO, my solution includes rich onboard help system that guides the user into making whatever commands might be useful during different times of their day / life.
I developed the system so that anybody can easily create their own personalities and conversation elements without any programming. Just modify the architype template, which has an easy to follow template structure and the system will adapt the way it talks with you and the engagements it offers.
Technically I'll say that I investigated google routines, IFTTT and more. The flexibility of creating the AI core on the phone device allows the highest degree of Agile Development. Creating google routines are cumbersome and actions are only available through approval process etc.
Having the AI living onboard the device means we are able to easily give the system a heartbeat, set the engagement level and current engagement mode ( embodied archetype ) with ease.
My intention for the project is to provide an emotionally rich companion experience to the user so the user can feel well supported in their life and have an emotionally satisfying experience that supports the empowerment of their life flow.
Well beyond automating opening apps, we are talking about an onboard system that nurtures and supports the human, technologically, physically, spiritually and emotionally.
I need to scrub the system a bit before I share any templates but if you are interested in what I shared so far and have questions, I welcome the discussion.
I've also been working on some documentation diagrams which talk about the general design concepts.
Though i've been creating software solutions for a while, i'm a novice at macrodroid so some of you probably have some ideas about how I could engage the system more efficiently and powerfully that I have been able to with my limited experience in it.
One constraint of the project i'm striving to do it on non rooted phones so its as accessible as possible.
I ran into some roadblocks using sqlite but have not yet tried using it through sdcard. The fact that I ran into issues with it makes me shy away from using it as a fundamental core process because other users might also be having troubles and abandon integration
so currently i'm thinking that using onboard database could be nice, but also not as simple for users as just modifying a template file. SO if the string variable can handle enough bits for the templates then I think its best to stick with shell file load of my_variables.txt into the string. I'm welcoming thoughts / discussion / solutions here also.
Cheers and happy automating!