File size: 3,719 Bytes
7ff7119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# 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's `paperhawk.jpeg`)
- **Format**: 16:9 landscape (1280 × 720 px per slide)
- **Palette**: AMD red `#ED1C24` + AMD orange `#FB6624` + PaperHawk black `#1A1A1A` + Qwen purple `#7C3AED` accent
- **Typography**: Inter (Google Fonts), JetBrains Mono for code/labels
- **License**: MIT (same as the repo)

## Render to PDF (Playwright)

```bash
# 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)

```bash
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

```bash
# Open in your browser (renders identical to the PDF):
xdg-open docs/slides/slides.html
```

## Iteration workflow

1. Edit `slides.html` (CSS at the top, slides as `<section class="slide">` blocks)
2. Reload the browser tab to preview
3. When happy, re-run the Playwright PDF script
4. Commit both `slides.html` and 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 | DD supervisor pattern |
| 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.jpeg` reference is `../../paperhawk.jpeg` (relative to `docs/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