Inspiration
Social media platforms have become one of the most prevalent tools for human interaction. However, modern social media tends to reward populatity, comparison, and constant explanation. I wanted to build quiter space where expression exists without validation or judgement, which inspired me to make Kaleido, a place for you to express yourself without the pressure to EXPLAIN yourself.
The name Kaleido also comes from the word "Kaleidoscope", which is an optical instrument made from mirrors and coloured pieces that creates shifting patterns, but it also refers to rapidly changing, complex, or colorful scenes. Kaleido is also a site that constantly shifts with new posts, and allows users to reflect on themselves by expressing their feelings through visual components instead of words.
What it does
Users can:
- Create wordless posts using a colour, symbol (emoji), and number
- View a shared feed of public posts
- View your own post history
- Mark your posts as public or private
- Customize a public username
How we built it
- Frontend: React + TypeScript + Vite
- Styling: Tailwind CSS
- Authentication: Firebase Authentication
- Database: Firestore
- Hosting: Firebase Hosting
Challenges we ran into
- Deciding how to design meaningful interaction without text
- Balancing anonymity with identity and self-expression
- Structuring Firestore data for feeds and profiles
- Designing for emotional safety instead of engagement
- Letting go of traditional social metrics
Accomplishments that we're proud of
This is the first website I’ve built on my own in four years, and I took it from a blank folder to a fully functional product that reflects a meaningful idea about human expression.
What we learned
- How to communicate meaning without words
- How to build a full React + TypeScript application from scratch using Vite
- How to manage authentication and protected routes using Firebase Auth
- How to deploy a live web application using Firebase Hosting
What's next for Kaleido
Future improvements for Kaleido include:
- Adding a 'temporary post' feature that allows users to specify how long their posts remain public
- Personal analytics/insights page where users can view their mood patterns over time
- Accessibility improvements (keyboard + screen reader)
- Theme customization
Built With
- css
- firebase
- html
- javascript
- react
- tailwind
- typescript
- vite

Log in or sign up for Devpost to join the conversation.