This is a submission for the DEV Weekend Challenge: Community
The Community
I'm part of a developer WhatsApp group. Over 100 members. All time zones. Every stage — from someone writing their very first console.log to senior engineers who've shipped at scale.
It's one of the best communities I've ever been part of.
And it has a devastating problem.
Someone asks a brilliant question about async/await. Three senior devs drop genuinely life-changing explanations. A resource gets shared that would have saved you six hours last week. An accountability thread starts where people share what they're building.
Then 48 hours later?
Gone. Buried under good morning messages, memes, and someone asking the same async/await question again.
The knowledge was there. The people were there. But WhatsApp has no memory. Every insight, every resource, every connection — evaporates.
I've watched this happen week after week. And this weekend, I finally did something about it.
What I Built
DevConnect — a dedicated community platform that acts as the organised, permanent layer on top of your existing WhatsApp group.
Your WhatsApp group keeps the chat. DevConnect keeps the knowledge.
The idea is simple: your admin shares a 6-character invite code in the WhatsApp group. Members join DevConnect with that code. From that point forward, everything valuable gets posted here — where it lives forever, stays searchable, and is actually findable when you need it.
Core Features
📬 Four post types — because not all posts are the same:
- ❓ Need Help — post a question, get threaded replies from people who actually know the answer
- 💡 Share — drop a resource, article, or lesson learned. It auto-saves to the Resources library
- 🤝 Collab — find an accountability partner, a code reviewer, or someone to build with
- 📅 Weekly Goal — post what you're working on this week. The community keeps you honest
👥 Member Directory — finally know who in your group is good at what. Filter by skill level (Beginner / Mid-level / Senior) or search by technology. No more posting "does anyone know Rust?" into the void
📚 Resources Library — every Share post with a link automatically appears here. Tagged, searchable, permanent. The link graveyard problem: solved
🔑 Invite-only Communities — your community stays private. Only people with your code can join. Share the code in WhatsApp, keep the knowledge in DevConnect
❤️ Likes & Replies — the best answers rise. The community rewards good knowledge
Demo
🚀 Live app: https://devvconnectt.netlify.app/app
To try it:
- Sign up — you'll need an email and password to create an account. Don't want to use your real email? A throwaway like test@mailinator.com works perfectly fine
- Click Create a Community and set up your profile (name, bio, skill level, skills)
- Share the invite code with a friend (or open a second browser tab, sign up with a different email, and join with it)
- Start posting — try all four post types
- Check the Member Directory and Resources Library
Code
Github Link : https://github.com/Boweii22/devconnect
How I Built It
The Stack
Architecture
The frontend talks exclusively to the Express API — never directly to Supabase. The API uses the Supabase service-role key server-side, so the database is never exposed to the client. Every route is protected by JWT middleware that verifies the token against Supabase Auth before anything happens.
The invite code system works properly: codes are generated server-side, stored in the database, and validated on join. If you enter a code that doesn't exist, you get an error. If you've already joined that community, it handles that gracefully too.
Database Schema
Six tables cover everything:
profiles → extends auth.users (name, bio, level, skills[])
communities → name, description, invite_code (unique), creator_id
community_members → community_id + user_id (unique pair)
posts → type, title, body, link, tags[], author_id, community_id
replies → post_id, author_id, text
post_likes → post_id + user_id (unique pair, toggleable)
Row-level security enabled on all tables. Indexes on every foreign key and the posts feed query.
The Honest Part
The bit that actually stumped me longest wasn't the database schema or the auth flow. It was the invite code join logic — specifically handling the case where someone joins, leaves the tab open, and tries to join again from a different window. The server needs to check membership, return the community either way, and not throw a duplicate key error. Tiny edge case, genuinely fiddly to get right. But getting it right is what separates something that looks like a real app from something that is one.
The community this was built for has been running for years on WhatsApp. The knowledge has always been there. The people have always been there. This weekend I just gave it somewhere to live.
If your dev group has the same problem — try it. The invite code is the same one you'd drop in your WhatsApp chat.

Top comments (1)
Hello, nice to meet you.
I'm a software developer and lead a small team. I have a business idea and am looking for a business partner.
If you're interested, let's discuss the details together.
Telegram: @miracle0416
Discord: @gouka12
Thank you.