Bubble Chat Problem-solving and stress management anonymous chat application.
TECHNOLOGY
BUILD
React Native
ReactJS
Redux
socket.io
Express
SQLite
TOOLS
ESLint
NPM
Marvel
Photoshop
PLATFORMS
Nginx
Amazon EC2
Android
iOS
ABOUT
DESCRIPTION
Started out as a chat application for students in need of counselling, Bubble became an application for students to chat, brainstorm and rant anonymously. It is a mobile chat application that is implemented in React Native. It also has a web interface built with React for web users to access chat groups.
MOTIVATION
With Bubble, we aimed to learn about the entire flow of building an application, from implementing a minimum viable product, to marketing the product, user acquistion, engagement and management. Bubble was also a platform for students to experiment with anonymity in chat applications and to become aware of the pros and cons of this anonymity, in the safety net of an educational institution and a testbed module.
CHALLENGES
The greatest challenge in this project was to manage anonymity in a chat. From ensuring data privacy to meeting the requirements of the application markets, we learnt the complexities involved in publishing an anonymous chat application, such as the need for a flagging and reporting system and terms of use that polices the anonymity. While we lack the time and resources to provide these facilities and eventually failed to publish on the iOS App Store, we did succeed in releasing on Play Store and web in the module term.
FEATURES
ANONYMITY
Chat anonymously with strangers in topical chat rooms. No sign-in or registration is required. Pseudo-identity are persisted through socket sessions, cache and Redux store.
REAL-TIME
Chats are fired in real-time through socket events along with mobile application notifications. There is also an option to turn off notifications for individual rooms.
CATEGORY TAGGING
Chat rooms can be labelled or tagged with categorised tags. These tags are colour-coded and can be used to filter conversations.
SEARCH & FILTER
You can search for rooms by room title, or filter them by their tagged categories.