From 3158367b019ca06c74837afa07225cd9c9818aaf Mon Sep 17 00:00:00 2001 From: Nimrod Kramer <41470823+nimrodkra@users.noreply.github.com> Date: Thu, 4 Sep 2025 15:52:32 +0300 Subject: [PATCH 1/7] docs: enhance Boost documentation for posts and Squads - Updated the Boost section to include promotion options for both posts and Squads, clarifying features and requirements. - Added detailed instructions for boosting posts and Squads, including budget control and performance tracking. - Revised descriptions and placements for boosted content to improve clarity and user understanding. - Introduced a new section on managing active boosts and notifications for campaign updates. --- docs/monetization/boost.md | 99 +++++++++++++++++++++---- docs/squads/growing-your-squad.md | 23 ++++++ src/components/homepage/homeNavBoxes.js | 2 +- 3 files changed, 107 insertions(+), 17 deletions(-) diff --git a/docs/monetization/boost.md b/docs/monetization/boost.md index 6d127bb..aadc85d 100644 --- a/docs/monetization/boost.md +++ b/docs/monetization/boost.md @@ -1,26 +1,33 @@ --- sidebar_position: 2 -description: Boost your posts to reach more developers using daily.dev's in-app promotion tool. +description: Boost your posts and Squads to reach more developers using daily.dev's in-app promotion tools. --- -# Boosting your posts +# Boost ![boost your posts](https://daily-now-res.cloudinary.com/image/upload/v1752671864/docs/boost_post.png) -Promote any published post to reach more developers across daily.dev. Whether it’s on your profile or in a Squad, Post Boost helps your content get discovered. You choose how much to spend using cores and we handle the targeting and delivery. +Grow your reach on daily.dev with our Boost tools. Promote your posts to get more views and engagement, or boost your Squad to attract new members. Whether you're sharing content or building a community, Boost helps you connect with the right developers using cores. ## Key features -✨ **Automated targeting**: Our recommendation engine promotes your post to the right developers based on tags, reading habits, and engagement signals. No setup needed. +✨ **Automated targeting**: Our recommendation engine promotes your content to the right developers based on tags, reading habits, and engagement signals. No setup needed. -✨ **Flexible budget control**: Set your daily budget in cores and choose how long your boost runs. You’re always in control. +✨ **Flexible budget control**: Set your daily budget in cores and choose how long your boost runs. You're always in control. -✨ **Native placements**: Boosted posts show up in the feed, Squads, and discovery areas clearly labeled but fully integrated. +✨ **Native placements**: Boosted content shows up in the feed, Squad directory, and discovery areas clearly labeled but fully integrated. -✨ **Real-time insights**: Track spend, impressions, clicks, and engagement in the ads dashboard. +✨ **Real-time insights**: Track spend, impressions, clicks, engagement, and growth metrics in the ads dashboard. -## How to boost a post +✨ **Two boost types**: Promote individual posts for engagement or boost entire Squads to attract new members. +## Boost types + +### Post Boost + +Promote individual posts to increase views, engagement, and reach. + +**How to boost a post:** 1. **Publish** your post (on your profile or in a Squad). 2. Click **Boost**. 3. Set your **daily budget** (in [Cores](monetization/cores.md)). @@ -29,6 +36,25 @@ Promote any published post to reach more developers across daily.dev. Whether it ![boost your post example](https://daily-now-res.cloudinary.com/image/upload/v1752671850/docs/Screenshot_2025-07-16_at_16.14.47.png) +### Squad Boost + +Promote your entire Squad to attract new members and grow your community. + +**How to boost a Squad:** +1. Go to your **Squad page** (you must be an admin or moderator). +2. Click **Boost**. +3. Set your **daily budget** (in [Cores](monetization/cores.md)). +4. Choose the **number of days** to run the promotion. +5. Confirm the boost and let it run. + +![Squad Boost example](https://daily-now-res.cloudinary.com/image/upload/v1756990224/docs/Squad_Boost.png) + +**Requirements for Squad Boost:** +- Squad must be public +- Squad must have a description, profile image, and cover image +- Only admins and moderators can boost +- Only one boost can run at a time per Squad + ## Budget and duration - **Daily budget**: @@ -39,45 +65,86 @@ Promote any published post to reach more developers across daily.dev. Whether it You can stop a boost anytime. Unused cores are automatically credited back to your wallet. -## Where boosted posts appear +## Where boosted content appears +### Post Boost placements Boosted posts are featured across daily.dev in: - - The home feed - Squad feeds - Relevant tag feeds - Other discovery surfaces personalized per user +### Squad Boost placements +Boosted Squads appear as dedicated cards with Squad details in: +- **Main feed**: Prime ad slots with "Join Squad" call-to-action +- **Squad directory**: Featured section with priority placement +- Squad cards show: name, description, member count, cover image, and join button + All placements are labeled as *boosted* and respect the user experience. ## Performance tracking -Tracking your boosted posts can be done using the ads dashboard. To access it please click on your profile image and choose "Ads dashboard" from the dropdown menu. - -Go to the **ads dashboard** to track: +Track your boost campaigns using the ads dashboard. Access it by clicking on your profile image and choosing "Ads dashboard" from the dropdown menu. +### Post Boost metrics - **Spend** – total cores used - **Impressions** – how many times your post appeared - **Clicks** – how many users tapped through - **Engagement** – upvotes, comments, bookmarks +### Squad Boost metrics +- **Spend** – total cores used +- **Impressions** – how many times your Squad card appeared +- **Unique reach** – number of unique users who saw your Squad +- **New members** – users who joined your Squad during the campaign + +Both boost types show real-time data and campaign progress in the ads dashboard. + :::tip Try running shorter, high-budget boosts to spike discovery during key moments, like a product launch or new article drop. ::: +## Supporting Squad growth + +You don't need to be an admin or moderator to help Squads grow. **Awards** are a great way to support your favorite communities: + +- Give Awards on Squad posts or directly to the Squad itself +- Awards transfer cores directly to Squad admins and moderators +- They can use those cores to boost the Squad and attract more members +- It's a community-driven way to help Squads you love reach more developers + +## Managing active boosts + +### Squad Boost management +- **Campaign status**: When a Squad is being boosted, the boost button shows "Boosting" in a disabled state +- **Stop anytime**: Only the person who started the boost can stop it via "Manage ad" in the three-dot menu +- **One at a time**: Only one admin/mod can boost a Squad at any given time +- **Refunds**: Unused cores are automatically refunded when you stop a campaign early + +### Notifications +You'll receive notifications when: +- Your boost campaign completes (both email and in-app) +- Campaign progress updates during longer boosts + ## FAQs **Can I boost Squad posts?** Yes. Post Boost works for any published post, including those in Squads. +**Can I boost private Squads?** +No. Only public Squads can be boosted. + **Do I need to configure targeting?** -No. Targeting is handled automatically using our in-house engine. +No. Targeting is handled automatically based on Squad categories and content tags. **Can I run multiple boosts at once?** -Yes. You can promote multiple posts in parallel. +Yes for Post Boosts. For Squad Boosts, only one can run per Squad at a time. + +**What if my Squad doesn't have required details?** +You'll be prompted to add a description, profile image, and cover image in Squad settings before boosting. **Where can I see results?** -Check the ads dashboard for real-time metrics on each boost. +Check the ads dashboard for real-time metrics on each boost campaign. ## Need help? diff --git a/docs/squads/growing-your-squad.md b/docs/squads/growing-your-squad.md index d9e78cf..8904548 100644 --- a/docs/squads/growing-your-squad.md +++ b/docs/squads/growing-your-squad.md @@ -78,6 +78,29 @@ To improve your chances of being featured in the directory: 2. **Grow Membership**: Invite members to join and participate actively. 3. **Post Consistently**: Regular high-quality posts boost engagement and visibility. +## Accelerate Growth with Boost + +Ready to fast-track your Squad's growth? **Boost** gives admins and moderators powerful tools to reach more developers and grow faster. + +### Squad Boost +Promote your entire Squad to attract new members: +- **Targeted exposure**: Your Squad appears as dedicated cards in the main feed and Squad directory +- **Smart targeting**: Automatically shown to developers interested in your Squad's topics +- **Full control**: Set your budget in [cores](/docs/monetization/cores) and track new members in real-time +- **Requirements**: Squad must be public with description, profile image, and cover image + +### Post Boost +Amplify your Squad's best content: +- **Boost Squad posts**: Promote high-quality posts from your Squad to reach more developers +- **Increase engagement**: Get more views, upvotes, and comments on important content +- **Cross-promotion**: Boosted Squad posts can attract users to join your community + +:::tip +Combine both strategies: Use Squad Boost for member acquisition and Post Boost to showcase your best content. Members can also support your Squad by giving [Awards](/docs/monetization/cores#awards), which transfer cores directly to admins and moderators for future boosts. +::: + +**Ready to boost?** Visit your Squad page and click "Boost" or learn more in our [Boost documentation](/docs/monetization/boost). + ## Building an Engaged Community An active Squad is key to growth. By regularly posting, approving member contributions, and sparking discussions, your Squad can become a vibrant hub for developers. diff --git a/src/components/homepage/homeNavBoxes.js b/src/components/homepage/homeNavBoxes.js index e7e98d6..6a58a6b 100644 --- a/src/components/homepage/homeNavBoxes.js +++ b/src/components/homepage/homeNavBoxes.js @@ -120,7 +120,7 @@ const FeatureList = [ items: [ { url: 'docs/monetization/cores', text: 'Cores' }, { url: 'docs/monetization/awards', text: 'Awards' }, - { url: 'docs/monetization/boost', text: 'Post boost' }, + { url: 'docs/monetization/boost', text: 'Boost' }, ], }, { From 60bf489f3904bf97db4e972bf28451c973b3f13b Mon Sep 17 00:00:00 2001 From: Nimrod Kramer <41470823+nimrodkra@users.noreply.github.com> Date: Thu, 4 Sep 2025 15:55:47 +0300 Subject: [PATCH 2/7] fix: upgrade Node.js version from 18.x to 22.x for Vercel deployment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update Vercel configuration to use nodejs22.x runtime and update .nvmrc file to resolve Vercel deployment error about discontinued Node.js 18.x version. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .nvmrc | 2 +- vercel.json | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.nvmrc b/.nvmrc index 7795cad..2bd5a0a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.12 +22 diff --git a/vercel.json b/vercel.json index c6d9b51..f6e17e3 100644 --- a/vercel.json +++ b/vercel.json @@ -1,4 +1,9 @@ { "cleanUrls": true, - "trailingSlash": false + "trailingSlash": false, + "functions": { + "app/**": { + "runtime": "nodejs22.x" + } + } } \ No newline at end of file From e8174116687695bab430af17a3adbd1f2ec2bdb9 Mon Sep 17 00:00:00 2001 From: Nimrod Kramer <41470823+nimrodkra@users.noreply.github.com> Date: Thu, 4 Sep 2025 15:58:23 +0300 Subject: [PATCH 3/7] fix: correct Vercel runtime specification format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use @vercel/node@3.0.7 runtime format instead of nodejs22.x to resolve Vercel function runtime validation error. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- vercel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vercel.json b/vercel.json index f6e17e3..95d0fb8 100644 --- a/vercel.json +++ b/vercel.json @@ -3,7 +3,7 @@ "trailingSlash": false, "functions": { "app/**": { - "runtime": "nodejs22.x" + "runtime": "@vercel/node@3.0.7" } } } \ No newline at end of file From 78194687f9d0bd1f586b2587c50a094bd406f9b9 Mon Sep 17 00:00:00 2001 From: Nimrod Kramer <41470823+nimrodkra@users.noreply.github.com> Date: Thu, 4 Sep 2025 17:41:39 +0300 Subject: [PATCH 4/7] fix: remove unnecessary functions config from vercel.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove functions configuration as this is a static site build that doesn't require serverless functions. The .nvmrc file already specifies Node.js 22 for the build environment. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- vercel.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/vercel.json b/vercel.json index 95d0fb8..c6d9b51 100644 --- a/vercel.json +++ b/vercel.json @@ -1,9 +1,4 @@ { "cleanUrls": true, - "trailingSlash": false, - "functions": { - "app/**": { - "runtime": "@vercel/node@3.0.7" - } - } + "trailingSlash": false } \ No newline at end of file From 824280e4a6672501b05693e8bf14879a54e412ed Mon Sep 17 00:00:00 2001 From: Nimrod Kramer <41470823+nimrodkra@users.noreply.github.com> Date: Thu, 4 Sep 2025 17:42:58 +0300 Subject: [PATCH 5/7] fix: add explicit build configuration to vercel.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add buildCommand, installCommand, and framework settings to help Vercel properly detect and use the Node.js version from .nvmrc. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- vercel.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vercel.json b/vercel.json index c6d9b51..6ec0f5f 100644 --- a/vercel.json +++ b/vercel.json @@ -1,4 +1,7 @@ { "cleanUrls": true, - "trailingSlash": false + "trailingSlash": false, + "buildCommand": "npm run build", + "installCommand": "npm install", + "framework": "other" } \ No newline at end of file From cc223826d21a8b5c062244ee4e2100dbffb1ada8 Mon Sep 17 00:00:00 2001 From: Nimrod Kramer <41470823+nimrodkra@users.noreply.github.com> Date: Thu, 4 Sep 2025 17:45:45 +0300 Subject: [PATCH 6/7] fix: set framework to 'docusaurus' in vercel.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the correct Docusaurus framework preset instead of 'other' to ensure proper build detection and Node.js version handling. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- vercel.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/vercel.json b/vercel.json index 6ec0f5f..cea0a4c 100644 --- a/vercel.json +++ b/vercel.json @@ -1,7 +1,5 @@ { "cleanUrls": true, "trailingSlash": false, - "buildCommand": "npm run build", - "installCommand": "npm install", - "framework": "other" + "framework": "docusaurus" } \ No newline at end of file From c75db5e7eead06f9e2ef8ed2745d9c69a8afef63 Mon Sep 17 00:00:00 2001 From: Nimrod Kramer <41470823+nimrodkra@users.noreply.github.com> Date: Thu, 4 Sep 2025 17:48:29 +0300 Subject: [PATCH 7/7] fix: explicitly specify Node.js 22.x in package.json engines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add engines field to package.json to override Vercel project settings and ensure Node.js 22.x is used for deployment, resolving Node.js 18.x deprecation error. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index caee215..9af9db6 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,9 @@ "react-dom": "^18.3.1", "url-loader": "^4.1.1" }, + "engines": { + "node": "22.x" + }, "browserslist": { "production": [ ">0.5%",