The main objective of the project was to acquire basic knowledge of Machine Learning, Node.js, React and React Native development, and as they should be really basic, I focused only on what they would actually complete.
Smart 8 was developed as a system to use machine learning to answer yes or no questions, just like the famous magic 8 balls, but in a slightly more intelligent way, avoiding different answers, for equal questions.
the answers must be classified as a magic 8 ball, and for that purpose the graph found on wikipedia was used:
The project needed two main factors:
-
Two front-end that can receive and send messages to the server, one mobile and one for the web.
-
A system that receives the messages and classifies them as,
affirmative
,negative
, ornon-committal
, and soon after, returns to the front end with the answer. -
Finally, the front end created a random response according to the information coming from the server and will show the user
As main tools, were used:
- Google Cloud Funcions for the backend
- Google Cloud Natural Language to process and sort responses
- React to the web front end
- Expo to the mobile front end
- Axios to HTTP requests
The project is currently in smart8.vercel.app and on Google Play Store
There are some possible improvements and resolutions that can be implemented
- Improve layout and add more animations, to make the user experience better
- Add a longer message history
- Use a better AI system, or use more questions and leave training for longer ( Need money )
The whole project is training and may not be available forever, anyway if you read it it means it may have been worth it