Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Grounded Systems</title> | |
| <link rel="preconnect" href="https://fonts.googleapis.com"> | |
| <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"> | |
| <style> | |
| :root { | |
| --bg: #0e0f11; | |
| --surface: #16181c; | |
| --border: #2a2d33; | |
| --text: #e8e9eb; | |
| --muted: #6b7280; | |
| --accent: #c8b89a; | |
| --accent-dim: #6b5d47; | |
| --green: #4ade80; | |
| --tag-bg: #1e2025; | |
| } | |
| *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } | |
| body { | |
| background: var(--bg); | |
| color: var(--text); | |
| font-family: 'DM Mono', monospace; | |
| font-weight: 300; | |
| min-height: 100vh; | |
| padding: 0; | |
| overflow-x: hidden; | |
| } | |
| /* Subtle noise texture overlay */ | |
| body::before { | |
| content: ''; | |
| position: fixed; | |
| inset: 0; | |
| 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"); | |
| pointer-events: none; | |
| z-index: 0; | |
| opacity: 0.4; | |
| } | |
| .page { | |
| position: relative; | |
| z-index: 1; | |
| max-width: 760px; | |
| margin: 0 auto; | |
| padding: 80px 32px 120px; | |
| } | |
| /* Header */ | |
| header { | |
| margin-bottom: 72px; | |
| opacity: 0; | |
| animation: fadeUp 0.6s ease forwards; | |
| } | |
| .wordmark { | |
| font-family: 'DM Serif Display', serif; | |
| font-size: clamp(28px, 5vw, 42px); | |
| letter-spacing: -0.02em; | |
| color: var(--text); | |
| line-height: 1; | |
| margin-bottom: 6px; | |
| } | |
| .wordmark span { | |
| color: var(--accent); | |
| font-style: italic; | |
| } | |
| .tagline { | |
| font-size: 11px; | |
| letter-spacing: 0.18em; | |
| text-transform: uppercase; | |
| color: var(--muted); | |
| margin-top: 14px; | |
| } | |
| /* Divider */ | |
| .rule { | |
| width: 40px; | |
| height: 1px; | |
| background: var(--accent-dim); | |
| margin: 28px 0; | |
| } | |
| /* Framing paragraph */ | |
| .framing { | |
| font-size: 14px; | |
| line-height: 1.8; | |
| color: #9ca3af; | |
| max-width: 580px; | |
| opacity: 0; | |
| animation: fadeUp 0.6s ease 0.15s forwards; | |
| } | |
| /* Projects section */ | |
| .section-label { | |
| font-size: 10px; | |
| letter-spacing: 0.22em; | |
| text-transform: uppercase; | |
| color: var(--accent-dim); | |
| margin-bottom: 28px; | |
| margin-top: 72px; | |
| opacity: 0; | |
| animation: fadeUp 0.6s ease 0.3s forwards; | |
| } | |
| /* Project cards */ | |
| .projects { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 2px; | |
| } | |
| .project { | |
| background: var(--surface); | |
| border: 1px solid var(--border); | |
| padding: 28px 32px; | |
| position: relative; | |
| transition: border-color 0.2s ease, background 0.2s ease; | |
| opacity: 0; | |
| animation: fadeUp 0.5s ease forwards; | |
| text-decoration: none; | |
| color: inherit; | |
| display: block; | |
| } | |
| .project:nth-child(1) { animation-delay: 0.4s; border-radius: 4px 4px 0 0; } | |
| .project:nth-child(2) { animation-delay: 0.5s; border-radius: 0; } | |
| .project:nth-child(3) { animation-delay: 0.6s; border-radius: 0 0 4px 4px; } | |
| .project:hover { | |
| border-color: var(--accent-dim); | |
| background: #1a1c21; | |
| } | |
| .project:hover .project-arrow { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| .project-header { | |
| display: flex; | |
| align-items: baseline; | |
| justify-content: space-between; | |
| gap: 16px; | |
| margin-bottom: 10px; | |
| } | |
| .project-name { | |
| font-family: 'DM Serif Display', serif; | |
| font-size: 18px; | |
| color: var(--text); | |
| letter-spacing: -0.01em; | |
| } | |
| .project-arrow { | |
| font-size: 12px; | |
| color: var(--accent); | |
| opacity: 0; | |
| transform: translateX(-6px); | |
| transition: opacity 0.2s ease, transform 0.2s ease; | |
| flex-shrink: 0; | |
| } | |
| .project-desc { | |
| font-size: 13px; | |
| line-height: 1.7; | |
| color: #6b7280; | |
| margin-bottom: 18px; | |
| max-width: 560px; | |
| } | |
| .project-desc strong { | |
| color: #9ca3af; | |
| font-weight: 400; | |
| } | |
| .project-tags { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 6px; | |
| } | |
| .tag { | |
| font-size: 10px; | |
| letter-spacing: 0.1em; | |
| text-transform: uppercase; | |
| color: var(--muted); | |
| background: var(--tag-bg); | |
| border: 1px solid var(--border); | |
| padding: 3px 8px; | |
| border-radius: 2px; | |
| } | |
| .stat { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 5px; | |
| font-size: 10px; | |
| letter-spacing: 0.08em; | |
| color: var(--green); | |
| background: rgba(74, 222, 128, 0.06); | |
| border: 1px solid rgba(74, 222, 128, 0.15); | |
| padding: 3px 8px; | |
| border-radius: 2px; | |
| } | |
| .stat::before { | |
| content: '●'; | |
| font-size: 6px; | |
| } | |
| /* Footer */ | |
| footer { | |
| margin-top: 80px; | |
| padding-top: 28px; | |
| border-top: 1px solid var(--border); | |
| font-size: 11px; | |
| color: var(--muted); | |
| letter-spacing: 0.06em; | |
| opacity: 0; | |
| animation: fadeUp 0.5s ease 0.8s forwards; | |
| } | |
| @keyframes fadeUp { | |
| from { opacity: 0; transform: translateY(14px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| @media (max-width: 480px) { | |
| .page { padding: 48px 20px 80px; } | |
| .project { padding: 22px 20px; } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="page"> | |
| <header> | |
| <div class="wordmark">Grounded <span>Systems</span></div> | |
| <div class="tagline">Independent ML Research & Engineering</div> | |
| <div class="rule"></div> | |
| <p class="framing"> | |
| Independent research and engineering work in retrieval systems, structured prediction, | |
| and language-grounded generation. Projects focus on controlled-vocabulary mapping, | |
| embedding-based retrieval, and constrained LLM output, with a focus on domains where | |
| precision and reliability matter more than open-ended generation. | |
| </p> | |
| </header> | |
| <div class="section-label">Projects</div> | |
| <div class="projects"> | |
| <a class="project" href="https://huggingface.co/FoodDesert/Boring_Embeddings" target="_blank" rel="noopener"> | |
| <div class="project-header"> | |
| <div class="project-name">Boring Embeddings</div> | |
| <div class="project-arrow">↗</div> | |
| </div> | |
| <p class="project-desc"> | |
| <strong>Negative textual inversion embeddings for generative image models.</strong> | |
| Trained on community-engagement signals rather than manually curated defect lists, | |
| capturing unnamed visual patterns associated with low-quality outputs that tag-based | |
| approaches cannot express. Used as a default negative embedding in several popular | |
| Stable Diffusion workflows. | |
| </p> | |
| <div class="project-tags"> | |
| <span class="stat">10M+ generations</span> | |
| <span class="tag">Textual Inversion</span> | |
| <span class="tag">Representation Learning</span> | |
| <span class="tag">Generative Models</span> | |
| </div> | |
| </a> | |
| <a class="project" href="https://huggingface.co/spaces/FoodDesert/Prompt_Squirrel_RAG" target="_blank" rel="noopener"> | |
| <div class="project-header"> | |
| <div class="project-name">Prompt Squirrel — Tag Retrieval System</div> | |
| <div class="project-arrow">↗</div> | |
| </div> | |
| <p class="project-desc"> | |
| <strong>Retrieval-augmented system mapping natural language to a controlled vocabulary.</strong> | |
| Three-stage pipeline: LLM query reformulation into tag-like search phrases, | |
| HNSW approximate nearest-neighbor retrieval over fine-tuned FastText embeddings, | |
| and constrained LLM selection restricted to valid vocabulary items, | |
| eliminating hallucination of out-of-vocabulary terms entirely. | |
| Embeddings fine-tuned via alias-augmentation: domain alias metadata is injected | |
| as controlled noise during training, pulling misspellings and paraphrases toward | |
| their canonical forms in embedding space. Context rescoring uses late fusion of | |
| dense embedding similarity with a co-occurrence signal derived from | |
| tag co-occurrence pseudo-documents reduced via SVD. Modular per-category LLM query strategies | |
| run in parallel; listwise reranking chosen over pointwise specifically to enforce | |
| consistency across the selected tag set. Generalizes to any domain requiring | |
| unstructured-to-taxonomy mapping. | |
| </p> | |
| <div class="project-tags"> | |
| <span class="tag">Retrieval Pipeline</span> | |
| <span class="tag">Constrained Generation</span> | |
| <span class="tag">FastText · FAISS · HNSW</span> | |
| <span class="tag">Late Fusion</span> | |
| <span class="tag">Listwise LLM Reranking</span> | |
| <span class="tag">Alias Augmentation</span> | |
| <span class="tag">Co-occurrence Modeling</span> | |
| </div> | |
| </a> | |
| </div> | |
| <footer> | |
| All work independently developed and deployed. | |
| </footer> | |
| </div> | |
| </body> | |
| </html> | |