Skip to content

[codex] Refresh incubator week page#2395

Merged
somepersonnamedjosh merged 1 commit into
masterfrom
codex/incubator-week-refresh
May 2, 2026
Merged

[codex] Refresh incubator week page#2395
somepersonnamedjosh merged 1 commit into
masterfrom
codex/incubator-week-refresh

Conversation

@somepersonnamedjosh

Copy link
Copy Markdown
Collaborator

Summary

  • Refreshes the Incubator Week page around the new 5-day, 0% equity positioning.
  • Replaces duplicated sections with a tighter flow: track record, week schedule, about you, and about BlueDot.
  • Updates Incubator Week program metadata, funding copy, and the programs listing.

Validation

  • npm --workspace @bluedot/website run typecheck
  • npm --workspace @bluedot/website run lint
  • npm --workspace @bluedot/website run test -- src/tests/pages/programs.test.tsx src/components/homepage/GrantsSection.test.tsx

@render render Bot temporarily deployed to codex/incubator-week-refresh - bluedot-preview PR #2395 May 2, 2026 00:22 Destroyed
@coderabbitai

coderabbitai Bot commented May 2, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This pull request updates the Incubator Week grant programme with revised marketing copy, funding details, and page structure. Changes include updating the programme entry status from "On hiatus" to "Active" and specifying "Cohort 4 runs in London, 1–5 June" with a 26 May application deadline. New React components (AboutBlueDotSection, AboutYouSection, TrackRecordSection) are introduced, and the programme page layout is restructured to include these components whilst removing previous sections. Funding information is updated throughout to reflect new amounts (initial $5k on the spot, up to $45k after two weeks, path to $200k total) and "equity-free" terminology.

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The pull request description provides a clear summary and validation steps, but is missing key sections from the template including Issue, Developer checklist, and Screenshots. Complete the missing sections: add an Issue reference (if applicable), check the Developer checklist items for accessibility and testing considerations, and provide before/after screenshots showing the visual changes.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title clearly and concisely summarizes the main change: refreshing the Incubator Week page with a new positioning and content structure.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/incubator-week-refresh

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@somepersonnamedjosh somepersonnamedjosh marked this pull request as ready for review May 2, 2026 00:26
@greptile-apps

greptile-apps Bot commented May 2, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR refreshes the Incubator Week page around the new 5-day / 0%-equity positioning, replacing the old section set (WhatThisIsForSection, WhatYouGetSection, LogisticsSection, GrantFaqSection, GrantCta) with four tighter sections (TrackRecordSection, TheWeekSection, AboutYouSection, AboutBlueDotSection), and updates copy across grantPrograms.tsx and programs.tsx to match. All changes are presentational and content-only with no data or API impact.

Confidence Score: 4/5

Safe to merge — all changes are presentational copy/layout with no logic or data regressions.

Only P2 findings: a duplicated deadline string across three files and a redundant hook call. No logic bugs, security issues, or broken contracts.

apps/website/src/pages/programs/incubator-week.tsx — duplicate APPLICATION_DEADLINE and double hook invocation.

Important Files Changed

Filename Overview
apps/website/src/pages/programs/incubator-week.tsx Page rebuilt around new 5-day/0%-equity positioning; drops GrantFaqSection + GrantCta in favour of new section components. Minor: useGrantApplicationUrl called twice and APPLICATION_DEADLINE is duplicated across 3 files.
apps/website/src/components/grants/grantPrograms.tsx Incubator Week status changed to Active, scope copy updated, and funding FAQ answer updated to reflect new $5k/$45k/$200k structure. Straightforward data changes.
apps/website/src/components/incubator-week/TrackRecordSection.tsx New section listing cohort stats and alumni with external links. No Storybook story added.
apps/website/src/components/incubator-week/AboutBlueDotSection.tsx New section with org blurb and a CTA button. Requires applicationUrl/applicationDeadline props passed down from the page. No Storybook story.
apps/website/src/components/incubator-week/AboutYouSection.tsx New static section listing ideal-candidate criteria as a bullet list. Simple and correct.
apps/website/src/components/incubator-week/TheWeekSection.tsx Minor copy updates to Tue–Wed and Friday schedule entries; currency changed from £ to $ and new funding tier breakdown added.
apps/website/src/pages/programs.tsx Incubator Week listing updated with new copy and deadline-aware CTA label. No structural changes.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    IW[incubator-week.tsx]
    IW -->|calls| UGAU[useGrantApplicationUrl]
    IW -->|renders| GSS[GrantStatsStrip]
    GSS -->|also calls| UGAU
    IW -->|renders| TRS[TrackRecordSection]
    IW -->|renders| TWS[TheWeekSection]
    IW -->|renders| AYS[AboutYouSection]
    IW -->|renders| ABS[AboutBlueDotSection]
    ABS -->|receives applicationUrl prop| IW

    style UGAU fill:#fde68a,stroke:#d97706
    style IW fill:#dbeafe,stroke:#3b82f6
Loading

Reviews (1): Last reviewed commit: "Refresh incubator week page" | Re-trigger Greptile

Comment on lines +21 to +43
const applicationUrl = useGrantApplicationUrl('incubator-week');

return (
<div>
<Head>
<title>{`${PAGE_TITLE} | BlueDot Impact`}</title>
<meta
name="description"
content="A 5-day intensive for founders building organizations to make AI go well. Develop threat models, design interventions, pitch for funding. All expenses paid in London."
content="Most accelerators take 12 weeks and 7%. We take 5 days and 0%. Fly to London to turn your AI safety idea into a funded org. $50k if your pitch lands. More for the strongest teams. Equity-free."
/>
</Head>
<MarketingHero
title="Incubator Week"
subtitle="A five-day intensive that helps top talent become AI safety founders. All expenses paid. Pitch for funding on Friday. 1-5 June in London."
subtitle="Most accelerators take 12 weeks and 7%. We take 5 days and 0%. Fly to London to turn your AI safety idea into a funded org. $50k if your pitch lands. More for the strongest teams. Equity-free."
/>
<Breadcrumbs route={CURRENT_ROUTE} />
<GrantStatsStrip
program="incubator-week"
compact
primaryAction={{
label: `Apply by ${APPLICATION_DEADLINE}`,
url: applicationUrl,
}}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 useGrantApplicationUrl called twice for the same program

useGrantApplicationUrl('incubator-week') is invoked here (line 21) and then the result is forwarded into GrantStatsStrip via primaryAction.url. However, GrantStatsStrip unconditionally calls useGrantApplicationUrl(program) internally on every render — even when primaryAction overrides the CTA — so the hook runs twice for the same program slug, computing the same UTM/PostHog-prefixed URL unnecessarily. You can drop the page-level call and let GrantStatsStrip own the URL for the stats strip; pass applicationUrl only to AboutBlueDotSection, which actually requires it as a prop and has no internal hook.


const PAGE_TITLE = 'Incubator Week';

const APPLICATION_DEADLINE = '26 May';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 APPLICATION_DEADLINE duplicated across three files

'26 May' is defined as a constant here but is also hardcoded independently in grantPrograms.tsx (scope) and twice in programs.tsx (detail and ctaLabel). These three copies are not connected, so a deadline change requires editing all three files manually and it's easy to miss one. Consider exporting APPLICATION_DEADLINE (or a structured cohort metadata object) from a central location — e.g. alongside the incubator-week entry in grantPrograms.tsx — and importing it wherever the string is needed.

Comment on lines +1 to +10
import { P } from '@bluedot/ui';
import { pageSectionHeadingClass } from '../PageListRow';

const TrackRecordSection = () => {
return (
<section className="section section-body incubator-week-track-record-section">
<div className="w-full flex flex-col gap-6">
<h3 className={pageSectionHeadingClass}>Track record</h3>

<div className="flex flex-col gap-5">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Consider adding Storybook stories for new components

TrackRecordSection, AboutYouSection, and AboutBlueDotSection are all new components introduced in this PR. Per the team's guidelines, consider adding Storybook stories for them so they can be visually reviewed and tested in isolation.

Rule Used: Consider adding Storybook stories for new componen... (source)

Learned From
bluedotimpact/bluedot#956
bluedotimpact/bluedot#969
bluedotimpact/bluedot#958

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@somepersonnamedjosh somepersonnamedjosh merged commit ec2b5ce into master May 2, 2026
10 of 11 checks passed
@somepersonnamedjosh somepersonnamedjosh deleted the codex/incubator-week-refresh branch May 2, 2026 00:31
@coderabbitai coderabbitai Bot mentioned this pull request May 28, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant