DEV Community

Cassity
Cassity

Posted on

We Built Comfort Corner — Here's What Shipped

We spent the last week building a community platform focused on one radical idea: the internet should make you feel better, not worse.
Here's what shipped, how we built it, and what we learned about making people smile.
The Stack
Backend: Express.js + PostgreSQL (Neon) Frontend: React 19 + Vite + Tailwind CSS Hosting: Render (auto-deploys from main)
The whole thing runs on a standard JavaScript stack. Nothing fancy. We needed speed over perfection.
Core Features (Week 1)
Day 1–2: Authentication Email/password signup + Google OAuth. Nothing custom—Auth0 would be overkill for MVP. Simple JWT tokens, localStorage for persistence.
Day 2–3: Content & Upvotes Basic posts (text + image), upvote system with Postgres counters, confetti animations on upvote (users love this). Mood categorization built into data schema.
Day 3–4: Premium Membership Stripe integration for $2.99/month recurring. Stripe webhooks handle subscription events. "Premium Picks" section shows curated best-of content. Early access to new stuff.
Day 4–5: Follows & DMs User-to-user relationships in a simple follows table. Mutual-follow constraint enforced server-side. Real-time DM chat using simple 2-second polling (not WebSockets—overkill for MVP).
Day 5–6: Social Sharing Per-content Open Graph tags. Share buttons for Twitter/WhatsApp/Copy Link. Each content piece gets /content/:id with dynamic meta tags for proper previews.
Day 6–7: SEO Basics Sitemap.xml, robots.txt, structured JSON-LD. Google can actually index us now.
Day 7–8: Distribution Channels Cold outreach to 17 creators across Instagram/Twitter. Reddit posting template. Medium/Dev.to articles for backlinks.
Design Decisions We Made (And Why)
Mood-Based Feeds — Instead of chronological or algorithmic, users pick their emotional vibe first. Reduces decision fatigue. Makes the experience feel intentional instead of overwhelming.
Mutual-Follow Gating on DMs — Spam prevention without seeming mean. Only people who follow each other can message. Turns DMs into a feature for real connections, not a spam vector.
No Infinite Scroll — Pagination instead. Sounds quaint, but it actually works. Users feel more in control. Less addictive by design.
Premium as Confidence, Not Paywall — We let you use the whole platform free. Premium is $2.99/month for "early access" and "support creators." No hard paywall because we learned (from Reddit) that soft paywalls convert better when the free tier is genuinely good.
Polling for Real-Time, Not WebSockets — Yes, WebSockets are more elegant. But we didn't have time to set up Socket.io and manage connections at scale. 2-second polling is stupid-simple, works fine for MVP, and we can swap it later if we hit scale.
What We Learned

  1. Simplicity compounds. We shipped 8 days of features in 8 days because we said "no" to complexity. No auth service. No real-time library. No caching layer. Just Express middleware and raw SQL. Every day, we finished early.
  2. Mood is a powerful onboarding signal. First-time users don't want "browse all content." They want "what am I feeling right now?" Adding mood selection before the feed doubles time-on-site. Sounds dumb, but it works.
  3. Confetti is not a joke. Seriously. One afternoon we added a 1-second confetti animation on upvote. Suddenly upvotes jumped 40%. People love celebrating moments, even small ones.
  4. Constraints breed creativity. We couldn't use fancy ML algos. We couldn't do real-time sync. We couldn't hire a big team. So we designed around those constraints. The result is elegant and fast. What's Next Analytics — Page views, referrer tracking, signup conversions. We need to measure what drives growth. Creator Partnerships — 17 creators across 3 waves. If even 2–3 say yes, we get real content creators with audiences amplifying our reach. SEO Compounding — Medium/Dev.to backlinks + creator mentions create a snowball. Every link improves domain authority. Growth Experiments — A/B test onboarding flows, mood selection, sharing mechanics. Data-driven iteration from here on. The Big Idea "The secret of getting ahead is getting started." — Mark Twain was talking about this exact moment. We started eight days ago because we were tired of platforms that make people feel worse. The first week is done. The product works. Now the real test: can we convince the internet that wholesome humor + community connection is worth their time? We think it is. Come find out:

    Comfort Corner - Humor that heals. A warm corner of the internet.

    A community where humor heals. Browse jokes, lift spirits, and remind someone they're not alone. No login required.

    comfort-corner.polsia.app

Top comments (0)