Add a partnership review
Two paths. Pick whichever's faster for you.
With Claude (easiest)
Open Claude Code in the valinor-intra repo and give it this prompt (replacing the bracketed bits):
Create a new partnership review HTML file for [Company Name]. They are [brief description — "a decentralized oracle network", "a stablecoin payment processor", etc.]. Cover the key topics: [token economics, security model, integration architecture, fee structure — whatever's relevant]. Use an existing partnership review from
static/as a style reference (e.g.,static/Bridge_Stripe_PartnershipReview.html). Add the company to the homepage with the right categories.
Claude will:
- Read an existing partnership review to match the style.
- Read
CLAUDE.mdfor brand colors and conventions. - Create the HTML file in
static/. - Add the company to the
companiesarray inindex.html(around line 520) with the rightcategoriesarray.
When Claude's done, review the file, then push:
git add static/[NewCompany]_PartnershipReview.html index.html
git commit -m "Add [NewCompany] partnership review"
git push
Within 5 minutes the deploy runs and the review appears on the site.
By hand
If you want full control over the content, or you don't have Claude Code set up.
1. Pick a template
ls static/ | head -20
Find one that resembles what you're writing (same kind of company, similar structure). Bridge_Stripe_PartnershipReview.html is a solid all-purpose template — it has tab navigation, info cards, flow diagrams, and callout boxes covering most of the patterns we use.
cp static/Bridge_Stripe_PartnershipReview.html static/[NewCompany]_PartnershipReview_$(date +%Y%m%d).html
2. Naming convention
CompanyName_PartnershipReview.html ← if only one ever
CompanyName_PartnershipReview_YYYYMMDD.html ← if multiple versions
Pick whichever you prefer. The date suffix becomes useful when we do a second-round review later. Other suffixes you'll see in static/ and may use:
_ScreeningMemo_YYYYMMDD.htmlfor pre-IC screening write-ups_Diligence_YYYYMMDD.htmlfor diligence-only deep dives_TechnicalArchitecture.htmlfor pure tech docs_LandscapeReview_YYYYMMDD.htmlfor multi-company comparisons_Comparison_YYYYMMDD.htmlfor side-by-sides
3. Style rules
The file must be self-contained HTML — all CSS in a <style> block, all JS inline. No external CSS frameworks. The brand:
/* Colors */
--background: #ffffff; /* white, no dark mode */
--text: #1c1c1b; /* primary */
--muted: #92a8b6; /* secondary */
--accent: #324654; /* ocean — used for headings, badges */
--surface: #f4f7fa; /* cards background */
--border: #c5cdd3; /* cards border */
--tinted: #e6effa; /* tinted callouts */
/* Layout */
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
max-width: 1400px;
margin: 0 auto;
padding: 1.5rem;
/* Card */
background: #f4f7fa;
border: 1px solid #c5cdd3;
border-radius: 10px;
padding: 1rem;
The <title> should follow the pattern:
<title>CompanyName — Valinor Partnership Review</title>
If you're using tab navigation, the convention is .tab / .tab.active classes with a showTab() JS function. Crib from any existing file.
4. Add to the homepage
Open index.html. Find the const companies = [ array (around line 520). Add an entry:
{
name: "Company Name",
file: "/static/CompanyName_PartnershipReview_20260520.html",
description: "Partnership Review — May 20, 2026",
categories: ["Category1", "Category2"]
},
The categories field controls which filter pills the company appears under. Common values:
| Category | Used for |
|---|---|
| Payments | Payment processors, on/off ramps |
| Stablecoins | Stablecoin issuers, USDC/USDT related |
| Security & Audit | Security firms, auditors |
| Credit Markets | Lending protocols, credit funds |
| Liquidity | Liquidity providers, DEX aggregators |
| Oracles | Price feeds, data oracles |
| DEX | Decentralized exchanges |
You can invent new categories — they'll automatically appear as filter pills. But don't proliferate; reuse where possible.
5. Push
git add static/CompanyName_PartnershipReview_20260520.html index.html
git commit -m "Add CompanyName partnership review"
git push origin main
Within 5 minutes the deploy picks it up. Hard-refresh the homepage (⌘⇧R / Ctrl⇧R) to see the new card.
Updating an existing review
Option A: edit in place
Same filename, change the content, commit, push. URL stays the same. Use for typo fixes, small updates.
Option B: new dated version
Create CompanyName_PartnershipReview_<NewDate>.html. Update the homepage entry to point to the new file. Use after a fresh round of diligence when the previous review is no longer the canonical view.
Don't delete the old version unless the company explicitly asks. Old reviews are useful for "what did we know when."
Common mistakes
- Forgot the homepage entry. The file is reachable at
/static/<filename>but won't appear on the homepage until you add it to the array inindex.html. - Wrong category. Category typos show up as new filter pills. Check spelling.
- Hard-coded font that isn't system stack. Don't pull Google Fonts or other web fonts into the review files — they slow the page down and conflict with our brand stack.
- Inline scripts that fetch external data. The reviews should be fully self-contained and work offline. If you need data, embed it.
- Forgot to push. It happens.
git push origin main.
Linking from Laurelin
In Laurelin, open the company → Links → add a link with type review, URL https://intra.valinorinfo.com/static/<filename>. The company detail page will surface it from then on.
You can also set the company's review_link field directly — same effect, slightly more legible in the data model.
When a review is sensitive
Most reviews go in static/ and are reachable to anyone who can sign in with @valinordigital.com via Cloudflare Access (which is just us). If something is particularly sensitive — under-NDA tech details, a pre-announcement deal — consider:
- A note at the top of the file: "Internal — do not share outside the team."
- A redacted public version + a private working copy somewhere else (Sharepoint, Notion).
There's no per-file access control on the intranet. Everyone signed in sees everything.