Monthly Challenge Technical Guidelines
Monthly Challenge team communication and facilitation mostly takes place in Slack and GitHub. In this page, you will find a guide on how to work with Slack and update the website for the monthly challenge.
Updating the #monthly-challenge channel's topic and description on Slack
-
Click the down arrow next to the channel's name.

-
Click the "Edit" button in the topic section. Fill it in with the name of the challenge and the link to the challenge page on the website.
-
Click the "Edit" button in the description section. Fill it in with a brief description of the challenge.

Setting up a Slack bot
You can set up a Slack bot to drop a reminder and schedule a thread from your personal account.
Creating a Slack reminder
Some challenges require regular reminders during the challenge that drops daily or weekly. You can read the guide on how to set a reminder on the official Slack help center.
Scheduling a thread
Sometimes, you want to write a customized thread directly from your account, such as weekly check-ins. If you need to post the thread in a particular hour, you can schedule it by following the below instructions on your desktop:
-
Go to the channel where you want to post your message.
-
Write your message.
-
Click the down arrow next to the green "Send" icon.

-
Select the "Custom time".
-
Set the day and time. This day and time default to your timezone.

Updating the monthly challenge pages on the website
Even though most of our challenges remain the same as in previous years, we also create new challenges whenever there's a demand or when we feel it benefits our community. We make this information available on our Monthly Challenge pages.
Every month, we update these pages with the challenge's description and instructions on participating. Here is how to update the pages:
Creating a new challenge page
-
Copy a previous challenge in
src/content/monthly-challenges/(for example,nov-2024.mdx) to<mon-year>.mdx. The file name is the URL:sept-2026.mdxis/monthlychallenges/sept-2026. -
Update the frontmatter:
---
meta:
title: 'Monthly Challenge for September 2026: Preptember!'
description: 'September challenge -> …'
date: 2026-09-01
series:
- preptember
---seriesis the id of a file insrc/content/monthly-challenges/series/. A challenge can belong to more than one series. For a season-long challenge, addlistTitle: Fall 2026to override the default "September 2026" label. -
Write the content in Markdown. Components such as
LeadTextare imported at the top of the file, as in the existing challenges.
- For repeated challenges, copy the past challenge's file and update it to fit the upcoming challenge.
- For a brand-new challenge, you need to write the content from scratch to introduce and describe it. However, you can use the format of any previous challenge.
Updating the monthly challenge landing page
The landing page is built from the challenge and series files, so most changes happen there:
- Repeat challenge: nothing to edit. Once the new file's
seriesnames the series, it becomes that series' "most recent challenge" link, and the previous one moves into the past-challenges list automatically. - Current challenge: move
current: truefrom the old series file to the new one. - Blog post link: edit the series file's body. It's Markdown.
- Brand-new challenge: add
src/content/monthly-challenges/series/<id>.mdxwithtitle,subtitle,order(its position on the page), and the description as the body.
Adding a success "completed challenge" alert to the previous challenge
- Open the previous challenge's
.mdxfile insrc/content/monthly-challenges/. - Add the alert right above the page heading.
- Update the link to the new challenge.
Here is an example:
<div className="alert alert-success">
This monthly challenge is complete. Congratulations! Please join us for the
[next challenge](/monthlychallenges/oct-2026)!
</div>