vibecodeagent 0.0.0-stage → 0.1.64
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.
- package/LICENSE +21 -0
- package/README.md +37 -2
- package/THIRD-PARTY-NOTICES.txt +1427 -0
- package/dist/agen.js +138895 -0
- package/dist/bin.js +1245 -0
- package/dist/daemon.js +163664 -0
- package/dist/node_modules/node-ensure/index.js +10 -0
- package/dist/node_modules/node-ensure/package.json +31 -0
- package/dist/node_modules/pdf-parse/lib/pdf-parse.js +102 -0
- package/dist/node_modules/pdf-parse/lib/pdf.js/v1.10.100/build/pdf.js +18538 -0
- package/dist/node_modules/pdf-parse/lib/pdf.js/v1.10.100/build/pdf.worker.js +45507 -0
- package/dist/node_modules/pdf-parse/package.json +49 -0
- package/dist/node_modules/sql.js/dist/sql-wasm.js +186 -0
- package/dist/node_modules/sql.js/dist/sql-wasm.wasm +0 -0
- package/dist/node_modules/sql.js/package.json +58 -0
- package/dist/resources/skills/builtin/.gitkeep +0 -0
- package/dist/resources/skills/builtin/NOTICE.md +35 -0
- package/dist/resources/skills/builtin/README.md +74 -0
- package/dist/resources/skills/builtin/backend-engineering/SKILL.md +102 -0
- package/dist/resources/skills/builtin/backend-engineering/references/api-contracts.md +320 -0
- package/dist/resources/skills/builtin/backend-engineering/references/auth-and-secrets.md +268 -0
- package/dist/resources/skills/builtin/backend-engineering/references/concurrency-and-jobs.md +386 -0
- package/dist/resources/skills/builtin/backend-engineering/references/data-modelling.md +367 -0
- package/dist/resources/skills/builtin/backend-engineering/references/deploy-and-config.md +228 -0
- package/dist/resources/skills/builtin/backend-engineering/references/migrations.md +320 -0
- package/dist/resources/skills/builtin/backend-engineering/references/observability.md +301 -0
- package/dist/resources/skills/builtin/backend-engineering/references/plan-template.md +152 -0
- package/dist/resources/skills/builtin/backend-engineering/references/review-audit.md +213 -0
- package/dist/resources/skills/builtin/backend-engineering/references/security.md +251 -0
- package/dist/resources/skills/builtin/backend-engineering/references/stack-go.md +238 -0
- package/dist/resources/skills/builtin/backend-engineering/references/stack-node.md +274 -0
- package/dist/resources/skills/builtin/backend-engineering/references/stack-python.md +296 -0
- package/dist/resources/skills/builtin/backend-engineering/references/testing-and-perf.md +298 -0
- package/dist/resources/skills/builtin/backend-engineering/references/validation-and-errors.md +266 -0
- package/dist/resources/skills/builtin/dasar-vibecode/SKILL.md +312 -0
- package/dist/resources/skills/builtin/excel-maker/SKILL.md +71 -0
- package/dist/resources/skills/builtin/frontend-design/SKILL.md +131 -0
- package/dist/resources/skills/builtin/frontend-design/data/app-interface.csv +33 -0
- package/dist/resources/skills/builtin/frontend-design/data/catalog-summary.json +78 -0
- package/dist/resources/skills/builtin/frontend-design/data/charts.csv +26 -0
- package/dist/resources/skills/builtin/frontend-design/data/colors.csv +193 -0
- package/dist/resources/skills/builtin/frontend-design/data/data-provenance.json +1348 -0
- package/dist/resources/skills/builtin/frontend-design/data/google-font-licenses.json +20185 -0
- package/dist/resources/skills/builtin/frontend-design/data/google-fonts.csv +1935 -0
- package/dist/resources/skills/builtin/frontend-design/data/icons.csv +106 -0
- package/dist/resources/skills/builtin/frontend-design/data/landing.csv +35 -0
- package/dist/resources/skills/builtin/frontend-design/data/motion.csv +18 -0
- package/dist/resources/skills/builtin/frontend-design/data/phosphor-icons-upstream.json +32582 -0
- package/dist/resources/skills/builtin/frontend-design/data/products.csv +193 -0
- package/dist/resources/skills/builtin/frontend-design/data/react-performance.csv +45 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/angular.csv +51 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/astro.csv +54 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/avalonia.csv +57 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/flutter.csv +53 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/html-tailwind.csv +60 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/javafx.csv +76 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/jetpack-compose.csv +53 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/laravel.csv +51 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/nextjs.csv +62 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/nuxt-ui.csv +71 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/nuxtjs.csv +68 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/react-native.csv +52 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/react.csv +62 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/shadcn.csv +69 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/svelte.csv +56 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/swiftui.csv +51 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/threejs.csv +54 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/uno.csv +60 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/uwp.csv +56 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/vue.csv +50 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/winui.csv +60 -0
- package/dist/resources/skills/builtin/frontend-design/data/stacks/wpf.csv +57 -0
- package/dist/resources/skills/builtin/frontend-design/data/styles.csv +89 -0
- package/dist/resources/skills/builtin/frontend-design/data/typography.csv +75 -0
- package/dist/resources/skills/builtin/frontend-design/data/ui-reasoning.csv +193 -0
- package/dist/resources/skills/builtin/frontend-design/data/ux-guidelines.csv +120 -0
- package/dist/resources/skills/builtin/frontend-design/references/animation-patterns.md +705 -0
- package/dist/resources/skills/builtin/frontend-design/references/app-polish.md +117 -0
- package/dist/resources/skills/builtin/frontend-design/references/apple-fluid.md +278 -0
- package/dist/resources/skills/builtin/frontend-design/references/art-direction.md +280 -0
- package/dist/resources/skills/builtin/frontend-design/references/case-studies.md +599 -0
- package/dist/resources/skills/builtin/frontend-design/references/craft.md +128 -0
- package/dist/resources/skills/builtin/frontend-design/references/expo.md +251 -0
- package/dist/resources/skills/builtin/frontend-design/references/layout-systems.md +533 -0
- package/dist/resources/skills/builtin/frontend-design/references/libraries.md +72 -0
- package/dist/resources/skills/builtin/frontend-design/references/motion.md +222 -0
- package/dist/resources/skills/builtin/frontend-design/references/picker.md +197 -0
- package/dist/resources/skills/builtin/frontend-design/references/plan-template.md +73 -0
- package/dist/resources/skills/builtin/frontend-design/references/prototype.md +85 -0
- package/dist/resources/skills/builtin/frontend-design/references/recipes-expo.md +385 -0
- package/dist/resources/skills/builtin/frontend-design/references/recipes-web.md +421 -0
- package/dist/resources/skills/builtin/frontend-design/references/review-audit.md +107 -0
- package/dist/resources/skills/builtin/frontend-design/references/sonner.md +143 -0
- package/dist/resources/skills/builtin/frontend-design/references/technical-stack.md +543 -0
- package/dist/resources/skills/builtin/frontend-design/references/theming.md +60 -0
- package/dist/resources/skills/builtin/frontend-design/references/typography.md +393 -0
- package/dist/resources/skills/builtin/frontend-design/references/ux-rules.md +256 -0
- package/dist/resources/skills/builtin/frontend-design/references/vocabulary.md +169 -0
- package/dist/resources/skills/builtin/frontend-design/scripts/core.py +993 -0
- package/dist/resources/skills/builtin/frontend-design/scripts/design_system.py +1643 -0
- package/dist/resources/skills/builtin/frontend-design/scripts/reasoning_contract.py +123 -0
- package/dist/resources/skills/builtin/frontend-design/scripts/search.py +171 -0
- package/dist/resources/skills/builtin/frontend-design/scripts/validate_data.py +1091 -0
- package/dist/resources/skills/builtin/kerja-agentik/SKILL.md +117 -0
- package/dist/resources/skills/builtin/pdf-maker/SKILL.md +51 -0
- package/dist/resources/skills/builtin/tinjau-keamanan/SKILL.md +53 -0
- package/dist/resources/skills/builtin/word-maker/SKILL.md +58 -0
- package/dist/resources/skills/builtin/write-swift/SKILL.md +388 -0
- package/package.json +35 -4
|
@@ -0,0 +1,599 @@
|
|
|
1
|
+
# Case Studies: Agency Technique Analysis
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
1. Locomotive (Montreal)
|
|
5
|
+
2. Studio Freight (New York)
|
|
6
|
+
3. AREA 17 (Paris/NYC)
|
|
7
|
+
4. Hello Monday (Copenhagen/NYC)
|
|
8
|
+
5. Dogstudio (Belgium/Chicago)
|
|
9
|
+
6. Tonik (Poland)
|
|
10
|
+
7. Instrument (Portland)
|
|
11
|
+
8. Active Theory (LA)
|
|
12
|
+
9. Common Patterns Across Elite Agencies
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. Locomotive (Montreal)
|
|
17
|
+
|
|
18
|
+
**Signature: Smooth, refined, editorial precision**
|
|
19
|
+
|
|
20
|
+
### Technical Fingerprint
|
|
21
|
+
```
|
|
22
|
+
STACK
|
|
23
|
+
├── Custom scroll (Locomotive Scroll - they created it)
|
|
24
|
+
├── GSAP for animations
|
|
25
|
+
├── Custom vanilla JS
|
|
26
|
+
├── No heavy frameworks
|
|
27
|
+
└── Hand-crafted CSS
|
|
28
|
+
|
|
29
|
+
SIGNATURE TECHNIQUES
|
|
30
|
+
├── Extreme smooth scrolling with lerp
|
|
31
|
+
├── Parallax on almost everything (but subtle)
|
|
32
|
+
├── Split text animations on every headline
|
|
33
|
+
├── Magnetic cursor effects
|
|
34
|
+
├── Scale-up reveals on scroll
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Design Patterns
|
|
38
|
+
```css
|
|
39
|
+
/* Locomotive-style color palette */
|
|
40
|
+
:root {
|
|
41
|
+
--loco-cream: #f5f2eb;
|
|
42
|
+
--loco-black: #1a1a1a;
|
|
43
|
+
--loco-accent: #ff5c00;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* Their characteristic wide spacing */
|
|
47
|
+
.loco-section {
|
|
48
|
+
padding: 20vh 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Massive display type */
|
|
52
|
+
.loco-hero-title {
|
|
53
|
+
font-size: clamp(4rem, 15vw, 18rem);
|
|
54
|
+
font-weight: 500;
|
|
55
|
+
letter-spacing: -0.04em;
|
|
56
|
+
line-height: 0.85;
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Animation Style
|
|
61
|
+
```javascript
|
|
62
|
+
// Locomotive-style page reveal
|
|
63
|
+
gsap.timeline()
|
|
64
|
+
.from(".hero-title .word", {
|
|
65
|
+
y: "110%",
|
|
66
|
+
duration: 1.4,
|
|
67
|
+
ease: "expo.out",
|
|
68
|
+
stagger: 0.08
|
|
69
|
+
})
|
|
70
|
+
.from(".hero-meta", {
|
|
71
|
+
opacity: 0,
|
|
72
|
+
y: 30,
|
|
73
|
+
duration: 0.8,
|
|
74
|
+
ease: "expo.out"
|
|
75
|
+
}, "-=0.8");
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 2. Studio Freight (New York)
|
|
81
|
+
|
|
82
|
+
**Signature: Bold, typographic, tech-forward**
|
|
83
|
+
|
|
84
|
+
### Technical Fingerprint
|
|
85
|
+
```
|
|
86
|
+
STACK
|
|
87
|
+
├── Lenis (they created it)
|
|
88
|
+
├── React/Next.js
|
|
89
|
+
├── GSAP with custom easings
|
|
90
|
+
├── Three.js for 3D elements
|
|
91
|
+
├── Heavy WebGL use
|
|
92
|
+
|
|
93
|
+
SIGNATURE TECHNIQUES
|
|
94
|
+
├── Massive typography as hero
|
|
95
|
+
├── Shader-based transitions
|
|
96
|
+
├── Horizontal scroll sections
|
|
97
|
+
├── Custom cursor interactions
|
|
98
|
+
├── Grid-breaking layouts
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Design Patterns
|
|
102
|
+
```css
|
|
103
|
+
/* Studio Freight aesthetic */
|
|
104
|
+
:root {
|
|
105
|
+
--sf-black: #0e0e0e;
|
|
106
|
+
--sf-white: #f8f8f8;
|
|
107
|
+
--sf-rust: #c4553d;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* Their bold type treatment */
|
|
111
|
+
.sf-headline {
|
|
112
|
+
font-family: 'Monument Extended', sans-serif;
|
|
113
|
+
font-size: clamp(3rem, 12vw, 14rem);
|
|
114
|
+
font-weight: 800;
|
|
115
|
+
text-transform: uppercase;
|
|
116
|
+
letter-spacing: -0.03em;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* Characteristic list styling */
|
|
120
|
+
.sf-list {
|
|
121
|
+
font-family: 'Neue Montreal', sans-serif;
|
|
122
|
+
font-size: 1rem;
|
|
123
|
+
letter-spacing: 0.02em;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.sf-list li {
|
|
127
|
+
padding: 1rem 0;
|
|
128
|
+
border-bottom: 1px solid rgba(255,255,255,0.1);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.sf-list li::before {
|
|
132
|
+
content: '→';
|
|
133
|
+
margin-right: 0.5rem;
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Their Project Card Style
|
|
138
|
+
```css
|
|
139
|
+
.sf-project-card {
|
|
140
|
+
display: grid;
|
|
141
|
+
grid-template-columns: 1fr 1fr;
|
|
142
|
+
gap: 1rem;
|
|
143
|
+
padding: 2rem;
|
|
144
|
+
background: var(--sf-black);
|
|
145
|
+
transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.sf-project-card:hover {
|
|
149
|
+
transform: scale(0.98);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.sf-project-card img {
|
|
153
|
+
transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.sf-project-card:hover img {
|
|
157
|
+
transform: scale(1.05);
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## 3. AREA 17 (Paris/NYC)
|
|
164
|
+
|
|
165
|
+
**Signature: Sophisticated, institutional, systematic**
|
|
166
|
+
|
|
167
|
+
### Technical Fingerprint
|
|
168
|
+
```
|
|
169
|
+
STACK
|
|
170
|
+
├── Twill (their CMS)
|
|
171
|
+
├── Vue.js preference
|
|
172
|
+
├── GSAP for animations
|
|
173
|
+
├── Custom design systems
|
|
174
|
+
└── Enterprise-grade infrastructure
|
|
175
|
+
|
|
176
|
+
SIGNATURE TECHNIQUES
|
|
177
|
+
├── Restrained animations
|
|
178
|
+
├── Perfect typography
|
|
179
|
+
├── Systematic color application
|
|
180
|
+
├── Accessibility-first
|
|
181
|
+
├── Content-driven layouts
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Design Patterns
|
|
185
|
+
```css
|
|
186
|
+
/* AREA 17 systematic approach */
|
|
187
|
+
:root {
|
|
188
|
+
/* They use client's brand colors systematically */
|
|
189
|
+
--brand-primary: currentColor;
|
|
190
|
+
--text-primary: #1a1a1a;
|
|
191
|
+
--text-secondary: #666666;
|
|
192
|
+
--surface: #ffffff;
|
|
193
|
+
--border: #e5e5e5;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/* Their grid is always precise */
|
|
197
|
+
.a17-grid {
|
|
198
|
+
display: grid;
|
|
199
|
+
grid-template-columns: repeat(12, 1fr);
|
|
200
|
+
gap: 2rem;
|
|
201
|
+
max-width: 1440px;
|
|
202
|
+
margin: 0 auto;
|
|
203
|
+
padding: 0 4rem;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/* Typography hierarchy */
|
|
207
|
+
.a17-h1 {
|
|
208
|
+
font-size: clamp(2.5rem, 5vw, 4rem);
|
|
209
|
+
font-weight: 400;
|
|
210
|
+
line-height: 1.1;
|
|
211
|
+
letter-spacing: -0.02em;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.a17-body {
|
|
215
|
+
font-size: 1.125rem;
|
|
216
|
+
line-height: 1.6;
|
|
217
|
+
max-width: 65ch;
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Animation Philosophy
|
|
222
|
+
```javascript
|
|
223
|
+
// AREA 17 - restrained, purposeful
|
|
224
|
+
// They rarely use flashy effects
|
|
225
|
+
|
|
226
|
+
// Simple fade up on scroll
|
|
227
|
+
gsap.utils.toArray('[data-reveal]').forEach(el => {
|
|
228
|
+
gsap.from(el, {
|
|
229
|
+
y: 40,
|
|
230
|
+
opacity: 0,
|
|
231
|
+
duration: 0.8,
|
|
232
|
+
ease: "power2.out",
|
|
233
|
+
scrollTrigger: {
|
|
234
|
+
trigger: el,
|
|
235
|
+
start: "top 85%"
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
// No stagger, no split text, just clean reveals
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## 4. Hello Monday (Copenhagen/NYC)
|
|
246
|
+
|
|
247
|
+
**Signature: Playful, inventive, technically ambitious**
|
|
248
|
+
|
|
249
|
+
### Technical Fingerprint
|
|
250
|
+
```
|
|
251
|
+
STACK
|
|
252
|
+
├── React/Next.js
|
|
253
|
+
├── Three.js / WebGL heavy
|
|
254
|
+
├── GSAP + custom physics
|
|
255
|
+
├── Pixel-perfect craft
|
|
256
|
+
└── Experimental approaches
|
|
257
|
+
|
|
258
|
+
SIGNATURE TECHNIQUES
|
|
259
|
+
├── Custom physics simulations
|
|
260
|
+
├── Interactive 3D scenes
|
|
261
|
+
├── Particle systems
|
|
262
|
+
├── Sound design integration
|
|
263
|
+
├── Gamification elements
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Design Philosophy
|
|
267
|
+
```css
|
|
268
|
+
/* Hello Monday embraces bold experiments */
|
|
269
|
+
.hm-experimental {
|
|
270
|
+
/* They're not afraid of: */
|
|
271
|
+
mix-blend-mode: difference;
|
|
272
|
+
cursor: none; /* Custom cursor always */
|
|
273
|
+
|
|
274
|
+
/* Complex gradients */
|
|
275
|
+
background:
|
|
276
|
+
radial-gradient(ellipse at 20% 80%, rgba(255,100,100,0.3) 0%, transparent 50%),
|
|
277
|
+
radial-gradient(ellipse at 80% 20%, rgba(100,100,255,0.3) 0%, transparent 50%),
|
|
278
|
+
linear-gradient(180deg, #0a0a0a, #1a1a2e);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/* Their type tends toward expressive */
|
|
282
|
+
.hm-display {
|
|
283
|
+
font-family: 'Custom Variable Font', sans-serif;
|
|
284
|
+
font-variation-settings: 'wght' 800, 'wdth' 125;
|
|
285
|
+
font-size: clamp(4rem, 20vw, 20rem);
|
|
286
|
+
}
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Interactive Pattern
|
|
290
|
+
```javascript
|
|
291
|
+
// Hello Monday-style interactive element
|
|
292
|
+
class InteractiveScene {
|
|
293
|
+
constructor() {
|
|
294
|
+
this.mouse = { x: 0, y: 0 };
|
|
295
|
+
this.targetMouse = { x: 0, y: 0 };
|
|
296
|
+
this.lerp = 0.1;
|
|
297
|
+
|
|
298
|
+
window.addEventListener('mousemove', this.onMouseMove.bind(this));
|
|
299
|
+
this.animate();
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
onMouseMove(e) {
|
|
303
|
+
this.targetMouse.x = (e.clientX / window.innerWidth) * 2 - 1;
|
|
304
|
+
this.targetMouse.y = -(e.clientY / window.innerHeight) * 2 + 1;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
animate() {
|
|
308
|
+
// Smooth interpolation
|
|
309
|
+
this.mouse.x += (this.targetMouse.x - this.mouse.x) * this.lerp;
|
|
310
|
+
this.mouse.y += (this.targetMouse.y - this.mouse.y) * this.lerp;
|
|
311
|
+
|
|
312
|
+
// Apply to 3D scene, particles, etc.
|
|
313
|
+
requestAnimationFrame(this.animate.bind(this));
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## 5. Dogstudio (Belgium/Chicago)
|
|
321
|
+
|
|
322
|
+
**Signature: Emotional, immersive, story-driven**
|
|
323
|
+
|
|
324
|
+
### Technical Fingerprint
|
|
325
|
+
```
|
|
326
|
+
STACK
|
|
327
|
+
├── Custom solutions
|
|
328
|
+
├── WebGL for immersive experiences
|
|
329
|
+
├── GSAP animation
|
|
330
|
+
├── Video integration
|
|
331
|
+
└── Performance-optimized
|
|
332
|
+
|
|
333
|
+
SIGNATURE TECHNIQUES
|
|
334
|
+
├── Cinematic page transitions
|
|
335
|
+
├── Full-screen video backgrounds
|
|
336
|
+
├── Scroll-based storytelling
|
|
337
|
+
├── Sound + visual harmony
|
|
338
|
+
├── Cultural institution specialization
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### Design Patterns
|
|
342
|
+
```css
|
|
343
|
+
/* Dogstudio immersive approach */
|
|
344
|
+
.ds-immersive-section {
|
|
345
|
+
position: relative;
|
|
346
|
+
height: 100vh;
|
|
347
|
+
overflow: hidden;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
.ds-video-bg {
|
|
351
|
+
position: absolute;
|
|
352
|
+
inset: 0;
|
|
353
|
+
object-fit: cover;
|
|
354
|
+
width: 100%;
|
|
355
|
+
height: 100%;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
.ds-content-overlay {
|
|
359
|
+
position: relative;
|
|
360
|
+
z-index: 1;
|
|
361
|
+
display: flex;
|
|
362
|
+
flex-direction: column;
|
|
363
|
+
justify-content: flex-end;
|
|
364
|
+
height: 100%;
|
|
365
|
+
padding: 4rem;
|
|
366
|
+
background: linear-gradient(
|
|
367
|
+
to top,
|
|
368
|
+
rgba(0,0,0,0.8) 0%,
|
|
369
|
+
transparent 50%
|
|
370
|
+
);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
/* Their navigation is often minimal */
|
|
374
|
+
.ds-nav {
|
|
375
|
+
position: fixed;
|
|
376
|
+
top: 2rem;
|
|
377
|
+
left: 2rem;
|
|
378
|
+
right: 2rem;
|
|
379
|
+
display: flex;
|
|
380
|
+
justify-content: space-between;
|
|
381
|
+
mix-blend-mode: difference;
|
|
382
|
+
color: white;
|
|
383
|
+
z-index: 100;
|
|
384
|
+
}
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## 6. Tonik (Poland)
|
|
390
|
+
|
|
391
|
+
**Signature: Startup-focused, fast, modern**
|
|
392
|
+
|
|
393
|
+
### Technical Fingerprint
|
|
394
|
+
```
|
|
395
|
+
STACK
|
|
396
|
+
├── Webflow / Framer (no-code speed)
|
|
397
|
+
├── React for complex apps
|
|
398
|
+
├── Figma-first workflow
|
|
399
|
+
├── Rapid iteration
|
|
400
|
+
└── SaaS specialization
|
|
401
|
+
|
|
402
|
+
SIGNATURE TECHNIQUES
|
|
403
|
+
├── Bold gradient usage
|
|
404
|
+
├── 3D elements via Spline
|
|
405
|
+
├── Micro-animations everywhere
|
|
406
|
+
├── Dark mode preference
|
|
407
|
+
├── Tech startup aesthetic
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### Design Patterns
|
|
411
|
+
```css
|
|
412
|
+
/* Tonik startup aesthetic */
|
|
413
|
+
:root {
|
|
414
|
+
--tonik-bg: #0a0a0a;
|
|
415
|
+
--tonik-surface: #141414;
|
|
416
|
+
--tonik-border: rgba(255,255,255,0.1);
|
|
417
|
+
--tonik-accent: linear-gradient(135deg, #6366f1, #8b5cf6);
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.tonik-card {
|
|
421
|
+
background: var(--tonik-surface);
|
|
422
|
+
border: 1px solid var(--tonik-border);
|
|
423
|
+
border-radius: 1rem;
|
|
424
|
+
padding: 2rem;
|
|
425
|
+
transition: all 0.3s ease;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
.tonik-card:hover {
|
|
429
|
+
border-color: rgba(99, 102, 241, 0.5);
|
|
430
|
+
transform: translateY(-4px);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.tonik-gradient-text {
|
|
434
|
+
background: var(--tonik-accent);
|
|
435
|
+
-webkit-background-clip: text;
|
|
436
|
+
-webkit-text-fill-color: transparent;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
/* Their button style */
|
|
440
|
+
.tonik-btn {
|
|
441
|
+
background: var(--tonik-accent);
|
|
442
|
+
color: white;
|
|
443
|
+
padding: 1rem 2rem;
|
|
444
|
+
border-radius: 9999px;
|
|
445
|
+
font-weight: 500;
|
|
446
|
+
transition: transform 0.2s, box-shadow 0.2s;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
.tonik-btn:hover {
|
|
450
|
+
transform: scale(1.02);
|
|
451
|
+
box-shadow: 0 10px 40px rgba(99, 102, 241, 0.3);
|
|
452
|
+
}
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
---
|
|
456
|
+
|
|
457
|
+
## 7. Instrument (Portland)
|
|
458
|
+
|
|
459
|
+
**Signature: Brand-centric, polished, scalable**
|
|
460
|
+
|
|
461
|
+
### Technical Fingerprint
|
|
462
|
+
```
|
|
463
|
+
STACK
|
|
464
|
+
├── Enterprise frameworks
|
|
465
|
+
├── Design system focus
|
|
466
|
+
├── Accessibility-first
|
|
467
|
+
├── Performance optimized
|
|
468
|
+
└── Long-term maintenance
|
|
469
|
+
|
|
470
|
+
SIGNATURE TECHNIQUES
|
|
471
|
+
├── Brand system extension
|
|
472
|
+
├── Motion design language
|
|
473
|
+
├── Component-based design
|
|
474
|
+
├── Systematic spacing
|
|
475
|
+
├── Client brand preservation
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
### Design Philosophy
|
|
479
|
+
```css
|
|
480
|
+
/* Instrument systematic approach */
|
|
481
|
+
:root {
|
|
482
|
+
/* They create extensive token systems */
|
|
483
|
+
--space-1: 0.25rem;
|
|
484
|
+
--space-2: 0.5rem;
|
|
485
|
+
--space-3: 0.75rem;
|
|
486
|
+
--space-4: 1rem;
|
|
487
|
+
--space-5: 1.5rem;
|
|
488
|
+
--space-6: 2rem;
|
|
489
|
+
--space-7: 3rem;
|
|
490
|
+
--space-8: 4rem;
|
|
491
|
+
--space-9: 6rem;
|
|
492
|
+
--space-10: 8rem;
|
|
493
|
+
|
|
494
|
+
/* Typography scale */
|
|
495
|
+
--font-size-xs: 0.75rem;
|
|
496
|
+
--font-size-sm: 0.875rem;
|
|
497
|
+
--font-size-md: 1rem;
|
|
498
|
+
--font-size-lg: 1.125rem;
|
|
499
|
+
--font-size-xl: 1.25rem;
|
|
500
|
+
--font-size-2xl: 1.5rem;
|
|
501
|
+
--font-size-3xl: 2rem;
|
|
502
|
+
--font-size-4xl: 2.5rem;
|
|
503
|
+
--font-size-5xl: 3rem;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
/* Everything built from tokens */
|
|
507
|
+
.instrument-component {
|
|
508
|
+
padding: var(--space-6);
|
|
509
|
+
margin-bottom: var(--space-8);
|
|
510
|
+
font-size: var(--font-size-md);
|
|
511
|
+
}
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
---
|
|
515
|
+
|
|
516
|
+
## 8. Active Theory (LA)
|
|
517
|
+
|
|
518
|
+
**Signature: Technical excellence, immersive WebGL**
|
|
519
|
+
|
|
520
|
+
### Technical Fingerprint
|
|
521
|
+
```
|
|
522
|
+
STACK
|
|
523
|
+
├── Custom WebGL frameworks
|
|
524
|
+
├── Three.js mastery
|
|
525
|
+
├── Shader programming
|
|
526
|
+
├── VR/AR capabilities
|
|
527
|
+
└── Maximum technical ambition
|
|
528
|
+
|
|
529
|
+
SIGNATURE TECHNIQUES
|
|
530
|
+
├── Full 3D environments
|
|
531
|
+
├── Custom shader effects
|
|
532
|
+
├── Real-time rendering
|
|
533
|
+
├── Interactive experiences
|
|
534
|
+
├── Sound reactive visuals
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
---
|
|
538
|
+
|
|
539
|
+
## 9. Common Patterns Across Elite Agencies
|
|
540
|
+
|
|
541
|
+
### Universal Techniques
|
|
542
|
+
```
|
|
543
|
+
TYPOGRAPHY
|
|
544
|
+
├── Custom/premium fonts (never system fonts)
|
|
545
|
+
├── Extreme scale contrast (10:1+ ratios)
|
|
546
|
+
├── Negative tracking on display type
|
|
547
|
+
├── Line-height varies by use case
|
|
548
|
+
└── Text animations on key headlines
|
|
549
|
+
|
|
550
|
+
ANIMATION
|
|
551
|
+
├── Custom easing (never linear, rarely ease)
|
|
552
|
+
├── Staggered reveals
|
|
553
|
+
├── Scroll-triggered sequences
|
|
554
|
+
├── Smooth scrolling (Lenis/Locomotive)
|
|
555
|
+
└── Page transitions
|
|
556
|
+
|
|
557
|
+
LAYOUT
|
|
558
|
+
├── 12-column base grid
|
|
559
|
+
├── Strategic grid breaking
|
|
560
|
+
├── Generous white space
|
|
561
|
+
├── Full-bleed imagery
|
|
562
|
+
└── Asymmetric compositions
|
|
563
|
+
|
|
564
|
+
COLOR
|
|
565
|
+
├── Limited palettes (2-3 colors max)
|
|
566
|
+
├── Bold accent usage
|
|
567
|
+
├── Dark mode capability
|
|
568
|
+
├── Contextual color shifts
|
|
569
|
+
└── Never pure black/white
|
|
570
|
+
|
|
571
|
+
INTERACTION
|
|
572
|
+
├── Custom cursors
|
|
573
|
+
├── Magnetic buttons
|
|
574
|
+
├── Hover state reveals
|
|
575
|
+
├── Micro-feedback
|
|
576
|
+
└── Sound design (optional)
|
|
577
|
+
|
|
578
|
+
PERFORMANCE
|
|
579
|
+
├── Optimized assets
|
|
580
|
+
├── Lazy loading
|
|
581
|
+
├── Code splitting
|
|
582
|
+
├── GPU acceleration
|
|
583
|
+
└── Core Web Vitals passing
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
### What They ALL Avoid
|
|
587
|
+
```
|
|
588
|
+
NEVER SEEN ON ELITE SITES
|
|
589
|
+
✗ Stock photography (unedited)
|
|
590
|
+
✗ Generic icons (Font Awesome default)
|
|
591
|
+
✗ System fonts
|
|
592
|
+
✗ Bootstrap/default components
|
|
593
|
+
✗ Lazy lorem ipsum
|
|
594
|
+
✗ Auto-generated layouts
|
|
595
|
+
✗ Cookie-cutter templates
|
|
596
|
+
✗ Generic loading spinners
|
|
597
|
+
✗ Aggressive pop-ups
|
|
598
|
+
✗ Cluttered footers
|
|
599
|
+
```
|