Skip to content

Commit 25bd822

Browse files
meysholdtona-agent
andcommitted
Add intro slide (HTML)
Co-authored-by: Ona <no-reply@ona.com>
1 parent 1695684 commit 25bd822

1 file changed

Lines changed: 165 additions & 0 deletions

File tree

slide.html

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
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>GitHub Security + Ona</title>
7+
<style>
8+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
9+
10+
* { margin: 0; padding: 0; box-sizing: border-box; }
11+
12+
body {
13+
font-family: 'Inter', system-ui, sans-serif;
14+
background: #0a0a0a;
15+
color: #e5e5e5;
16+
display: flex;
17+
align-items: center;
18+
justify-content: center;
19+
min-height: 100vh;
20+
padding: 2rem;
21+
}
22+
23+
.slide {
24+
max-width: 960px;
25+
width: 100%;
26+
}
27+
28+
h1 {
29+
font-size: 2.4rem;
30+
font-weight: 700;
31+
color: #fff;
32+
margin-bottom: 2.5rem;
33+
line-height: 1.2;
34+
}
35+
36+
h1 span {
37+
color: #22c55e;
38+
}
39+
40+
.section-label {
41+
font-size: 0.75rem;
42+
font-weight: 600;
43+
text-transform: uppercase;
44+
letter-spacing: 0.1em;
45+
margin-bottom: 1rem;
46+
padding-bottom: 0.5rem;
47+
border-bottom: 1px solid #262626;
48+
}
49+
50+
.problem .section-label { color: #ef4444; }
51+
.solution .section-label { color: #22c55e; }
52+
53+
.columns {
54+
display: grid;
55+
grid-template-columns: 1fr 1fr;
56+
gap: 3rem;
57+
margin-top: 2rem;
58+
}
59+
60+
ul {
61+
list-style: none;
62+
display: flex;
63+
flex-direction: column;
64+
gap: 1.25rem;
65+
}
66+
67+
li {
68+
display: flex;
69+
gap: 0.75rem;
70+
font-size: 1.05rem;
71+
line-height: 1.5;
72+
color: #d4d4d4;
73+
}
74+
75+
li .icon {
76+
flex-shrink: 0;
77+
width: 1.5rem;
78+
height: 1.5rem;
79+
display: flex;
80+
align-items: center;
81+
justify-content: center;
82+
border-radius: 50%;
83+
font-size: 0.85rem;
84+
margin-top: 0.15rem;
85+
}
86+
87+
.problem li .icon {
88+
background: rgba(239, 68, 68, 0.15);
89+
color: #ef4444;
90+
}
91+
92+
.solution li .icon {
93+
background: rgba(34, 197, 94, 0.15);
94+
color: #22c55e;
95+
}
96+
97+
li strong {
98+
color: #fff;
99+
font-weight: 600;
100+
}
101+
102+
.result {
103+
margin-top: 3rem;
104+
padding: 1.25rem 1.5rem;
105+
background: rgba(34, 197, 94, 0.08);
106+
border: 1px solid rgba(34, 197, 94, 0.2);
107+
border-radius: 0.5rem;
108+
font-size: 1.1rem;
109+
color: #d4d4d4;
110+
text-align: center;
111+
}
112+
113+
.result strong {
114+
color: #22c55e;
115+
}
116+
</style>
117+
</head>
118+
<body>
119+
<div class="slide">
120+
<h1>GitHub Security + <span>Ona</span></h1>
121+
122+
<div class="columns">
123+
<div class="problem">
124+
<div class="section-label">The problem</div>
125+
<ul>
126+
<li>
127+
<div class="icon">&#x2715;</div>
128+
<div><strong>Growing backlog</strong> — scanners find vulnerabilities faster than teams can fix them</div>
129+
</li>
130+
<li>
131+
<div class="icon">&#x2715;</div>
132+
<div><strong>Security fixes feel like toil</strong> — developers deprioritize repetitive dependency bumps and low-level code changes</div>
133+
</li>
134+
<li>
135+
<div class="icon">&#x2715;</div>
136+
<div><strong>Auto-generated PRs break things</strong> — text search-and-replace produces changes that are insufficiently tested or don't compile</div>
137+
</li>
138+
</ul>
139+
</div>
140+
141+
<div class="solution">
142+
<div class="section-label">How Ona fixes this</div>
143+
<ul>
144+
<li>
145+
<div class="icon">&#x2713;</div>
146+
<div><strong>AI software engineer</strong> — analyzes each finding and crafts a reasoned fix, not a regex substitution</div>
147+
</li>
148+
<li>
149+
<div class="icon">&#x2713;</div>
150+
<div><strong>Real dev environment</strong> — the fix is built and tested where the code can actually compile and run</div>
151+
</li>
152+
<li>
153+
<div class="icon">&#x2713;</div>
154+
<div><strong>Iterates until proven</strong> — if tests fail, the agent reads errors, adjusts, and retries</div>
155+
</li>
156+
</ul>
157+
</div>
158+
</div>
159+
160+
<div class="result">
161+
The result: a PR that is <strong>ready to review and merge</strong>, not a starting point that needs manual cleanup.
162+
</div>
163+
</div>
164+
</body>
165+
</html>

0 commit comments

Comments
 (0)