Skip to content

feat: add Dada Devs as a learning partner - #45

Merged
Megasley merged 2 commits into
mainfrom
feat/partnerships-update
Sep 21, 2026
Merged

Megasley merged 2 commits into
mainfrom
feat/partnerships-update

Conversation

@Megasley

Copy link
Copy Markdown
Owner

Summary

  • Add Dada Devs as a learning partner: tagline, description, and two active
    pathways (Mastering Bitcoin, Mastering Lightning), following the same
    pattern as Thebuidl.
  • New dedicated page at /ecosystem/partners/dada-devs — hero, About +
    DadaHub (Nairobi) photo, pathway cards in a two-column grid, how-it-works,
    and participant CTA. Links out to dadadevs.com, GitHub, and the
    dadadevs.com/pathways application page.
  • List Dada Devs on the ecosystem partners index and the homepage "Trusted By"
    row.
  • Add an "Apply on Thebuidl" link to the Rust for Bitcoin journey
    (thebuidl.xyz/rust-for-bitcoin).
  • Shared partner-page fixes found along the way: hero journey box now
    right-aligns on desktop, journey-diagram arrows were invisible in light
    mode (fixed contrast), removed redundant/dead invite-CTA text from
    PartnerCurrentJourney/PartnerInviteCta, and added a logoScale field
    so differently-proportioned partner logos can be sized consistently.

Test plan

  • /ecosystem/partners/dada-devs renders correctly in light and dark mode
  • /ecosystem/partners/thebuidl has no regressions (hero alignment, apply link, arrow contrast)
  • /ecosystem/partners index and homepage "Trusted By" row show the Dada Devs logo correctly
  • npx tsc --noEmit and eslint pass

@vercel

vercel Bot commented Sep 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
builder-os Ready Ready Preview Sep 21, 2026 10:03am UTC

@comwanga

Copy link
Copy Markdown
Contributor

Hello bro, the Dada Devs integration is structured well overall, and CI is green, but I found two correctness issues I think should be addressed before merge.

1. Hidden partner guard is missing on the new dedicated page

In app/ecosystem/partners/dada-devs/page.tsx:

const partner = getPartnerBySlug("dada-devs");
if (!partner) return null;

EcosystemPartner.hidden is specifically documented so hidden/finalizing partnerships are not publicly discoverable, and the existing Trezor Academy dedicated page calls notFound() when its partner is hidden.

Because dada-devs is also added to STATIC_PARTNER_PAGES, marking it hidden would remove it from the partner index/generic route while the dedicated /ecosystem/partners/dada-devs URL would still render the full partnership page.

I think this should follow the existing dedicated-page invariant:

import { notFound } from "next/navigation";

const partner = getPartnerBySlug("dada-devs");
if (!partner || partner.hidden) {
  notFound();
}

2. Org-wide DB skills erase the distinction between the two Dada pathways

Here:

skills={dbSkills.length > 0 ? dbSkills : journey.skills}

dbSkills comes from listOrgSkills(dbOrg.id), so it is organization-wide. Once any Dada Devs skills are configured in the DB, both Mastering Bitcoin and Mastering Lightning receive the same complete skill list.

That conflicts with PartnerJourney.skills, which is explicitly defined as the skills relevant to that particular journey.

The existing Thebuidl implementation did not expose this problem because it only had one journey. With Dada Devs introducing multiple pathways, the distinction matters.

For this public pathway UI, the minimal fix seems to be:

skills={journey.skills}

and continue using org-level skills in the authenticated partner hub/opportunity matching. I would avoid introducing pathway-specific DB schema here unless the product actually needs admin-managed per-pathway skills.

One additional scope question

This PR also removes Thebuidl's complete "Put your skills to work" section, including pickRelevantRepositories() and the DiscoveryRepoCards.

That is a larger user-visible behavior change than the CTA cleanup described in the PR summary. The authenticated partner hub still exposes suggested opportunities, so moving repository discovery behind membership may be intentional.

If it is intentional, I think the PR description/test plan should call it out explicitly. Otherwise, this section should probably remain unchanged in a PR focused on adding Dada Devs.

Everything else I checked is consistent with the current partner architecture, and the full PR CI is passing.

@Megasley

Copy link
Copy Markdown
Owner Author

Hi brother @comwanga ... thanks for the thorough review, you're right on both counts, fixed:

  1. Hidden partner guard: Added if (!partner || partner.hidden) notFound(); to both dada-devs/page.tsx and thebuidl/page.tsx (the latter had the same gap, so fixed it too for consistency with the documented invariant).

  2. Org-wide DB skills leaking across pathways: Agreed on the minimal fix — dada-devs/page.tsx now passes each journey's own static journey.skills directly instead of falling back to org-wide dbSkills, so Mastering Bitcoin and Mastering Lightning keep distinct tags regardless of what's configured in the DB. Dropped the now-unused listOrgSkills import. Left Thebuidl's dbSkills fallback as-is since it only has one journey and isn't affected.

  3. Thebuidl's "Put your skills to work" removal: Confirmed intentional — decided in review with the requester, not a leftover. Will update the PR description to call it out explicitly rather than leave it implied by the CTA-cleanup summary.

Pushing the fixes now.

@Megasley
Megasley merged commit 0042163 into main Sep 21, 2026
3 checks passed

This branch was successfully deployed

1 active deployment
Preview 533aaf80 Deployed Sep 21, 2026 by vercel[bot]
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.

2 participants