FoodDesert commited on
Commit
82192f7
Β·
verified Β·
1 Parent(s): 1bba7a3

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +318 -18
index.html CHANGED
@@ -1,19 +1,319 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Grounded Systems</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Mono:wght@300;400;500&display=swap" rel="stylesheet">
9
+ <style>
10
+ :root {
11
+ --bg: #0e0f11;
12
+ --surface: #16181c;
13
+ --border: #2a2d33;
14
+ --text: #e8e9eb;
15
+ --muted: #6b7280;
16
+ --accent: #c8b89a;
17
+ --accent-dim: #6b5d47;
18
+ --green: #4ade80;
19
+ --tag-bg: #1e2025;
20
+ }
21
+
22
+ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
23
+
24
+ body {
25
+ background: var(--bg);
26
+ color: var(--text);
27
+ font-family: 'DM Mono', monospace;
28
+ font-weight: 300;
29
+ min-height: 100vh;
30
+ padding: 0;
31
+ overflow-x: hidden;
32
+ }
33
+
34
+ /* Subtle noise texture overlay */
35
+ body::before {
36
+ content: '';
37
+ position: fixed;
38
+ inset: 0;
39
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
40
+ pointer-events: none;
41
+ z-index: 0;
42
+ opacity: 0.4;
43
+ }
44
+
45
+ .page {
46
+ position: relative;
47
+ z-index: 1;
48
+ max-width: 760px;
49
+ margin: 0 auto;
50
+ padding: 80px 32px 120px;
51
+ }
52
+
53
+ /* Header */
54
+ header {
55
+ margin-bottom: 72px;
56
+ opacity: 0;
57
+ animation: fadeUp 0.6s ease forwards;
58
+ }
59
+
60
+ .wordmark {
61
+ font-family: 'DM Serif Display', serif;
62
+ font-size: clamp(28px, 5vw, 42px);
63
+ letter-spacing: -0.02em;
64
+ color: var(--text);
65
+ line-height: 1;
66
+ margin-bottom: 6px;
67
+ }
68
+
69
+ .wordmark span {
70
+ color: var(--accent);
71
+ font-style: italic;
72
+ }
73
+
74
+ .tagline {
75
+ font-size: 11px;
76
+ letter-spacing: 0.18em;
77
+ text-transform: uppercase;
78
+ color: var(--muted);
79
+ margin-top: 14px;
80
+ }
81
+
82
+ /* Divider */
83
+ .rule {
84
+ width: 40px;
85
+ height: 1px;
86
+ background: var(--accent-dim);
87
+ margin: 28px 0;
88
+ }
89
+
90
+ /* Framing paragraph */
91
+ .framing {
92
+ font-size: 14px;
93
+ line-height: 1.8;
94
+ color: #9ca3af;
95
+ max-width: 580px;
96
+ opacity: 0;
97
+ animation: fadeUp 0.6s ease 0.15s forwards;
98
+ }
99
+
100
+ /* Projects section */
101
+ .section-label {
102
+ font-size: 10px;
103
+ letter-spacing: 0.22em;
104
+ text-transform: uppercase;
105
+ color: var(--accent-dim);
106
+ margin-bottom: 28px;
107
+ margin-top: 72px;
108
+ opacity: 0;
109
+ animation: fadeUp 0.6s ease 0.3s forwards;
110
+ }
111
+
112
+ /* Project cards */
113
+ .projects {
114
+ display: flex;
115
+ flex-direction: column;
116
+ gap: 2px;
117
+ }
118
+
119
+ .project {
120
+ background: var(--surface);
121
+ border: 1px solid var(--border);
122
+ padding: 28px 32px;
123
+ position: relative;
124
+ transition: border-color 0.2s ease, background 0.2s ease;
125
+ opacity: 0;
126
+ animation: fadeUp 0.5s ease forwards;
127
+ text-decoration: none;
128
+ color: inherit;
129
+ display: block;
130
+ }
131
+
132
+ .project:nth-child(1) { animation-delay: 0.4s; border-radius: 4px 4px 0 0; }
133
+ .project:nth-child(2) { animation-delay: 0.5s; border-radius: 0; }
134
+ .project:nth-child(3) { animation-delay: 0.6s; border-radius: 0 0 4px 4px; }
135
+
136
+ .project:hover {
137
+ border-color: var(--accent-dim);
138
+ background: #1a1c21;
139
+ }
140
+
141
+ .project:hover .project-arrow {
142
+ opacity: 1;
143
+ transform: translateX(0);
144
+ }
145
+
146
+ .project-header {
147
+ display: flex;
148
+ align-items: baseline;
149
+ justify-content: space-between;
150
+ gap: 16px;
151
+ margin-bottom: 10px;
152
+ }
153
+
154
+ .project-name {
155
+ font-family: 'DM Serif Display', serif;
156
+ font-size: 18px;
157
+ color: var(--text);
158
+ letter-spacing: -0.01em;
159
+ }
160
+
161
+ .project-arrow {
162
+ font-size: 12px;
163
+ color: var(--accent);
164
+ opacity: 0;
165
+ transform: translateX(-6px);
166
+ transition: opacity 0.2s ease, transform 0.2s ease;
167
+ flex-shrink: 0;
168
+ }
169
+
170
+ .project-desc {
171
+ font-size: 13px;
172
+ line-height: 1.7;
173
+ color: #6b7280;
174
+ margin-bottom: 18px;
175
+ max-width: 560px;
176
+ }
177
+
178
+ .project-desc strong {
179
+ color: #9ca3af;
180
+ font-weight: 400;
181
+ }
182
+
183
+ .project-tags {
184
+ display: flex;
185
+ flex-wrap: wrap;
186
+ gap: 6px;
187
+ }
188
+
189
+ .tag {
190
+ font-size: 10px;
191
+ letter-spacing: 0.1em;
192
+ text-transform: uppercase;
193
+ color: var(--muted);
194
+ background: var(--tag-bg);
195
+ border: 1px solid var(--border);
196
+ padding: 3px 8px;
197
+ border-radius: 2px;
198
+ }
199
+
200
+ .stat {
201
+ display: inline-flex;
202
+ align-items: center;
203
+ gap: 5px;
204
+ font-size: 10px;
205
+ letter-spacing: 0.08em;
206
+ color: var(--green);
207
+ background: rgba(74, 222, 128, 0.06);
208
+ border: 1px solid rgba(74, 222, 128, 0.15);
209
+ padding: 3px 8px;
210
+ border-radius: 2px;
211
+ }
212
+
213
+ .stat::before {
214
+ content: '●';
215
+ font-size: 6px;
216
+ }
217
+
218
+ /* Footer */
219
+ footer {
220
+ margin-top: 80px;
221
+ padding-top: 28px;
222
+ border-top: 1px solid var(--border);
223
+ font-size: 11px;
224
+ color: var(--muted);
225
+ letter-spacing: 0.06em;
226
+ opacity: 0;
227
+ animation: fadeUp 0.5s ease 0.8s forwards;
228
+ }
229
+
230
+ @keyframes fadeUp {
231
+ from { opacity: 0; transform: translateY(14px); }
232
+ to { opacity: 1; transform: translateY(0); }
233
+ }
234
+
235
+ @media (max-width: 480px) {
236
+ .page { padding: 48px 20px 80px; }
237
+ .project { padding: 22px 20px; }
238
+ }
239
+ </style>
240
+ </head>
241
+ <body>
242
+ <div class="page">
243
+
244
+ <header>
245
+ <div class="wordmark">Grounded <span>Systems</span></div>
246
+ <div class="tagline">Independent ML Research &amp; Engineering</div>
247
+ <div class="rule"></div>
248
+ <p class="framing">
249
+ Independent research and engineering work in retrieval systems, structured prediction,
250
+ and language-grounded generation. Projects focus on controlled-vocabulary mapping,
251
+ embedding-based retrieval, and constrained LLM output β€” applied to domains where
252
+ precision and reliability matter more than open-ended generation.
253
+ </p>
254
+ </header>
255
+
256
+ <div class="section-label">Projects</div>
257
+
258
+ <div class="projects">
259
+
260
+ <a class="project" href="https://huggingface.co/FoodDesert/Boring_Embeddings" target="_blank" rel="noopener">
261
+ <div class="project-header">
262
+ <div class="project-name">Boring Embeddings</div>
263
+ <div class="project-arrow">β†—</div>
264
+ </div>
265
+ <p class="project-desc">
266
+ <strong>Negative textual inversion embeddings for generative image models.</strong>
267
+ Trained on community-engagement signals rather than manually curated defect lists β€”
268
+ capturing unnamed visual patterns associated with low-quality outputs that tag-based
269
+ approaches cannot express. Used as a default negative embedding in several popular
270
+ Stable Diffusion workflows.
271
+ </p>
272
+ <div class="project-tags">
273
+ <span class="stat">10M+ generations</span>
274
+ <span class="tag">Textual Inversion</span>
275
+ <span class="tag">Representation Learning</span>
276
+ <span class="tag">Generative Models</span>
277
+ </div>
278
+ </a>
279
+
280
+ <a class="project" href="https://huggingface.co/spaces/FoodDesert/Prompt_Squirrel_RAG" target="_blank" rel="noopener">
281
+ <div class="project-header">
282
+ <div class="project-name">Prompt Squirrel β€” Tag Retrieval System</div>
283
+ <div class="project-arrow">β†—</div>
284
+ </div>
285
+ <p class="project-desc">
286
+ <strong>Retrieval-augmented system mapping natural language to a controlled vocabulary.</strong>
287
+ Three-stage pipeline: LLM query reformulation into tag-like search phrases,
288
+ HNSW approximate nearest-neighbor retrieval over fine-tuned FastText embeddings,
289
+ and constrained LLM selection that can only output valid vocabulary items β€”
290
+ eliminating hallucination of out-of-vocabulary terms entirely.
291
+ Embeddings fine-tuned via alias-augmentation: domain alias metadata is injected
292
+ as controlled noise during training, pulling misspellings and paraphrases toward
293
+ their canonical forms in embedding space. Context rescoring uses late fusion of
294
+ dense embedding similarity with a sparse TF-IDF signal derived from
295
+ tag co-occurrence pseudo-documents. Modular per-category LLM query strategies
296
+ run in parallel; listwise reranking chosen over pointwise specifically to enforce
297
+ consistency across the selected tag set. Generalizes to any domain requiring
298
+ unstructured-to-taxonomy mapping.
299
+ </p>
300
+ <div class="project-tags">
301
+ <span class="tag">Retrieval Pipeline</span>
302
+ <span class="tag">Constrained Generation</span>
303
+ <span class="tag">FastText Β· FAISS Β· HNSW</span>
304
+ <span class="tag">Late Fusion</span>
305
+ <span class="tag">Listwise LLM Reranking</span>
306
+ <span class="tag">Alias Augmentation</span>
307
+ <span class="tag">Co-occurrence Modeling</span>
308
+ </div>
309
+ </a>
310
+
311
+ </div>
312
+
313
+ <footer>
314
+ All work independently developed and deployed.
315
+ </footer>
316
+
317
+ </div>
318
+ </body>
319
  </html>