cdragon 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +110 -0
  2. package/bin/cdragon.js +170 -0
  3. package/package.json +31 -0
  4. package/skills/agent-browser/SKILL.md +50 -0
  5. package/skills/grill-me/SKILL.md +7 -0
  6. package/skills/herdr-agent/SKILL.md +142 -0
  7. package/skills/herdr-cli/SKILL.md +388 -0
  8. package/skills/herdr-cli/scripts/herdr-agent-run-and-wait +203 -0
  9. package/skills/herdr-cli/scripts/herdr-agent-wait-complete +168 -0
  10. package/skills/notion-presentation/SKILL.md +170 -0
  11. package/skills/notion-presentation/references/example-redis-deck.md +97 -0
  12. package/skills/setup-matt-pocock-skills/SKILL.md +127 -0
  13. package/skills/setup-matt-pocock-skills/domain.md +51 -0
  14. package/skills/setup-matt-pocock-skills/issue-tracker-github.md +34 -0
  15. package/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +35 -0
  16. package/skills/setup-matt-pocock-skills/issue-tracker-local.md +19 -0
  17. package/skills/setup-matt-pocock-skills/triage-labels.md +15 -0
  18. package/skills/tdd/SKILL.md +108 -0
  19. package/skills/tdd/mocking.md +59 -0
  20. package/skills/tdd/refactoring.md +10 -0
  21. package/skills/tdd/tests.md +61 -0
  22. package/skills/to-html/SKILL.md +83 -0
  23. package/skills/to-html/designs/INDEX.md +74 -0
  24. package/skills/to-html/designs/airbnb.DESIGN.md +581 -0
  25. package/skills/to-html/designs/airtable.DESIGN.md +275 -0
  26. package/skills/to-html/designs/alipay.DESIGN.md +456 -0
  27. package/skills/to-html/designs/apple.DESIGN.md +566 -0
  28. package/skills/to-html/designs/banksalad.DESIGN.md +621 -0
  29. package/skills/to-html/designs/channeltalk.DESIGN.md +374 -0
  30. package/skills/to-html/designs/clay.DESIGN.md +398 -0
  31. package/skills/to-html/designs/clickhouse.DESIGN.md +374 -0
  32. package/skills/to-html/designs/cohere.DESIGN.md +361 -0
  33. package/skills/to-html/designs/coinone.DESIGN.md +218 -0
  34. package/skills/to-html/designs/coupang.DESIGN.md +502 -0
  35. package/skills/to-html/designs/cursor.DESIGN.md +416 -0
  36. package/skills/to-html/designs/elevenlabs.DESIGN.md +376 -0
  37. package/skills/to-html/designs/expo.DESIGN.md +373 -0
  38. package/skills/to-html/designs/figma.DESIGN.md +490 -0
  39. package/skills/to-html/designs/framer.DESIGN.md +393 -0
  40. package/skills/to-html/designs/freee.DESIGN.md +572 -0
  41. package/skills/to-html/designs/gangnamunni.DESIGN.md +621 -0
  42. package/skills/to-html/designs/gmarket.DESIGN.md +483 -0
  43. package/skills/to-html/designs/gogolook.DESIGN.md +131 -0
  44. package/skills/to-html/designs/hahow.DESIGN.md +158 -0
  45. package/skills/to-html/designs/hashicorp.DESIGN.md +369 -0
  46. package/skills/to-html/designs/hyundaicard.DESIGN.md +177 -0
  47. package/skills/to-html/designs/ibm.DESIGN.md +420 -0
  48. package/skills/to-html/designs/kakaobank.DESIGN.md +548 -0
  49. package/skills/to-html/designs/kakaopay.DESIGN.md +544 -0
  50. package/skills/to-html/designs/karrot.DESIGN.md +445 -0
  51. package/skills/to-html/designs/kdan.DESIGN.md +160 -0
  52. package/skills/to-html/designs/krds.DESIGN.md +997 -0
  53. package/skills/to-html/designs/line.DESIGN.md +431 -0
  54. package/skills/to-html/designs/linear.app.DESIGN.md +548 -0
  55. package/skills/to-html/designs/miro.DESIGN.md +272 -0
  56. package/skills/to-html/designs/mistral.ai.DESIGN.md +353 -0
  57. package/skills/to-html/designs/money-forward.DESIGN.md +401 -0
  58. package/skills/to-html/designs/mongodb.DESIGN.md +357 -0
  59. package/skills/to-html/designs/naver.DESIGN.md +533 -0
  60. package/skills/to-html/designs/nhncloud.DESIGN.md +174 -0
  61. package/skills/to-html/designs/opencode.ai.DESIGN.md +388 -0
  62. package/skills/to-html/designs/pinterest.DESIGN.md +322 -0
  63. package/skills/to-html/designs/posthog.DESIGN.md +430 -0
  64. package/skills/to-html/designs/raycast.DESIGN.md +422 -0
  65. package/skills/to-html/designs/remember.DESIGN.md +460 -0
  66. package/skills/to-html/designs/resend.DESIGN.md +396 -0
  67. package/skills/to-html/designs/sanity.DESIGN.md +449 -0
  68. package/skills/to-html/designs/sendbird.DESIGN.md +285 -0
  69. package/skills/to-html/designs/smarthr.DESIGN.md +404 -0
  70. package/skills/to-html/designs/socar.DESIGN.md +403 -0
  71. package/skills/to-html/designs/spotify.DESIGN.md +265 -0
  72. package/skills/to-html/designs/supabase.DESIGN.md +348 -0
  73. package/skills/to-html/designs/superhuman.DESIGN.md +414 -0
  74. package/skills/to-html/designs/together.ai.DESIGN.md +356 -0
  75. package/skills/to-html/designs/toss.DESIGN.md +655 -0
  76. package/skills/to-html/designs/uber.DESIGN.md +387 -0
  77. package/skills/to-html/designs/upstage.DESIGN.md +232 -0
  78. package/skills/to-html/designs/velog.DESIGN.md +168 -0
  79. package/skills/to-html/designs/vercel.DESIGN.md +479 -0
  80. package/skills/to-html/designs/wanted.DESIGN.md +529 -0
  81. package/skills/to-html/designs/wise.DESIGN.md +276 -0
  82. package/skills/to-html/designs/yanolja.DESIGN.md +463 -0
  83. package/skills/to-html/designs/yeogiotte.DESIGN.md +459 -0
  84. package/skills/to-html/designs/zapier.DESIGN.md +433 -0
  85. package/skills/to-html/designs/zigzag.DESIGN.md +633 -0
  86. package/skills/to-issues/SKILL.md +84 -0
  87. package/skills/to-prd/SKILL.md +75 -0
  88. package/src/colors.js +15 -0
  89. package/src/link.js +47 -0
  90. package/src/prompt.js +137 -0
  91. package/src/skills.js +75 -0
@@ -0,0 +1,275 @@
1
+ ---
2
+ id: airtable
3
+ name: Airtable
4
+ country: US
5
+ category: design-tools
6
+ homepage: "https://www.airtable.com"
7
+ primary_color: "#fcb400"
8
+ logo:
9
+ type: simpleicons
10
+ slug: airtable
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ds:
14
+ name: Airtable Trademark Guidelines
15
+ url: "https://www.airtable.com/company/trademark-guidelines"
16
+ type: brand
17
+ description: Airtable's trademark usage and brand guidelines.
18
+ og_image: "https://www.airtable.com/images/airtable-seo.jpg"
19
+ ---
20
+
21
+ # Design System Inspiration of Airtable
22
+
23
+ ## 1. Visual Theme & Atmosphere
24
+
25
+ Airtable's website is a clean, enterprise-friendly platform that communicates "sophisticated simplicity" through a white canvas with deep navy text (`#181d26`) and Airtable Blue (`#1b61c9`) as the primary interactive accent. The Haas font family (display + text variants) creates a Swiss-precision typography system with positive letter-spacing throughout.
26
+
27
+ **Key Characteristics:**
28
+ - White canvas with deep navy text (`#181d26`)
29
+ - Airtable Blue (`#1b61c9`) as primary CTA and link color
30
+ - Haas + Haas Groot Disp dual font system
31
+ - Positive letter-spacing on body text (0.08px–0.28px)
32
+ - 12px radius buttons, 16px–32px for cards
33
+ - Multi-layer blue-tinted shadow: `rgba(45,127,249,0.28) 0px 1px 3px`
34
+ - Semantic theme tokens: `--theme_*` CSS variable naming
35
+
36
+ ## 2. Color Palette & Roles
37
+
38
+ ### Primary
39
+ - **Deep Navy** (`#181d26`): Primary text
40
+ - **Airtable Blue** (`#1b61c9`): CTA buttons, links
41
+ - **White** (`#ffffff`): Primary surface
42
+ - **Spotlight** (`rgba(249,252,255,0.97)`): `--theme_button-text-spotlight`
43
+
44
+ ### Semantic
45
+ - **Success Green** (`#006400`): `--theme_success-text`
46
+ - **Weak Text** (`rgba(4,14,32,0.69)`): `--theme_text-weak`
47
+ - **Secondary Active** (`rgba(7,12,20,0.82)`): `--theme_button-text-secondary-active`
48
+
49
+ ### Neutral
50
+ - **Dark Gray** (`#333333`): Secondary text
51
+ - **Mid Blue** (`#254fad`): Link/accent blue variant
52
+ - **Border** (`#e0e2e6`): Card borders
53
+ - **Light Surface** (`#f8fafc`): Subtle surface
54
+
55
+ ### Shadows
56
+ - **Blue-tinted** (`rgba(0,0,0,0.32) 0px 0px 1px, rgba(0,0,0,0.08) 0px 0px 2px, rgba(45,127,249,0.28) 0px 1px 3px, rgba(0,0,0,0.06) 0px 0px 0px 0.5px inset`)
57
+ - **Soft** (`rgba(15,48,106,0.05) 0px 0px 20px`)
58
+
59
+ ## 3. Typography Rules
60
+
61
+ ### Font Families
62
+ - **Primary**: `Haas`, fallbacks: `-apple-system, system-ui, Segoe UI, Roboto`
63
+ - **Display**: `Haas Groot Disp`, fallback: `Haas`
64
+
65
+ ### Hierarchy
66
+
67
+ | Role | Font | Size | Weight | Line Height | Letter Spacing |
68
+ |------|------|------|--------|-------------|----------------|
69
+ | Display Hero | Haas | 48px | 400 | 1.15 | normal |
70
+ | Display Bold | Haas Groot Disp | 48px | 900 | 1.50 | normal |
71
+ | Section Heading | Haas | 40px | 400 | 1.25 | normal |
72
+ | Sub-heading | Haas | 32px | 400–500 | 1.15–1.25 | normal |
73
+ | Card Title | Haas | 24px | 400 | 1.20–1.30 | 0.12px |
74
+ | Feature | Haas | 20px | 400 | 1.25–1.50 | 0.1px |
75
+ | Body | Haas | 18px | 400 | 1.35 | 0.18px |
76
+ | Body Medium | Haas | 16px | 500 | 1.30 | 0.08–0.16px |
77
+ | Button | Haas | 16px | 500 | 1.25–1.30 | 0.08px |
78
+ | Caption | Haas | 14px | 400–500 | 1.25–1.35 | 0.07–0.28px |
79
+
80
+ ## 4. Component Stylings
81
+
82
+ ### Buttons
83
+
84
+ **Primary Blue**
85
+ - Background: `#1b61c9`
86
+ - Text: `#ffffff`
87
+ - Radius: 12px
88
+ - Padding: 16px 24px
89
+ - Font: 16px / 500 / Haas
90
+ - Use: Primary CTA buttons across the marketing site
91
+
92
+ **White**
93
+ - Background: `#ffffff`
94
+ - Text: `#181d26`
95
+ - Border: 1px solid `#ffffff`
96
+ - Radius: 12px
97
+ - Padding: 16px 24px
98
+ - Font: 16px / 500 / Haas
99
+ - Use: Secondary CTA on dark/blue surfaces
100
+
101
+ **Cookie Consent**
102
+ - Background: `#1b61c9`
103
+ - Text: `#ffffff`
104
+ - Radius: 2px
105
+ - Padding: 16px 24px
106
+ - Font: 16px / 500 / Haas
107
+ - Use: Cookie banner accept (deliberately sharp 2px radius)
108
+
109
+ ### Inputs
110
+
111
+ **Default**
112
+ - Background: `#ffffff`
113
+ - Text: `#181d26`
114
+ - Border: 1px solid `#e0e2e6`
115
+ - Radius: 12px
116
+ - Padding: 12px 16px
117
+ - Font: 16px / 400 / Haas
118
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
119
+
120
+ ### Cards
121
+
122
+ **Standard**
123
+ - Background: `#ffffff`
124
+ - Border: 1px solid `#e0e2e6`
125
+ - Radius: 16px
126
+ - Padding: 24px
127
+ - Shadow: `rgba(0,0,0,0.32) 0px 0px 1px, rgba(0,0,0,0.08) 0px 0px 2px, rgba(45,127,249,0.28) 0px 1px 3px, rgba(0,0,0,0.06) 0px 0px 0px 0.5px inset`
128
+ - Use: Default card surface; blue-tinted multi-layer shadow
129
+
130
+ **Large Section**
131
+ - Background: `#ffffff`
132
+ - Border: 1px solid `#e0e2e6`
133
+ - Radius: 24px
134
+ - Padding: 32px
135
+ - Use: Larger feature/section containers
136
+
137
+ ### Badges
138
+
139
+ **Default**
140
+ - Background: `#f8fafc`
141
+ - Text: `#181d26`
142
+ - Border: 1px solid `#e0e2e6`
143
+ - Radius: 12px
144
+ - Padding: 4px 8px
145
+ - Font: 14px / 500 / Haas
146
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
147
+
148
+ ## 5. Layout
149
+ - Spacing: 1–48px (8px base)
150
+ - Radius: 2px (small), 12px (buttons), 16px (cards), 24px (sections), 32px (large), 50% (circles)
151
+
152
+ ## 6. Depth
153
+ - Blue-tinted multi-layer shadow system
154
+ - Soft ambient: `rgba(15,48,106,0.05) 0px 0px 20px`
155
+
156
+ ## 7. Do's and Don'ts
157
+
158
+ ### Do
159
+ - Use Airtable Blue (`#1b61c9`) only for CTAs and links, set on a white (`#ffffff`) canvas with Deep Navy (`#181d26`) text
160
+ - Set the Haas / Haas Groot Disp font system with positive letter-spacing on body and small text (0.08px–0.28px) — it is Airtable's typographic signature
161
+ - Apply the radius scale by component size: 12px buttons, 16px standard cards, 24px sections, 32px large containers
162
+ - Lift primary buttons with the signature blue-tinted multi-layer shadow (`rgba(45,127,249,0.28) 0px 1px 3px`) so elevation ties back to the brand color
163
+ - Reserve color for user data and keep chrome neutral, signaling 'live work' with the spotlight surface (`rgba(249,252,255,0.97)`) plus subtle `#e0e2e6` borders
164
+ - Name theme variables with the semantic `--theme_*` convention (e.g. `--theme_success-text` for `#006400`) to match Airtable's internal tokens
165
+
166
+ ### Don't
167
+ - Skip the positive letter-spacing on body and caption text — it is what gives Airtable its Swiss-precision feel
168
+ - Lean on heavy gray backgrounds or dark drop shadows for depth instead of the spotlight surface and the soft ambient `rgba(15,48,106,0.05) 0px 0px 20px` glow
169
+ - Spread Airtable Blue (`#1b61c9`) across chrome or large backgrounds — color belongs to user data, not the UI frame
170
+ - Reach for the deliberately sharp 2px radius outside its cookie-consent context where buttons and cards use 12px and up
171
+ - Add bouncy spring motion or exceed the 150–400ms timing tokens, and respect `prefers-reduced-motion` by dropping the spotlight fade-in
172
+ - Use forbidden voice like 'revolutionary database', 'no-code magic', or emoji in product chrome
173
+
174
+ ## 8. Responsive Behavior
175
+ Breakpoints: 425–1664px (23 breakpoints)
176
+
177
+ ## 9. Agent Prompt Guide
178
+
179
+ ### Quick Color Reference
180
+ - Primary CTA: Airtable Blue (`#1b61c9`)
181
+ - CTA hover: deepen to `#0f4ba0` (estimated ~10% darker)
182
+ - Heading / body text: Deep Navy (`#181d26`)
183
+ - Muted text: `~#6b7280` (estimated)
184
+ - Page background: White (`#ffffff`)
185
+ - Border default: `#e0e2e6`
186
+ - Spotlight surface: `rgba(249,252,255,0.97)`
187
+ - Success: Green (`#006400`)
188
+
189
+ ### Example Component Prompts
190
+ - "Create an Airtable-style primary button: bg `#1b61c9`, white text, `12px` border-radius, `12px 20px` padding, Haas font weight 500 14px. Hover: bg darkens ~10%. Box-shadow: `rgba(45,127,249,0.28) 0px 1px 3px` for the signature blue-tinted lift."
191
+ - "Build a card: white bg, `1px solid #e0e2e6` border, `16px` radius (or `24-32px` for featured cards), `24px` padding. Title in Haas Groot Disp 18px weight 600 `#181d26`. Body in Haas 14px weight 400 with `0.08-0.28px` positive letter-spacing for that Swiss precision."
192
+ - "Design a navigation header: white sticky bar, Haas wordmark left, link nav (14px weight 500 `#181d26`, hover to `#1b61c9`), Airtable Blue CTA right. Bottom border `1px solid #e0e2e6` on scroll."
193
+
194
+ ### Iteration Guide
195
+ 1. Apply positive letter-spacing on body and small text (0.08-0.28px) — it's Airtable's typographic signature.
196
+ 2. Use the multi-layer blue-tinted shadow (`rgba(45,127,249,0.28) 0px 1px 3px`) on primary buttons — it ties elevation to the brand color.
197
+ 3. Use semantic `--theme_*` token naming when building shadcn variables — matches Airtable's internal convention.
198
+ 4. Cards use `12-32px` radius depending on size — small components 12px, hero cards up to 32px.
199
+ 5. Don't use heavy gray backgrounds — Airtable's depth comes from the spotlight surface (`rgba(249,252,255,0.97)`) and subtle borders.
200
+
201
+ ## 10. Voice & Tone
202
+
203
+ Airtable's voice is **product-pragmatic and confidence-quiet** — speaks like an internal tools team explaining what just shipped. Hero messaging: *"Build enterprise-ready AI workflows, apps & agents"* (homepage 2026-05) — verb-first, capability-list, no hyperbole.
204
+
205
+ | Context | Tone |
206
+ |---|---|
207
+ | CTA | Verb + noun. "Create base", "Add field", "Sync now" |
208
+ | Empty state | Direct invitation. "Create your first base to get started" |
209
+ | Error | Specific. "Couldn't connect to source. Check API key in Sync settings." |
210
+ | Marketing | Capability-list, lower-case headings allowed |
211
+ | Onboarding | One concept per screen, screenshots dominate |
212
+
213
+ **Voice samples**
214
+ - Marketing CTA: *"Sign up"* / *"Talk to sales"* <!-- verified: airtable.com homepage 2026-05 -->
215
+
216
+ **Forbidden phrases.** "Revolutionary database", "no-code magic", emoji in product chrome.
217
+
218
+ ## 11. Brand Narrative
219
+
220
+ Airtable was founded in **2012** by **Howie Liu** (CEO), **Andrew Ofstad**, and **Emmett Nicholas** in San Francisco — three engineers who met through Duke connections ([Airtable — Wikipedia](https://en.wikipedia.org/wiki/Airtable), [Antler — Airtable with Andrew Ofstad](https://www.antler.co/blog/antler-early-days-episode-3-airtable-with-andrew-ofstad)). Howie Liu had previously co-founded **Etacts** (YC W2010, age 20), a Gmail relationship-management tool **acquired by Salesforce on December 21, 2010** ([Golden — Howie Liu](https://golden.com/wiki/Howie_Liu-PBBK48Y)); the question that became Airtable formed during his Salesforce PM stint working on social CRM. Andrew Ofstad came from Google as PM on Android, leading the redesign of Google Maps. Emmett Nicholas was a Stack Overflow engineer for 3+ years. The thesis: spreadsheets and databases occupied opposite ends of "ease of use" vs "structural rigor" — Airtable proposed a hybrid. **2 years in stealth (2012-2014)** → invite-only beta 2014 → **public launch March 2015** ([Taskade history](https://www.taskade.com/blog/history-of-airtable)). Pre-seed angels included Ashton Kutcher + Michael Birch (Bebo) + Josh Reeves (Gusto). **Series F Dec 13, 2021: $735M at $11B valuation** ([Tracxn](https://tracxn.com/d/companies/airtable/__Xdq7WaiA79BBRynm6WLMDo_kp-jvnqvpW1GxVVOirjE)). Total raised: **$1.35B**. Evolved from collaborative database (2015-2020) to platform-with-AI-workflows (2024+) — current tagline *"Build Enterprise-ready AI Workflows, Apps & Agents"* (verified live 2026-05).
221
+
222
+ What Airtable refuses: competing with Notion on docs, no-code-as-magic framing.
223
+
224
+ ## 12. Principles
225
+
226
+ 1. **Records are the unit.** Bases > tables > views > records. *UI implication:* hierarchies stay flat.
227
+ 2. **Views are personalized, data is shared.** *UI implication:* view chrome (filters, sort) at view level, never global.
228
+ 3. **Spotlight surface signals "live work".** `rgba(249,252,255,0.97)`. *UI implication:* canonical work surface = spotlight white.
229
+ 4. **Color belongs to user data, not chrome.** *UI implication:* avoid bright accents for chrome; reserve for user categorization.
230
+ 5. **AI workflows are first-class blocks.** *UI implication:* every AI step has visible config + output preview.
231
+
232
+ ## 13. Personas
233
+
234
+ *Personas are fictional archetypes informed by Airtable user segments (operations leaders, internal-tooling builders), not individual people.*
235
+
236
+ **Renee Park, 34, San Francisco.** Operations Manager at Series B SaaS. Builds CRM-lite, vendor tracker, content calendar in Airtable.
237
+
238
+ **Tomás Reyes, 41, Mexico City.** Independent consultant building Airtable-based tools for 8 clients. Cares about base portability + per-record pricing.
239
+
240
+ **Linda Chen, 28, Singapore.** Marketing Ops at multinational. Heavy cross-table linking + automations user.
241
+
242
+ ## 14. States
243
+
244
+ | State | Treatment |
245
+ |---|---|
246
+ | **Empty (no bases)** | "Create your first base" CTA + template picker grid |
247
+ | **Empty (no records)** | Inline row "+ Add a record" — no illustration |
248
+ | **Loading (base opening)** | Spotlight surface fades in, table grid skeletons |
249
+ | **Loading (sync)** | Inline progress chip on view header |
250
+ | **Error (sync failed)** | Yellow warning chip on view header + "Reconnect source" link |
251
+ | **Error (formula)** | Red `#ef4444` pill on field header + tooltip |
252
+ | **Success (saved)** | Implicit — auto-saves, no toast. Cmd+Z works |
253
+ | **Success (workflow run)** | Workflow log row appears with green check + duration |
254
+ | **Skeleton (record detail)** | Field labels stay, values become `#e5e7eb` rectangles |
255
+ | **Disabled** | 0.5 opacity. Read-only fields show lock icon |
256
+ | **Loading (AI agent)** | Stepwise indicator + cancellable. Latency expectation set |
257
+
258
+ ## 15. Motion & Easing
259
+
260
+ | Token | Value | Use |
261
+ |---|---|---|
262
+ | `motion-instant` | 0ms | Cell commit |
263
+ | `motion-fast` | 150ms | Hover |
264
+ | `motion-standard` | 250ms | Modal, side panel |
265
+ | `motion-slow` | 400ms | Spotlight surface arrival |
266
+
267
+ Easings: `ease-enter cubic-bezier(0.2,0.6,0.25,1)`, `ease-exit cubic-bezier(0.4,0,1,1)`. No bouncy springs. `prefers-reduced-motion: reduce` removes spotlight fade-in.
268
+
269
+ ---
270
+
271
+ **Verified:** 2026-05-08 (B1 loop)
272
+ **Tier 1 sources:** airtable.com (live DOM via playwright — round 50% icon buttons; ghost 12px; Sign up CTA)
273
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
274
+ **Tier 1 (Philosophy):** airtable.com homepage; Howie Liu (CEO) public talks.
275
+ **Style ref:** `notion`. **Conflicts unresolved:** none.