Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,3 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts

plan/*.md
87 changes: 87 additions & 0 deletions plan/content.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# VanJS Website Content Enhancement Plan

This plan outlines suggestions to enhance the website content, aiming to better reflect VanJS as a fun, active learning hub that showcases Vancouver's thriving developer community.

## I. Overall Tone & Voice

* **Action:** Adopt a more enthusiastic, welcoming, and community-focused tone throughout the website copy.
* **Keywords to weave in:** "vibrant", "connect", "share", "learn", "grow", "discover", "active", "fun", "community hub", "Vancouver's own".
* **Speak directly to the user:** Use "you", "your", "join us".

## II. Section-Specific Content Suggestions

### 1. Header
* **Current:** Functional, logo, navigation.
* **Suggestion:** While primarily navigational, ensure the overall site tone (set by other sections) makes even the header feel like part of a welcoming space.

### 2. "Make Us LOL!" Section
* **Current:** "We love a good laugh! Submit your funniest joke and it might be featured at our upcoming event."
* **Goal:** Amplify the "fun" aspect and clarity.
* **Suggestions:**
* **Revised Intro:** "Got a killer dev joke? VanJS is where Vancouver's sharpest JavaScript minds unwind! Share your funniest (clean!) tech-related joke, and it might just steal the spotlight at our next meetup or on our social channels. Let's make our community LOL!"
* **Clarify Feature:** Be more specific about *where* jokes might be featured (e.g., "during meetup intros," "on our Twitter/LinkedIn").

### 3. Hero Section (`#hero`)
* **Current Tagline Area:** "VanJS" (H1) + Duck Image.
* **Current Description:** Focuses on what VanJS is, GitHub links.
* **Goal:** Create a more impactful first impression emphasizing learning, community, and activity.
* **Suggestions:**
* **Engaging H1/Sub-headline:** Consider adding a sub-headline below or near the "VanJS" H1:
* Example: "VanJS: Your Hub for JavaScript & Vancouver's Thriving Dev Community."
* Example: "VanJS: Learn, Connect, and Grow with Vancouver's Active JavaScript Scene."
* **Enrich Description:** Inject more dynamism:
* "Dive into Vancouver's most active monthly gathering for JavaScript enthusiasts! VanJS is your go-to for exploring the latest in JavaScript, front-end tech, and the open web. Whether you're a seasoned pro or just starting your coding journey, you'll find a welcoming space to learn from local experts, share your own insights (check out our Call for Speakers!), and connect with our vibrant developer community."

### 4. Upcoming Events Section (`#upcoming`)
* **Current Intro:** "Check out our upcoming VanJS events in Vancouver."
* **Current Event Descriptions:** Often generic (e.g., "Join us for our monthly JavaScript meetup in Vancouver.").
* **Goal:** Make events sound unmissable, highlighting learning and networking.
* **Suggestions:**
* **Section Intro:** "Don't miss what's next! VanJS is always buzzing. Secure your spot for our upcoming events – get ready to learn something new, meet brilliant folks, and be part of Vancouver's passionate JS community."
* **Event Descriptions (Examples):**
* For Socials: "*VanJS March 2025 Social:* Kick back, chat, and connect! Join your fellow JavaScript devs at The Pint Public House for an evening of relaxed networking. Less code, more conversation – the perfect way to expand your Vancouver tech circle."
* For Talks: "*VanJS Easter Talks:* Spring into new ideas with VanJS! We're gathering at Northeastern University for an exciting lineup of talks from Vancouver's own JS innovators. Expect fresh perspectives, lively Q&A, and a great learning atmosphere."
* **Crucial:** If speaker names and talk titles are available, *always* include them. E.g., "Featuring [Speaker Name] on [Talk Topic]!"

### 5. Past Events Section (`#past`)
* **Current Intro:** "Check out our past VanJS events in Vancouver."
* **Goal:** Showcase the history of valuable content and consistent activity.
* **Suggestions:**
* **Section Intro:** "Curious about what VanJS has been up to? We've hosted a fantastic range of talks and events! Browse our past meetups to see the diverse topics covered and the incredible insights shared by our community speakers."
* **Event Descriptions (if possible to augment briefly):** If recaps are detailed, hint at it. "*VanJS August 2024:* Explored AI dev tools, VFX-JS, and WebXR. View recap for highlights!"
* **Emphasize "View Recap":** Ensure this CTA is clear and links to genuinely informative content (Luma pages, slides, recordings if any).

### 6. "Join Our Discord" Section (`#discord`)
* **Current Intro:** "Connect with our community on Discord to get real-time help, share ideas, and discuss projects!"
* **Goal:** Position Discord as an active, supportive extension of the meetup.
* **Suggestions:**
* **Section Intro:** "The VanJS conversation never stops! Our Discord server is a thriving 24/7 hub for Vancouver's JavaScript enthusiasts. Jump in to ask questions, get real-time coding help, share your latest projects, discover new tools, and stay connected with your local dev community between meetups. It's where the learning, sharing, and fun continue!"

### 7. FAQ Section (`#faq`)
* **Current Intro:** "Some frequent questions from our community:"
* **Goal:** Reinforce welcoming nature and value proposition.
* **Suggestions:**
* **Review Answer Tone:** Ensure answers are friendly, clear, and helpful.
* **Consider Adding a Value-Focused FAQ:**
* Q: "Why should I attend VanJS? / What makes VanJS special?"
* A: "VanJS is your direct connection to Vancouver's vibrant JavaScript scene! It's a fantastic place to learn from local developers who are passionate about their craft, share your own knowledge (we love first-time speakers!), expand your professional network, and just have a great time with like-minded people. We're all about building a supportive and active community."
* **On Ticket Price:** The current explanation is good. Could end with: "...ensuring VanJS remains a valuable and sustainable resource for our amazing dev community."

### 8. Footer (`#footer-contact`)
* **Current:** Logo, social/event links.
* **Goal:** A final friendly touch.
* **Suggestions:**
* Consider a small tagline if space and design allow: e.g., "VanJS: Connecting Vancouver's JavaScript Developers Since [Year]." or "Proudly part of Vancouver's tech community."

## III. General Content Opportunities

1. **Testimonials/Quotes:**
* **Suggestion:** If you can gather short, positive quotes from attendees or speakers about their VanJS experience (e.g., what they learned, who they met, why it's fun), incorporating a few on the homepage or a dedicated section could be very powerful social proof.

2. **Highlighting Local Talent/Companies:**
* **Suggestion:** When mentioning past talks or if creating speaker profiles in the future, briefly mentioning the speaker's company (if they're representing it) helps showcase the breadth of Vancouver's tech ecosystem involved with VanJS.

3. **Visual Storytelling:**
* **Suggestion:** Ensure images used (especially `hero.webp` and any future event photos) genuinely reflect the energy, diversity, and engagement of the meetups. Good photos are key to conveying "fun" and "active community."

By refining the language and focusing on these themes, the VanJS website can more effectively communicate its value and the vibrancy of the community it serves.
96 changes: 96 additions & 0 deletions plan/design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Design Improvement Suggestions for VanJS Website

This document outlines potential design and user experience (UX) improvements for the VanJS website, based on a review of its structure and content.

## I. Header & Navigation

1. **Mobile Navigation:**
* **Observation:** The main navigation links (`Home`, `Upcoming`, `Past`, etc.) are hidden on smaller screens, and no alternative (e.g., hamburger menu) is provided. Only the "VanJS" logo and "Attend" button are visible.
* **Suggestion:** Implement a mobile-friendly navigation pattern (e.g., hamburger icon that toggles a dropdown or off-canvas menu) to ensure all navigation links are accessible on all device sizes. This is critical for usability.

2. **"Speakers" Nav Link:**
* **Observation:** The "Speakers" link in the header navigation (`#speakers`) points to a section that is currently commented out on the page.
* **Suggestion:** Either remove this link from the header until the "Speakers" section is implemented and live, or clearly mark it (e.g., "Speakers (Coming Soon!)") and have it link to a placeholder if appropriate. A dead link can be frustrating for users.

3. **Visual Hierarchy of "Attend" Button:**
* **Observation:** The "Attend" button in the header uses `bg-secondary`.
* **Suggestion:** Ensure `bg-secondary` provides strong visual prominence if "Attend" is the primary call to action in the header. Its visual weight should align with its importance. The current yellow header (`bg-[#FEB92F]`) is very vibrant; ensure the "Attend" button stands out sufficiently or consider if it should have the primary brand color if it's the most important action.

## II. Hero Section (`#hero`)

1. **Clarity of Visual Elements:**
* **Observation:** The main `H1` "VanJS" is next to a rotated duck image. Below this is descriptive text and then a larger "hero" image (`hero.webp`).
* **Suggestion:** Ensure a clear visual flow. The primary headline should grab attention first. Consider the visual balance between the text block and the `hero.webp` image, especially on different screen sizes. Use spacing to clearly separate the introductory text/logo area from the main hero image if they are distinct concepts.

2. **Alt Text for Hero Image:**
* **Observation:** Alt text is "VanJS event or community highlight image".
* **Suggestion:** While much better than "Hero", make it even more specific if the image depicts a recognizable scene, type of event, or specific group of people (while respecting privacy). E.g., "Attendees networking at a VanJS meetup" or "Speaker presenting at VanJS event at Northeastern University."

## III. "Make Us LOL!" Section

1. **Visual Integration:**
* **Observation:** This section appears above the main "Hero" section with the `H1` heading. This might feel a bit out of place as the first interactive content users see.
* **Suggestion:** Consider the placement of this section. If it's secondary content, it might fit better further down the page, or be visually styled to be less prominent than the main site introduction/hero. Alternatively, integrate its styling more closely with the overall page flow.

2. **Call to Action (CTA) Feedback:**
* **Observation:** The "Submit Your Joke" button links to a Google Form.
* **Suggestion:** While the form itself will provide confirmation, consider adding a brief sentence near the button like, "Winners announced at the event!" or "Selected jokes shared on our social media!" to provide more context and incentive.

## IV. Event Cards (Upcoming & Past)

1. **Visual Consistency & Information Density:**
* **Observation:** Event cards display title, description, date, location, and an action button ("Attend" / "View Recap"). Some have sticker images.
* **Suggestion:**
* Ensure consistent sizing and alignment of elements within the cards, especially if description lengths vary significantly.
* For the sticker images on cards (e.g., `VanJS October 2024` image, `ref=s1e56`), ensure their placement and size feel intentional and don't overcrowd the card. If they are purely decorative, they could be more subtle.
* The date and location icons are good, ensure the text next to them is always clearly legible and well-aligned.

2. **Clarity of "Sticker Images" in Event Cards:**
* **Observation:** Some event cards have an "VanJS October 2024" image (`ref=s1e56`) which seems to be a sticker.
* **Suggestion:** Ensure the purpose/meaning of these sticker images within the event cards is clear to the user or that they are primarily decorative. If they convey specific event themes, their visual style should support that. The current alt text for this sticker is its title, which is okay, but its visual role is worth considering.

## V. Past Events - "Show More" Functionality

1. **Visual Feedback for Hidden Content:**
* **Observation:** A "Show More" button loads more past events.
* **Suggestion:** Consider adding a visual cue that more events are available even before the button is clicked if it's not immediately obvious (e.g., a subtle fade-out at the bottom of the initially visible list). The current implementation (button appears if `pastEvents.length > 6`) is functional.

## VI. "Join Our Discord" Section

1. **CTA Prominence:**
* **Observation:** The Discord button is present with descriptive text.
* **Suggestion:** Ensure the Discord button is visually compelling and stands out as a clear call to action. The duck image placement is playful; ensure it doesn't distract from or awkwardly crowd the button on any screen size.

## VII. FAQ Section

1. **Readability of Accordion:**
* **Observation:** Uses a Radix-based accordion.
* **Suggestion:** Double-check the visual styling of the accordion (trigger and content areas). Ensure sufficient click target size for triggers, clear visual distinction between questions and answers, and that the open/close animation is smooth. The custom CSS for the accordion had some potential issues (e.g., `var(blue)` typo); ensure these are resolved for consistent styling.

## VIII. Footer

1. **Icon Clarity and Actionability:**
* **Observation:** The footer contains the VanJS logo and icons for Tickets, Meetup, and LinkedIn.
* **Suggestion:** Ensure the icons are clearly recognizable and that their clickable area is sufficient. If these are important links, give them enough visual space. Consider if text labels alongside or on hover could be beneficial, though the `title` attributes help.

## IX. General Design & UX Considerations

1. **Typography & Spacing:**
* **Suggestion:** Review overall typography (font sizes, line heights, font weights) for headings, paragraphs, and links to ensure a clear hierarchy and good readability. Pay attention to whitespace (margins, paddings) to avoid a cramped feel and to group related content effectively.

2. **Color Palette & Contrast:**
* **Observation:** The primary brand color appears to be a vibrant yellow (`#FEB92F`). Other colors like `bg-muted`, `text-muted-foreground`, and black text are used.
* **Suggestion:** Ensure all text has sufficient contrast against its background, especially for `text-muted-foreground` on various backgrounds. The yellow, while vibrant, needs to be used carefully to ensure text on it is always legible. Use an online contrast checker tool.

3. **Responsiveness & Consistency:**
* **Suggestion:** Thoroughly test the page across various screen sizes (mobile, tablet, desktop). Ensure:
* Layouts adapt gracefully.
* Text remains readable.
* Click targets are easy to hit.
* No content overflows or breaks.
* The visual experience is consistent and polished.

4. **Visual Feedback on Interaction:**
* **Suggestion:** Ensure all interactive elements (links, buttons, accordion triggers) provide clear visual feedback on hover and focus states (e.g., underline, color change, outline). This is crucial for usability and accessibility. The `hover:underline` on nav links is good; ensure similar clear feedback everywhere.

This list provides a starting point for design considerations. User testing with actual target audience members would be invaluable for identifying further UX improvements.
Loading