<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Whitney</title>
    <description>The latest articles on DEV Community by Whitney (@whitney_343fa7c484924bf63).</description>
    <link>https://dev.to/whitney_343fa7c484924bf63</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3717706%2F7ee1a8cb-4344-488b-997a-32f391275fba.png</url>
      <title>DEV Community: Whitney</title>
      <link>https://dev.to/whitney_343fa7c484924bf63</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/whitney_343fa7c484924bf63"/>
    <language>en</language>
    <item>
      <title>Weekend Hub — a tiny community planner for Frontend Studio</title>
      <dc:creator>Whitney</dc:creator>
      <pubDate>Fri, 27 Feb 2026 16:43:53 +0000</pubDate>
      <link>https://dev.to/whitney_343fa7c484924bf63/weekend-hub-a-tiny-community-planner-for-frontend-studio-ab8</link>
      <guid>https://dev.to/whitney_343fa7c484924bf63/weekend-hub-a-tiny-community-planner-for-frontend-studio-ab8</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/weekend-2026-02-28"&gt;DEV Weekend Challenge: Community&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Community
&lt;/h2&gt;

&lt;p&gt;I built this for a beginner-friendly front-end learning community — the kind of space where people are building portfolios, sharing progress, doing review swaps, and joining weekend co-working sessions.&lt;/p&gt;

&lt;p&gt;Weekend challenges are exciting... but coordination gets chaotic fast:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"When are we meeting?"&lt;/li&gt;
&lt;li&gt;"Who's hosting?"&lt;/li&gt;
&lt;li&gt;"Can someone send that resource link again?"&lt;/li&gt;
&lt;li&gt;"Wait, did anyone RSVP?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most of this happens inside chat threads, which means important details get buried quickly.&lt;/p&gt;

&lt;p&gt;I wanted to build something lightweight that makes weekend collaboration feel organized, intentional, and energizing — without adding friction or requiring accounts.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I created &lt;strong&gt;Weekend Hub&lt;/strong&gt; — a minimal community planner designed specifically for weekend learning sessions.&lt;/p&gt;

&lt;p&gt;It includes: &lt;/p&gt;

&lt;h3&gt;
  
  
  📅 Events
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Create weekend sessions (co-working, study groups, review swaps, mini workshops)&lt;/li&gt;
&lt;li&gt;Display date, time, host, type, and notes&lt;/li&gt;
&lt;li&gt;One-click RSVP toggle with live RSVP count&lt;/li&gt;
&lt;li&gt;Search and filter (including "Hosted by me")&lt;/li&gt;
&lt;li&gt;Copy event details to clipboard&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📣 Announcements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Post quick updates for the community&lt;/li&gt;
&lt;li&gt;Remove individual announcements or clear all&lt;/li&gt;
&lt;li&gt;Clean, chip-style display for easy scanning&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📌 Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Pin useful links (docs, tools, tutorials)&lt;/li&gt;
&lt;li&gt;Open links in a new tab&lt;/li&gt;
&lt;li&gt;Remove or clear resources easily&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🎨 UX Details
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Light/Dark theme toggle (remembers preference)&lt;/li&gt;
&lt;li&gt;Responsive layout (mobile-friendly)&lt;/li&gt;
&lt;li&gt;Keyboard-accessible controls with focus styles&lt;/li&gt;
&lt;li&gt;Toast feedback messages&lt;/li&gt;
&lt;li&gt;Empty states with friendly microcopy&lt;/li&gt;
&lt;li&gt;All data stored locally using LocalStorage (no accounts required)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was to make something practical, fast, and genuinely helpful for a real community scenario.&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Live Preview URL: &lt;a href="https://whitgunt77.github.io/weekend-hub/" rel="noopener noreferrer"&gt;Live preview URL&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flmw9w3jmmasadyyhhj4r.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flmw9w3jmmasadyyhhj4r.gif" alt="Weekend Hub Preview GIF"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/whitgunt77" rel="noopener noreferrer"&gt;
        whitgunt77
      &lt;/a&gt; / &lt;a href="https://github.com/whitgunt77/weekend-hub" rel="noopener noreferrer"&gt;
        weekend-hub
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Weekend Hub — Community Weekend Planner&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;A lightweight community hub for weekend events, RSVPs, announcements, and shared resources.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why this exists&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Weekend challenges and study groups often struggle with coordination:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;"When are we meeting?"&lt;/li&gt;
&lt;li&gt;"Who's hosting?"&lt;/li&gt;
&lt;li&gt;"Where do I share links?"&lt;/li&gt;
&lt;li&gt;"Wait... who RSVP'd?"&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Weekend Hub keeps it simple with a single-page app and LocalStorage.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Create events (title, host, date/time, type, notes)&lt;/li&gt;
&lt;li&gt;RSVP toggle + RSVP counts&lt;/li&gt;
&lt;li&gt;Search events + filters (upcoming, hosted-by-me)&lt;/li&gt;
&lt;li&gt;Announcements (post/remove/clear)&lt;/li&gt;
&lt;li&gt;Resources (pin links, remove/clear)&lt;/li&gt;
&lt;li&gt;Theme toggle (saved)&lt;/li&gt;
&lt;li&gt;Responsive + keyboard-friendly&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tech&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;HTML + CSS&lt;/li&gt;
&lt;li&gt;Vanilla JavaScript&lt;/li&gt;
&lt;li&gt;LocalStorage&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Run locally&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Just open &lt;code&gt;index.html&lt;/code&gt; in your browser.&lt;/p&gt;
&lt;p&gt;Or use a local server:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VS Code extension: “Live Server”&lt;/li&gt;
&lt;li&gt;Or: &lt;code&gt;python -m http.server&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Data &amp;amp; privacy&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;All data stays in your browser using LocalStorage.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Ideas for next version&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Export/import JSON&lt;/li&gt;
&lt;li&gt;Shareable event links&lt;/li&gt;
&lt;li&gt;Multi-user sync (Firebase/Supabase)&lt;/li&gt;
&lt;li&gt;Calendar (.ics) export&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/whitgunt77/weekend-hub" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;This app was intentionally built with simplicity and clarity in mind.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧱 Structure
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Semantic HTML for accessibility&lt;/li&gt;
&lt;li&gt;Clear separation between UI, state management, and rendering&lt;/li&gt;
&lt;li&gt;Small reusable rendering functions (events, announcements, resources)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🗂 State Management
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Central &lt;code&gt;state&lt;/code&gt; object&lt;/li&gt;
&lt;li&gt;Read/write to LocalStorage with safe JSON parsing&lt;/li&gt;
&lt;li&gt;Derived values for stats and filtered event lists&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⚡ Interactivity
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Event delegation for dynamic elements&lt;/li&gt;
&lt;li&gt;Clipboard API for quick sharing&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;aria-live&lt;/code&gt; regions for screen reader feedback&lt;/li&gt;
&lt;li&gt;Safe HTML escaping to prevent injection issues&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🎨 Styling Approach
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;CSS custom properties for theming&lt;/li&gt;
&lt;li&gt;Dark-first design with a light theme override&lt;/li&gt;
&lt;li&gt;Responsive grid layout&lt;/li&gt;
&lt;li&gt;Accessible focus states&lt;/li&gt;
&lt;li&gt;Soft gradients and subtle depth for a modern SaaS feel&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;Communities thrive on momentum.&lt;/p&gt;

&lt;p&gt;When logistics are smooth, people focus more on building, learning, and collaborating.&lt;br&gt;&lt;br&gt;
Weekend Hub removes friction so a community can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Organize quickly
&lt;/li&gt;
&lt;li&gt;Participate easily
&lt;/li&gt;
&lt;li&gt;Share resources clearly
&lt;/li&gt;
&lt;li&gt;Feel connected
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s small — but it meaningfully serves the real rhythm of a weekend learning group.&lt;/p&gt;




&lt;p&gt;Thanks for the challenge — this was a fun one to build. 🚀&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
