Inspiration

  • Every big social platform started as a small, focused idea — a handful of features done well. We wanted to strip social media down to its core mechanics — profiles, posts, comments, likes, follows — and build that foundation ourselves, understanding exactly how each piece connects instead of relying on a framework that hides the details.

What it does

*Threadline lets users create an account, build a profile with a bio and avatar, and post short updates. Other users can like posts, leave comments, and follow accounts they want to keep up with. A personalized Feed shows posts only from people you follow, while Explore surfaces everything happening across the platform — so you can discover new people as well as stay close to your circle.

How we built it

*Backend: Express.js REST API, with MongoDB + Mongoose for data storage *Auth: JWT-based sessions with bcrypt password hashing *Frontend: Vanilla HTML, CSS, and JavaScript — no framework, direct *fetch() calls to the API *Data model: Separate User, Post, and Comment collections, with followers/following stored as references on the user document, and likes as a reference array on each post

Challenges we ran into

*Designing the feed logic so "Your feed" and "Explore" could share most of the same rendering code while pulling from different queries *Keeping follow/unfollow and like/unlike idempotent (no duplicate follows or double-likes) without extra round trips *Balancing a distinctive visual identity with the constraint of plain CSS — no design framework to lean on

Accomplishments that we're proud of

*A fully working auth flow from scratch — hashed passwords, signed tokens, protected routes *A clean REST API that's easy to extend (documented route table included) *A custom UI with its own visual identity, built entirely in plain CSS *A frontend-only live demo version so anyone can try the UX instantly, with zero setup

What we learned

*How much of "social media" logic lives in relationships (followers, likes, comment counts) rather than the posts themselves *The tradeoffs of denormalizing data (like storing commentCount directly on a post) for read performance vs. keeping everything perfectly normalized *How far vanilla JS can go for a responsive, interactive UI without reaching for a framework

What's next for Mini Social Media App

*Real image uploads instead of image URLs *Notifications for likes, comments, and new followers *Pagination/infinite scroll for large feeds *Direct messaging between users *A React or mobile version of the frontend

Built With

Share this project:

Updates

Submission history