Skip to content

Commit 74b9881

Browse files
feat(docs): add comprehensive about section to landing page
1 parent 1634467 commit 74b9881

1 file changed

Lines changed: 123 additions & 0 deletions

File tree

docs/index.html

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,78 @@
261261
.terminal-body .s { color: #c0c0c0; }
262262
.terminal-body .blank { display: block; height: 0.4em; }
263263

264+
/* About section */
265+
.about-layout {
266+
display: grid;
267+
gap: 40px;
268+
grid-template-columns: 1fr;
269+
margin-top: 24px;
270+
}
271+
@media (min-width: 768px) {
272+
.about-layout {
273+
grid-template-columns: 1.2fr 1.8fr;
274+
}
275+
}
276+
.about-story {
277+
display: flex;
278+
flex-direction: column;
279+
justify-content: center;
280+
}
281+
.about-story p {
282+
color: var(--muted);
283+
font-size: 16px;
284+
line-height: 1.7;
285+
margin-bottom: 20px;
286+
}
287+
.about-story strong {
288+
color: var(--fg);
289+
}
290+
.features-grid {
291+
display: grid;
292+
gap: 20px;
293+
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
294+
}
295+
.feature-card {
296+
background: var(--card);
297+
border: 1px solid var(--border);
298+
border-radius: var(--radius);
299+
padding: 24px;
300+
box-shadow: var(--shadow);
301+
transition: all 0.2s ease;
302+
}
303+
.feature-card:hover {
304+
transform: translateY(-2px);
305+
box-shadow: var(--shadow-lg);
306+
border-color: var(--fg);
307+
}
308+
.feature-title {
309+
font-weight: 700;
310+
font-size: 16px;
311+
margin: 0 0 8px;
312+
display: flex;
313+
align-items: center;
314+
gap: 10px;
315+
color: var(--fg);
316+
}
317+
.feature-badge {
318+
display: inline-flex;
319+
align-items: center;
320+
justify-content: center;
321+
width: 28px;
322+
height: 28px;
323+
border-radius: 8px;
324+
background: var(--accent-soft);
325+
font-size: 14px;
326+
color: var(--fg);
327+
font-weight: 700;
328+
}
329+
.feature-desc {
330+
color: var(--muted);
331+
font-size: 13.5px;
332+
line-height: 1.5;
333+
margin: 0;
334+
}
335+
264336
/* Footer */
265337
footer {
266338
margin-top: 64px; padding: 40px 0;
@@ -285,6 +357,7 @@
285357
<span>FreeLLMAPI</span>
286358
</a>
287359
<div class="nav-links">
360+
<a href="#about">About</a>
288361
<a href="#providers">Providers</a>
289362
<a href="#start">Quick start</a>
290363
<a href="https://github.com/1bitVscoder/my-freellmapi-proxy" target="_blank" rel="noopener">GitHub</a>
@@ -308,6 +381,56 @@ <h1>One key.<br><span class="gradient">One billion</span> free tokens.<br>Every
308381
<div class="tokens-sub">Across 60 free-tier models on 11 providers. Mistral alone contributes ~1B; everything else is bonus.</div>
309382
</div>
310383

384+
<section id="about">
385+
<div class="section-header">
386+
<div class="section-eyebrow">About the project</div>
387+
<h2>A single interface for the free web</h2>
388+
</div>
389+
<div class="about-layout">
390+
<div class="about-story">
391+
<p>
392+
<strong>FreeLLMAPI</strong> is designed to solve a simple problem: AI companies offer generous free tiers, but managing dozens of separate API credentials, rate limits, and custom SDKs makes integration impractical.
393+
</p>
394+
<p>
395+
By consolidating Google Gemini, Groq, Cerebras, and 8 other providers under a single, unified endpoint, FreeLLMAPI lets you build against the free web as if it were a single, highly available frontier model.
396+
</p>
397+
<p>
398+
The proxy runs completely locally on your hardware. Keys are stored encrypted with AES-256-GCM, and requests are translated in-flight to matching provider schemas with near-zero latency overhead.
399+
</p>
400+
</div>
401+
<div class="features-grid">
402+
<div class="feature-card">
403+
<div class="feature-title">
404+
<span class="feature-badge"></span>
405+
Aggregated Quota
406+
</div>
407+
<p class="feature-desc">Combines free monthly API allowances into a massive virtual pool of over 1 billion tokens, using whichever keys have remaining quota.</p>
408+
</div>
409+
<div class="feature-card">
410+
<div class="feature-title">
411+
<span class="feature-badge">🔌</span>
412+
OpenAI Drop-In
413+
</div>
414+
<p class="feature-desc">Compatible with official OpenAI SDKs, LangChain, LlamaIndex, Cursor, and any chat UI. Just point your client library to the local endpoint.</p>
415+
</div>
416+
<div class="feature-card">
417+
<div class="feature-title">
418+
<span class="feature-badge">🛡️</span>
419+
Decrypted & Safe
420+
</div>
421+
<p class="feature-desc">Provider keys are encrypted at-rest using AES-256-GCM in SQLite and decrypted in-memory only when dispatching upstream requests.</p>
422+
</div>
423+
<div class="feature-card">
424+
<div class="feature-title">
425+
<span class="feature-badge">🔄</span>
426+
Smart Failover
427+
</div>
428+
<p class="feature-desc">If a provider yields a 429, 5xx, or times out, the router automatically fails over to the next best model in your priority chain.</p>
429+
</div>
430+
</div>
431+
</div>
432+
</section>
433+
311434
<section id="providers">
312435
<div class="section-header">
313436
<div class="section-eyebrow">The catalog</div>

0 commit comments

Comments
 (0)