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
- bcrypt
- bcyrptjs
- cors
- css3
- express-js
- express.js
- full-stack
- git
- github
- html5
- javascript
- json-web-token
- jwt
- mongodb
- mongoose
- node.js
- npm
- rest-api
Log in or sign up for Devpost to join the conversation.