Inspiration

I have always wondered what it's like to just air my opinions into the void, so I made this webchat app named Earthie, anyone from Earth can log in with a random username and say their minds or talk to a stranger that happens to be online too.

What it does

Earthie solves the problem of connection and relatability, It allows you to talk to strangers from anywhere, Users don't need to reveal their real identity and It's designed for people who simply want to say what's on their mind or meet someone new.

How we built it

The backend was structured around three main files: Server.js handles authentication, API routes, Socket.IO events, rooms, messaging, typing, and online presence, Db.js manages the SQLite database, users, rooms, and messages, Public/index.html a simple test client for connecting to the backend. And also Render was chosen instead of vercel because it runs an always-on Node process, which is exactly what this app needs.

Challenges we ran into

At first i couldn't find any Earth image that wasn't copyrighted until I did my research and found the NASA earth images "Blue Marble" so beautiful and "Invalid Date" on message history the fix was adding a mapping function in db.js (toCamelCase) so history rows match the same shape as live messages.

Accomplishments that we're proud of

I think that would be turning my creative thought into a fully functional real time chat application. I built the backend from scratch, implemented authentication, message persistence, chat rooms, typing indicators, and online presence. I'm especially proud of overcoming the bugs we encountered along the way and successfully bringing the frontend and backend together into a working platform where people can connect and communicate instantly.

What we learned

I learned how to build a backend chat application with Node.js and Express, use WebSockets through Socket.IO for real time communication, store data with SQLite, and secure users with JWT authentication. Most importantly, I learned how to debug problems, connect the frontend to the backend, and turn an idea into a working application.

What's next for Earthie

Taking Earthie beyond its current version by making it more engaging, secure, and scalable. Our next steps include adding private messaging, user profiles, better moderation, notifications, and improved matchmaking for connecting with strangers. We also plan to improve the design and infrastructure so Earthie can support a much larger community.

Share this project:

Updates

Submission history