├── .gitignore ├── README.md ├── assets ├── contact-members.png └── the-world.png ├── discussions └── remix-react-router-merge.md ├── running-a-successful-meetup.md ├── starting-a-new-meetup.md ├── tech-tips.md └── templates ├── meetup-bio.md ├── meetup-email.md ├── meetup-event.md └── talk-proposal.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Remix Meetup Guides 2 | 3 | 4 | Map of the world with red dots representing various Remix meetups 5 | 6 | 7 | This repository is a collection of guides for running a Remix meetup. 8 | 9 | Remix meetups are community-run groups [all around the globe](https://www.meetup.com/pro/remix-run/) where people can learn, share, and collaborate on Remix projects. 10 | 11 | **Start here** 👉 [Starting a New Remix Meetup](./starting-a-new-meetup.md) 12 | 13 | **Tips and tricks** 👉 [Running a Successful Meetup](./running-a-successful-meetup.md) and [Tech Tips](./tech-tips.md) 14 | 15 | All meetups and especially meetup organizers must abide by the Remix [code of conduct](https://github.com/remix-run/remix/blob/main/CODE_OF_CONDUCT.md). Feel free to copy and use this CoC for your own meetup. 16 | -------------------------------------------------------------------------------- /assets/contact-members.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remix-run/meetup-guides/5bac6394298c979df0fba17983fbe829848cf602/assets/contact-members.png -------------------------------------------------------------------------------- /assets/the-world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remix-run/meetup-guides/5bac6394298c979df0fba17983fbe829848cf602/assets/the-world.png -------------------------------------------------------------------------------- /discussions/remix-react-router-merge.md: -------------------------------------------------------------------------------- 1 | # Remix ➡️ React Router Merge 2 | 3 | In case you didn't see the [announcement blog][announcement-blog] or [followup blog][followup-blog], we are merging Remix into React React Router. This inevitably brings up questions about the future of the Remix meetups. 4 | 5 | ## Are the meetups shutting down 6 | 7 | Absolutely not, we love the meetups. As of writing this, the [Remix network][remix-network] on Meetup has: 8 | 9 | - 3,823 members 10 | - 15 groups 11 | - 10 countries represented 12 | 13 | I personally believe local tech communities are incredibly valuable in an increasingly digital world. They allow people to connect in meaningful ways, share ideas and get realtime (and typically more polite) feedback, and expand their circle of influence and friends in their city. Meetups also allow people to ask questions, learn something new, and practice giving technical talks in a less stressful environment than a big conference stage 14 | 15 | ## Should I rename my meetup to React Router Meetup 16 | 17 | Nope! We are very set on keeping the Remix brand. To quote [Merging Remix and React Router][announcement-quote] 18 | 19 | > As for the Remix brand, it's not going anywhere. We are the Remix team, React Router is a Remix project, and we have really exciting plans beyond React Router we can't wait to talk about. 20 | 21 | And [Incremental Path to React 19: React Conf Follow-Up][followup-quote] 22 | 23 | > We love Remix! The brand, the community, the ethos. 24 | 25 | What does that even mean to "keep the brand" when we're seemingly taking a step backwards with the Remix packages? 26 | 27 | We're taking a step backwards so we can take a step forward (see followup article for hints as to what this is). React Router is kind of boring, and a bit of that is by design. It's popular, but boring. We have some work to do to convince people that it is a web framework (a lot of that has to do with breaking down what people think a framework even is). But that's really not going to be prohibitor of it's adoption, because it is already so widely used and is going to be the only existing migration path to React 19 (RSC specifically) for the majority of apps. 28 | 29 | So boring tech === good 30 | 31 | That's not entirely the case for things like meetups though, where you're trying to entice people to come give you a few hours out of their lives. 32 | 33 | So we're keeping the name Remix for the meetups as well. It's the parent team and ethos behind React Router, and everything that Remix has been is just a subset of what Remix will be. Plus, when the `remix` package comes back, it'll avoid us all switching our meetup names right back. 34 | 35 | ## How should I be marketing my meetup 36 | 37 | This is where I hope we as meetup organizers can bounce off ideas. 38 | 39 | For a time, I actually think the meetups might gain even more attention. There are likely a lot of people who have just now heard about Remix because of the announcement, or have a newfound interest in learning Remix since they're hearing that these features are coming to React Router. For the next few months we get to: 40 | 41 | - Introduce people to Remix/React Router patterns and APIs 42 | - Share about migration paths 43 | - Address questions about the future of Remix 44 | - Demo/announce React Router v7 when it comes out 45 | 46 | For my meetup, I see a lot of easy talks that need to be given, which I'm excited to encourage new speakers to give. 47 | 48 | More than that though, I think there's a good opportunity to focus on the Remix tagline: 49 | 50 | > Build Better Websites 51 | 52 | That's what Remix is about right now. The meetups still teach people how to build better websites. This doesn't change the fact that there are many developers who want to learn about databases, servers, deployment options, optimistic/pending ui, styling patterns, etc. 53 | 54 | You as a meetup organizer are the on-the-ground eyes and ears of what people are wanting to learn, what they want to know, what makes sense about this announcement and what doesn't. Continuing these meetups is going to be incredibly valuable for the Remix team, because you will be able to give us some of the most important feedback we can get. In my economy, generally 55 | 56 | 1 IRL opinion === 10 twitter opinions 57 | 58 | So I'm hoping we'll keep talking. Be honest and upfront with me. Tell me if it starts to suck organizing the Remix meetups. Tell me if attendees are struggling to get the message. Share successes you've seen, and ideas you have for us to make this better. 59 | 60 | This repo is always open, if you have something you think should be here, or even just want to start a discussion: create a new markdown file, write it up, and submit a PR. 61 | 62 | Thank you all for running these meetups. They have a very special place in my heart. 63 | 64 | [announcement-blog]: https://remix.run/blog/merging-remix-and-react-router 65 | [followup-blog]: https://remix.run/blog/incremental-path-to-react-19 66 | [remix-network]: https://www.meetup.com/pro/remix-run/ 67 | [announcement-quote]: https://remix.run/blog/merging-remix-and-react-router#whats-happening-to-remix:~:text=As%20for%20the%20Remix%20brand%2C%20it%27s%20not%20going%20anywhere.%20We%20are%20the%20Remix%20team%2C%20React%20Router%20is%20a%20Remix%20project%2C 68 | [followup-quote]: https://remix.run/blog/incremental-path-to-react-19#:~:text=we%20love%20Remix!%20The%20brand%2C%20the%20community%2C%20the%20ethos. 69 | -------------------------------------------------------------------------------- /running-a-successful-meetup.md: -------------------------------------------------------------------------------- 1 | # Running a Successful Meetup 2 | 3 | Wanting to start a new meetup? Be sure to read [Starting a New Remix Meetup](./starting-a-new-meetup.md) first and then come back to this guide. 4 | 5 | As a Remix Meetup organizer, you're empowered and responsible to run your meetup as you see fit. Cater your meetup to your attendees, city, and culture. 6 | 7 | There's no "Remix Meetup" formula you have to follow. Many successful meetups incorporate these 4 elements elements: 8 | 9 | - A consistent location 10 | - A consistent schedule (e.g. first Wednesday of the month) 11 | - A speaker/central activity 12 | - Food/drinks 13 | 14 | There are meetups that also have their own websites, run hackathons, and cross-organize with other meetups. This guide is a starting point for those new to organizing a meetup. This guide is also a place for other meetup organizers to share any tips and tricks they've learned. 15 | 16 | If you feel like something is missing, please open up a PR and contribute. 17 | 18 | ## Scheduling your first event 19 | 20 | It's up to you when and how you want to launch your meetup. For many organizers they go through the [Starting a New Remix Meetup](./starting-a-new-meetup.md) guide and the immediately set a date and create their first event, then figure out the rest from there. 21 | 22 | This can work, but it can also lead to softer launch than you may desire, and even potentially early [burnout](#im-getting-burned-out-what-do-i-do). Remix Tokyo organizer, [Coji Mizoguchi](https://twitter.com/techtalkjp) has a suggested formula to help kick your group off on a solid footing: 23 | 24 | 1. Reach out directly to 1-2 well-known regional folks to secure them as featured guests/speakers 25 | 2. Tentatively set the date and location based on the featured guests' availability 26 | 3. Reach out to a few other notable people letting them know the featured guests are participating 27 | 4. Once you have ~5 speaker commitments, officially announce the meetup and open registration 28 | 29 | This approach helps ensure strong attendance and value for participants. 30 | 31 | ## How do I get people to come? 32 | 33 | For most meetups, getting people to come is about 2 things: 34 | 35 | 1. Marketing 36 | 2. Consistency 37 | 38 | Marketing gets people in the door. Providing a good and consistent experience is what gets people to come back. This section focuses specifically on marketing and the various channels organizers have found successful. 39 | 40 | ### Meetup.com 41 | 42 | [Meetup.com](https://www.meetup.com/) is not perfect, but one thing it's good about is giving your meetup/events reach. This is the first layer of marketing, and you'll likely add more layers as you go. 43 | 44 | Schedule your meetup at least 2 weeks in advance. Some meetups schedule the next 2-3 meetups in advance, which helps people plan for them and also signals that you are running a healthy meetup 45 | 46 | ### Twitter/X 47 | 48 | Twitter/X can be a nice additional marketing channel, depending on your reach. Many people choose to stay off Twitter, which is very understandable. For better or worse, a large portion of the tech community is on Twitter. Additionally, if you have an online presence to your meetup that you want to grow, there are many developers on Twitter who aren't lucky enough to have a Remix Meetup near them that would love to join yours virtually. 49 | 50 | If you do post about your Meetup on Twitter, be sure to tag [@remix_run](https://x.com/remix_run) so someone on the Remix team can retweet it. 51 | 52 | ### Email 53 | 54 | Meetup allows you to email your members. As your Meetup grows, you may be hesitant to send an email to hundreds of people asking them to come to your Meetup. Remember, people joined your Meetup group for a reason. Even if they haven't come yet, they may still be intending to, and a quick email the Monday before your event, or sometime in the week prior, can be a really effective reminder. 55 | 56 | Here's an [email template](./templates/meetup-email.md) to show you how simple it is. The key is to make it engaging, to-the-point, and actionable. Make it fun and inviting, but don't make it incredibly verbose, and most importantly have a call-to-action to RSVP. 57 | 58 | 59 | 60 | ### Remix Discord 61 | 62 | Every meetup has a channel inside the [Remix Discord](https://rmx.as/discord) (if you don't, please bug Brooks Lybrand). This is your space to do what you want with. Some meetups use it to communicate and plan, others use it to ask questions, and others use it as just another marketing channel to post where there's a new event. 63 | 64 | No matter how you want to use it, it's recommended to at least post when you've scheduled a new event. 65 | 66 | ## How do I get people to speak? 67 | 68 | The easiest way to get speakers is to ask! 69 | 70 | On your Meetup page you should have a speaker sign up form prominently displayed. In every meetup you can link to this form. The reason someone doesn't speak _should never_ be because they didn't know how to sign up. 71 | 72 | Feel free to copy this [talk proposal template](./templates/talk-proposal.md) and edit it to fit your needs. Many meetup organizers use [Google Forms](https://www.google.com/forms/about/) since it's easy and free, but feel free to use whatever you'd like. 73 | 74 | Finding regular speakers may take some time and persistence, but there are lots of people who want to give talks. Many have never given a technical talk before, especially not to a group of strangers. Do everything you can to lower the barrier of entry for people giving their first talk (lightning talks are a good way to do this). 75 | 76 | The best time to ask for speakers is at each meetup. You already have a captive audience of people who want to be there and want to talk about Remix and web development. If someone is thinking about giving a talk, it may be much easier for them to talk to you in person about their idea, whereas they may forget about it during the week. 77 | 78 | A good tip is to show a slide with a bunch of ideas for topics. Something like the following could be used: 79 | 80 | - a11y in Remix (Accessibility) 81 | - i18n in Remix (Internationalization) 82 | - Demo a cool technology with Remix 83 | - Lighting talks 84 | - Nested routing 85 | - Cookies 86 | - Styling strategies in Remix 87 | - Optimistic UI 88 | - MDX in Remix 89 | - Deploying Remix on X 90 | - Demo a cool project you’ve built! 91 | 92 | ### What if I don't have a speaker this month? 93 | 94 | For many meetup organizers they become the default backup speaker for month's where they can't find someone. If you enjoy giving talks, and you are receiving positive feedback on your talks, this can be fine. Most meetup organizers try to limit the amount of talks they give, since the purpose of a local meetup is to build community, not an audience. 95 | 96 | A good option for meetups where you don't have a speaker is to host a small workshop or mini hackathon. This takes a little prep work, and is best accomplished with the help of others. A simple format could be something like the following: 97 | 98 | - **Goal**: Build a simple restaurant checkout flow in Remix 99 | - **Requirements**: Must have a landing page, a product page, and a working checkout flow 100 | - **What you're given**: Template with a SQLite data base and some wireframes 101 | 102 | The key with a workshop or hackathon is to be very aware of time. It's better to ask groups to do too little than too much. It's also ideal to let groups share at the end of the night what they built and what they learned. 103 | 104 | Another good tip if you do something like this is ask experienced engineers and members of the community to act as team leads ahead of time, so they can come in prepared. 105 | 106 | As a last resort, you can always dedicate a meetup as a socializing event - a chance to simply chat with others, network, and get to the know people in the community. It's helpful to mention at the beginning of the meetup that this type of event is an exception, ensuring that newcomers have accurate expectations for future meetups. 107 | 108 | Meetups thrive on consistency, so putting time in to organize a quick workshop/hackathon or simply having a dedicated time to converse with each other is much better for the health of your meetup than cancelling an event. 109 | 110 | ## How do I find a host/sponsor? 111 | 112 | Just like finding a speaker, the best thing to do is to ask! 113 | 114 | Many organizers get their company to host and/or sponsor. For some organizers this won't work given the size or lack of an office. 115 | 116 | When trying to find a host/sponsor look into the well known companies in your city. This could be a well known tech company like Shopify, or it could even be a local, but well known tech company with office space. See if you have any connections with engineers working at these companies, or reach out to a dev advocate or facilities managers. The worst a company can do is say no. 117 | 118 | When trying to convince a company to host/sponsor, it's a good idea to phrase the meetup in terms of why it would benefit them. If their company uses Remix or React Router, that may be a very entry point. But even if they don't, many companies use React, or at the very least develop on the Web, so it can be a good community for their employees. Other benefits to companies is exposure for recruiting or for their services. Offer guaranteed speaking time or a slide for every host/sponsor so there is a mutual benefit to the relationship. 119 | 120 | ## I'm getting burned out, what do I do? 121 | 122 | Running a meetup can be a lot of work, and while many find it very rewarding, there are times where it can feel pretty thankless. Just like with anything, it's easy to lose the spark and sense of fulfillment that first drew you in, and it can be especially hard to push through when it's something you're volunteering your personal time doing. 123 | 124 | The first thing to recognize is it's okay to experience burnout. It doesn't mean anything bad about you, and it doesn't mean you're some sort of "failure" or that you're going to "let people down". Take care of yourself first and foremost. 125 | 126 | When processing burnout, it might be good to take a month off from the meetup. Another option is to use a meetup event as a "social meetup", where you invite folks to meet for dinner or drinks. This can turn what has felt like a chore into something enjoyable again, and give you a moment to pause and reflect. 127 | 128 | Once you've given yourself a second to breath, take a few minutes to ask yourself the following questions, or find someone you trust and who knows you well to ask you the following: 129 | 130 | 1. Do I want the meetup to continue 131 | 2. Do I want to be part of organizing this meetup going forward 132 | 133 | If the answer is yes to 1 and 2, you likely need to either descale what the meetup involves, or ask for help. Descaling will be specific to your meetup, and a helpful exercise may be imaging what a sustainable meetup would look like. In either case, if you have been running a meetup for a while and have started developing relationships with the members, go ahead and ask some of the most trusted ones for help. 134 | 135 | When asking for help, it's good to be specific. If someone picked up the food for you each week would that help you keep the meetup going? Then ask for that. Help doesn't have to be a big thing, and many people are more than willing to help out. 136 | 137 | If you said yes to 1, and no to 2, then start asking members if anyone would like to take over the meetup. If you have the energy offer to mentor the new organizer(s) and maybe even share responsibilities for the next few meetups. This can help make the ask less daunting. If you are completely burned out and don't think you can oversee a transition, start asking for someone to take over the meetup ASAP. 138 | 139 | If you said no to 1 and 2, first please ask if someone else would like to take over the meetup, as there may be members interested in it's continued existence. If there is no one, and you're ready to retire the meetup, please reach out to Brooks Lybrand so he can officially shut it down. 140 | -------------------------------------------------------------------------------- /starting-a-new-meetup.md: -------------------------------------------------------------------------------- 1 | # Starting a New Remix Meetup 2 | 3 | Welcome! 4 | 5 | If you're reading this guide, that means you're interested in starting a [Remix meetup](https://www.meetup.com/pro/remix-run/) 6 | 7 | There are a few other docs in this repo to help you run a successful meetup, but to get started you just need to follow these simple steps 8 | 9 | 1. [Find a host location](./running-a-successful-meetup.md#how-do-i-find-a-hostsponsor) to meet, ideally somewhere you can meet monthly 10 | 2. (optional) Find a company/someone who will sponsor food as a motivation for attendees to checkout the group 11 | 3. When you're ready, reach out to Brooks Lybrand on the Remix team and he'll give you a token to create a meetup group as part of the larger Remix pro group. Remix will pay for the monthly pro meetup account 12 | 4. [Find a speaker](./running-a-successful-meetup.md#how-do-i-get-people-to-speak) or come up with a workshop/project for the first meetup 13 | 5. Schedule your first meetup 14 | -------------------------------------------------------------------------------- /tech-tips.md: -------------------------------------------------------------------------------- 1 | **This document is a little sparse, do you have a tech tip you'd like to share?** 2 | 3 | Not sure if this is necessary, but some thoughts on what can go here: 4 | 5 | - How to stream to YouTube via Zoom 6 | - Recommendations for presentation software 7 | - Links to open source websites any groups have built 8 | -------------------------------------------------------------------------------- /templates/meetup-bio.md: -------------------------------------------------------------------------------- 1 | # Remix Meetup Bio Template 2 | 3 | Feel free to copy from any of the [meetup groups](https://www.meetup.com/pro/remix-run/). The following is a template you can adapt to get started: 4 | 5 | --- 6 | 7 | Hello 👋 and welcome to the Remix [YOUR_GROUP]! We are a community interested in building better experiences with Remix. Whether you're a beginner or an expert, we invite you to join us and share your knowledge and questions. 8 | 9 | We host monthly meetups both in-person in [City/Location] and online to ensure everyone can join us. Our meetups include talks, workshops, and Q&A sessions designed to help you grow your skills. 10 | 11 | Join us on the [frequency of meetings, e.g., third Wednesday of each month] at [specific time, if applicable]. For those who can't make it in person, we also stream our meetups live on our YouTube channel, where you can also find recordings of past events. 12 | 13 | - **Speak at a Meetup**: Have something to share? We're always looking for speakers. Sign up here: [Link to speaker sign-up form] 14 | - **Sponsor Us**: Interested in sponsoring an event or providing food? Find more information and sign up here: [Link to sponsorship form] 15 | - **Join the Conversation**: Connect with us on the official [Remix Discord](https://rmx.as/discord) in the #remix-[YOUR_GROUP] channel. 16 | Membership 17 | 18 | Note: Membership is free. This group is officially affiliated with the [Remix meetup network](https://www.meetup.com/pro/remix-run/) 19 | 20 | Our meetup follows the [Remix Code of Conduct](https://github.com/remix-run/remix/blob/main/CODE_OF_CONDUCT.md). We are committed to creating a welcoming and respectful environment for all members. 21 | 22 | We look forward to seeing you at our next meetup! 23 | -------------------------------------------------------------------------------- /templates/meetup-email.md: -------------------------------------------------------------------------------- 1 | Hey all, 2 | 3 | I'm really excited for this month's Remix **YOUR_CITY** meetup. This month we have an amazing speaker, **SPEAKER NAME** from **SPEAKER COMPANY**! 4 | 5 | **SOME BLURB ABOUT WHAT THE SPEAKER IS GOING TO TALK ABOUT** 6 | 7 | We will have food and drinks per usual, so [please RSVP](link-to-your-meetup) as soon as possible so I have a proper headcount before ordering food. 8 | 9 | See you **DAY OF YOUR MEETUP**! 10 | 11 | -**YOUR NAME** 12 | -------------------------------------------------------------------------------- /templates/meetup-event.md: -------------------------------------------------------------------------------- 1 | # Remix Meetup Event Template 2 | 3 | Feel free to copy from any of the [meetup groups](https://www.meetup.com/pro/remix-run/). The following is a template adapted from [Remix Utah](https://www.meetup.com/remix-utah/events/301213597/) you can adapt to get started: 4 | 5 | --- 6 | 7 | Join us for some free food, networking, and presentations! Meetups are a great way to connect with the community and learn from each other. 8 | 9 | **Schedule:** 10 | 11 | - 7:00: Greetings and food (Whatever you're catering) 12 | - 7:30: Speaker: TOPIC. Description 13 | - 8:30: Chat until we're kicked out 14 | 15 | **Want to Present?** 16 | 17 | You do not have to be an expert to present, it doesn't have to be about Remix specifically, and it can be a short presentation! It's one of the best ways to force yourself to learn something new and solidify what you've been learning. 18 | 19 | Please fill out this form [LINK A FORM] to volunteer to present. Filling out the form isn't necessarily a commitment to speak, so even if you _might_ be interested, please fill it out! 20 | 21 | **Sponsors** 22 | 23 | Thank you to [SPONSOR] for giving us a space and providing the food! 24 | -------------------------------------------------------------------------------- /templates/talk-proposal.md: -------------------------------------------------------------------------------- 1 | # Talk Proposal Template 2 | 3 | [Google Forms](https://www.google.com/forms/about/) is a free and simple tool for creating a talk proposal form. It's recommended to ask for the following: 4 | 5 | - Email 6 | - Your Talk Title 7 | - Your Talk Description 8 | - Your Name 9 | - Your Phone Number 10 | - Other comments (optional) 11 | 12 | Feel free to copy from any of the other [meetup groups](https://www.meetup.com/pro/remix-run/). 13 | --------------------------------------------------------------------------------