PaperHawk — Slide Deck
The 10-slide deck for the AMD Developer Hackathon × lablab.ai submission.
- Source:
slides.html(single self-contained HTML, ~1100 lines, no JS, no external assets except the repo'spaperhawk.jpeg) - Format: 16:9 landscape (1280 × 720 px per slide)
- Palette: AMD red
#ED1C24+ AMD orange#FB6624+ PaperHawk black#1A1A1A+ Qwen purple#7C3AEDaccent - Typography: Inter (Google Fonts), JetBrains Mono for code/labels
- License: MIT (same as the repo)
Render to PDF (Playwright)
# One-time setup
pip install playwright
playwright install chromium
# Render slides.html → PaperHawk_Slides.pdf
python - <<'PY'
import asyncio
from pathlib import Path
from playwright.async_api import async_playwright
async def main():
src = Path("docs/slides/slides.html").resolve().as_uri()
out = Path("docs/slides/PaperHawk_Slides.pdf")
async with async_playwright() as p:
browser = await p.chromium.launch()
page = await browser.new_page(viewport={"width": 1280, "height": 720})
await page.goto(src, wait_until="networkidle")
await page.pdf(
path=str(out),
width="1280px",
height="720px",
print_background=True,
margin={"top": "0", "right": "0", "bottom": "0", "left": "0"},
)
await browser.close()
asyncio.run(main())
print("Wrote", "docs/slides/PaperHawk_Slides.pdf")
PY
Render the cover slide as PNG (HF Space hero)
python - <<'PY'
import asyncio
from pathlib import Path
from playwright.async_api import async_playwright
async def main():
src = Path("docs/slides/slides.html").resolve().as_uri()
out = Path("docs/slides/01_cover.png")
async with async_playwright() as p:
browser = await p.chromium.launch()
page = await browser.new_page(viewport={"width": 1280, "height": 720})
await page.goto(src, wait_until="networkidle")
# Screenshot the first .slide element only.
cover = page.locator(".slide").first
await cover.screenshot(path=str(out), omit_background=False)
await browser.close()
asyncio.run(main())
print("Wrote", "docs/slides/01_cover.png")
PY
Preview locally
# Open in your browser (renders identical to the PDF):
xdg-open docs/slides/slides.html
Iteration workflow
- Edit
slides.html(CSS at the top, slides as<section class="slide">blocks) - Reload the browser tab to preview
- When happy, re-run the Playwright PDF script
- Commit both
slides.htmland the generated PDF
Slide map
| # | Title | Visual |
|---|---|---|
| 1 | Cover | paperhawk.jpeg hero + team + tagline |
| 2 | The Problem | RAG-vs-audit split contrast |
| 3 | What We Built | 5 big-number stat cards |
| 4 | The Pipeline | 5-step ribbon (red→orange gradient) |
| 5 | The 14 Domain Checks | 3-tier table (audit / compliance / standards) |
| 6 | Anti-Halluc + DD | 5+1 layer stack |
| 7 | The Stack | Vertical stack-row layout (AMD + Qwen highlighted) |
| 8 | Demo Packages | 3 demo cards + timing banner |
| 9 | Built for Builders | 3 builders cards + repo/HF/MIT meta |
| 10 | Team + Closing | 3 team cards + closing tagline |
Notes
- All copy is English, builder-energy tone, no PwC/Hungarian narrative residue
- The
paperhawk.jpegreference is../../paperhawk.jpeg(relative todocs/slides/) - The gradient strip on every slide top is
linear-gradient(90deg, AMD-red → AMD-orange → Qwen-purple)— a visual signature - "Team CsimpiCsirkek" appears in the cover meta + final footer; "Built to ship" closing tagline carries the winner-team subtext without being on-the-nose