This is the java backend for Neo AI assistant, a mobile application for real-time AI-driven tech support. The app is supported by a backend that uses an inference algorithm with a crowdsourced knowledge base to compute solutions. The knowledge about a technical issue gets shared across users using our expert system which can perform root cause analysis and match it up with a possible fix in the knowledge base. Providing solution customized for user’s device and navigating complex settings to apply such a solution are two key components of our approach. Watch our demo here: https://www.youtube.com/watch?v=ChmHLGvxVnc
Run this using sbt.
sbt run
And then go to http://localhost:9000 to see the running web application.
There are two key Controllers.
-
CrawlController.java:
Processes the UI screen data from the client device and stores it in its knowledge graph.
-
ActionController.java:
Processes client requests for help and returns the top matching actions that can resolve an issue.
-
Model:
Data model for the backend -- UI Screen, UI Elements, UI Paths, UI Graph
-
View:
Structures sent down to the client. Includes sending down navigation paths for taking automated actions.