This GSoC, I worked on SUSI.AI Android App, SUSI.AI Server and SUSI.AI Skill Data.
An Android client to provide intelligent answer using SUSI.AI infrastructure. This app allows the user to query with SUSI.AI and displays responses in a visually appealing way. Worked on improving the app and adding various features to it.
This app contains following features:
- Login and signup functionality so that user can query with SUSI.AI privately.
- Forgot password and Reset password functionality.
- Anonymous mode that allows the user to query with SUSI.AI anonymously.
- Feedback feature to rate SUSI.AI Skills.
- Implement functionality to render following action types:
- Answer
- Anchor
- RSS
- WebSearch
- Map
- Allow user to query with SUSI.AI using speech and provide SUSI.AI reply in a speech format.
- Store user's setting on the server and retrieve from the server when user login.
- Hotword Detection using Snowboy voice detection library.
- Skill Listing of all SUSI.AI skills so that user can browse through all skills and try them on the chat interface.
- Hotword training functionality to train the hotword with the user's voice.
Along with this, we used Model View Presenter (MVP) architecture and Kotlin, the official language of Android. We have followed best practices for Android and maintained high standards in terms of code quality and structure so that there is no compromise in app performance and stability. We have also improved the overall UI of the app.
Worked on implementing some API endpoint, fixing general bugs and auto deploying Server on Google Cloud Platform using Kubernetes and Travis CI after each commit.
The main task which was assigned to me on the Server was to auto deploy both master and development branch of server on Google Cloud Platform using Kubernetes and docker images after each Travis build on a successful PR merge. The deployment links are currently active:
- Development: http://35.202.140.99 (Updates after each PR merge)
- Master: http://35.184.234.4 (Updates whenever development branch is merged into master)
A repo containing SUSI.AI skills. Worked on implementing certain skills for SUSI.AI.
The main aim of this repo is to provide a storage area for SUSI.AI skills. There are many skills in this repo. I contributed in this as well making some of the SUSI.AI skills.