Skip to content

Commit 8ba58e5

Browse files
feat(work): Liga Arena como hero AI — sistema de orquestacion LLM en tiempo real
Tras explorar el repo (workflow): Liga Arena NO es 'juego de stream', es un sistema senior de orquestacion LLM tolerante a fallos. Promovido a hero del magazine: - Cascada multi-modelo (Groq Llama 3.3 70B -> Cerebras Qwen 235B/Llama -> Gemini) con routing por evento - Decoradores produccion: Circuit Breaker, Rate Limiter token-bucket, Timeout, Quota Tracking, CAG cache - Inferencia especulativa (~15s pre-climax -> ~0ms latencia percibida) - Anti-repeticion semantica con embeddings locales (transformers.js) + pgvector - Prompt engineering defensivo (validador 7-categorias, anti-inyeccion) - banking-system movido al index como repo publico - i18n ES/EN completo
1 parent 63ea0b9 commit 8ba58e5

2 files changed

Lines changed: 38 additions & 23 deletions

File tree

index.html

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -149,48 +149,51 @@ <h2 class="section-title" data-i18n="projects.title">Selected Work</h2>
149149
<span class="section-line"></span>
150150
</div>
151151

152-
<!-- LEVEL 1 — Magazine: real, public/verifiable work -->
152+
<!-- LEVEL 1 — Magazine: featured work -->
153153
<div class="bento">
154-
<article class="bento-card bento-hero" data-status="live">
154+
<article class="bento-card bento-hero" data-status="product">
155155
<span class="bento-index">01</span>
156156
<header class="bento-head">
157157
<div>
158-
<span class="bento-tag">Backend · Java</span>
159-
<h3>importador-pedidos</h3>
158+
<span class="bento-tag">AI · Real-time LLM orchestration</span>
159+
<h3>Liga Arena</h3>
160160
</div>
161-
<span class="status-pill live"><span class="sp-dot"></span>OPEN SOURCE</span>
161+
<span class="status-pill product"><span class="sp-dot"></span>LIVE DEMO</span>
162162
</header>
163-
<p class="bento-desc" data-i18n="proj.imp.desc">Spring Boot 3 order-import service with per-run idempotency (zero duplicates), business-rule validation and batch PostgreSQL inserts. Production instincts recruiters scan for.</p>
163+
<p class="bento-desc" data-i18n="proj.liga.desc">A real-time dual AI sportscaster for a live Kick game: a fault-tolerant multi-model LLM cascade generates contextual play-by-play, with Spanish neural TTS and speculative pre-synthesis for ~0ms perceived latency.</p>
164164
<ul class="bento-bullets">
165-
<li data-i18n="proj.imp.b1"><strong>Idempotency</strong> per run — safe re-imports, no duplicates</li>
166-
<li data-i18n="proj.imp.b2"><strong>Batch inserts</strong> into PostgreSQL + business-rule validation</li>
167-
<li data-i18n="proj.imp.b3"><strong>JWT</strong> auth, <strong>OpenAPI</strong> contract, Docker Compose</li>
168-
<li data-i18n="proj.imp.b4"><strong>JSON logs</strong> with X-Correlation-Id for traceability</li>
165+
<li data-i18n="proj.liga.b1"><strong>Multi-model LLM cascade</strong> (Groq Llama 3.3 70B → Cerebras Qwen/Llama → Gemini) with kind-aware routing per event — no single point of failure</li>
166+
<li data-i18n="proj.liga.b2"><strong>Production reliability decorators</strong>: Circuit Breaker, token-bucket Rate Limiter, Timeout, header Quota Tracking and CAG cache — composed via DI</li>
167+
<li data-i18n="proj.liga.b3"><strong>Speculative inference</strong>: pre-generates winner candidates (LLM + TTS) ~15s before climax → ~0ms perceived latency</li>
168+
<li data-i18n="proj.liga.b4"><strong>Semantic anti-repetition</strong> with local embeddings (transformers.js MiniLM) + pgvector cosine — no external similarity API</li>
169+
<li data-i18n="proj.liga.b5"><strong>Defensive prompt engineering</strong>: 7-bucket output validator (anti-copyright, anti-hallucination) + prompt-injection guards</li>
169170
</ul>
170171
<div class="chips">
171-
<span class="chip">Java 17</span><span class="chip">Spring Boot 3</span><span class="chip">PostgreSQL</span>
172-
<span class="chip">JWT</span><span class="chip">OpenAPI</span><span class="chip">Docker</span>
172+
<span class="chip">Groq · Llama 3.3 70B</span><span class="chip">Cerebras · Qwen 235B</span><span class="chip">Gemini</span>
173+
<span class="chip">XTTS v2 TTS</span><span class="chip">transformers.js</span><span class="chip">pgvector</span>
174+
<span class="chip">Circuit Breaker</span><span class="chip">Speculative</span><span class="chip">TypeScript</span>
173175
</div>
174176
<div class="card-links">
175-
<a href="https://github.com/ivanrodriguezromero1/importador-pedidos" target="_blank" rel="noopener" data-i18n="cta.repo">Repo ↗</a>
177+
<span class="link-muted" data-i18n="cta.demoRequest">Live demo on request</span>
176178
</div>
177179
</article>
178180

179181
<article class="bento-card" data-status="live">
180182
<span class="bento-index sm">02</span>
181183
<header class="bento-head">
182184
<div>
183-
<span class="bento-tag">Backend · Microservices</span>
184-
<h3>banking-system</h3>
185+
<span class="bento-tag">Backend · Java</span>
186+
<h3>importador-pedidos</h3>
185187
</div>
186188
<span class="status-pill live"><span class="sp-dot"></span>OPEN SOURCE</span>
187189
</header>
188-
<p class="bento-desc" data-i18n="proj.bank.desc">Microservices for customer & financial-product data — reinforces the top-tier banking story (BCP, Interbank, Caja Cencosud) with code a recruiter can open.</p>
190+
<p class="bento-desc" data-i18n="proj.imp.desc">Spring Boot 3 order-import service with per-run idempotency (zero duplicates), business-rule validation and batch PostgreSQL inserts. Production instincts recruiters scan for.</p>
189191
<div class="chips">
190-
<span class="chip">Java</span><span class="chip">Microservices</span><span class="chip">REST</span><span class="chip">Spring</span>
192+
<span class="chip">Java 17</span><span class="chip">Spring Boot 3</span><span class="chip">PostgreSQL</span>
193+
<span class="chip">JWT</span><span class="chip">OpenAPI</span><span class="chip">Docker</span>
191194
</div>
192195
<div class="card-links">
193-
<a href="https://github.com/ivanrodriguezromero1/banking-system" target="_blank" rel="noopener" data-i18n="cta.repo">Repo ↗</a>
196+
<a href="https://github.com/ivanrodriguezromero1/importador-pedidos" target="_blank" rel="noopener" data-i18n="cta.repo">Repo ↗</a>
194197
</div>
195198
</article>
196199

@@ -219,14 +222,14 @@ <h3>mermaid-to-image</h3>
219222

220223
<!-- LEVEL 2 — Index: live demos + open-source roadmap (reserved space, fill as built) -->
221224
<div class="work-index">
222-
<div class="work-row" data-status="product">
225+
<a class="work-row" data-status="live" href="https://github.com/ivanrodriguezromero1/banking-system" target="_blank" rel="noopener">
223226
<span class="wr-index">04</span>
224227
<div class="wr-main">
225-
<span class="wr-title">Liga Arena</span>
226-
<span class="wr-meta">Interactive Kick stream game · 12 teams · real-time 3D arena · TypeScript</span>
228+
<span class="wr-title">banking-system</span>
229+
<span class="wr-meta">Customer &amp; financial-product microservices · Java · Spring · REST</span>
227230
</div>
228-
<span class="status-pill product"><span class="sp-dot"></span>LIVE DEMO</span>
229-
</div>
231+
<span class="status-pill live"><span class="sp-dot"></span>OPEN SOURCE ↗</span>
232+
</a>
230233

231234
<div class="work-row" data-status="wip">
232235
<span class="wr-index">05</span>

js/app.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ const i18n = {
3333
'about.stat3': 'bancos top como cliente',
3434
'about.stat4': 'proyectos IA agenticos',
3535
'projects.title': 'Trabajo seleccionado',
36+
'proj.liga.desc': 'Comentarista deportivo dual de IA en tiempo real para un juego en vivo en Kick: una cascada multi-modelo de LLM tolerante a fallos genera narración contextual, con TTS neuronal en español y pre-síntesis especulativa para latencia percibida ~0ms.',
37+
'proj.liga.b1': '<strong>Cascada LLM multi-modelo</strong> (Groq Llama 3.3 70B → Cerebras Qwen/Llama → Gemini) con enrutamiento por tipo de evento — sin punto único de fallo',
38+
'proj.liga.b2': '<strong>Decoradores de fiabilidad</strong>: Circuit Breaker, Rate Limiter token-bucket, Timeout, Quota Tracking por headers y caché CAG — vía inyección de dependencias',
39+
'proj.liga.b3': '<strong>Inferencia especulativa</strong>: pre-genera candidatos a ganador (LLM + TTS) ~15s antes del clímax → latencia percibida ~0ms',
40+
'proj.liga.b4': '<strong>Anti-repetición semántica</strong> con embeddings locales (transformers.js MiniLM) + coseno pgvector — sin API externo de similitud',
41+
'proj.liga.b5': '<strong>Prompt engineering defensivo</strong>: validador de salida de 7 categorías (anti-copyright, anti-alucinación) + guardas anti-inyección',
3642
'proj.imp.desc': 'Servicio de importación de pedidos en Spring Boot 3 con idempotencia por corrida (cero duplicados), validación de reglas de negocio e inserciones por lote en PostgreSQL. Los instintos de producción que los reclutadores buscan.',
3743
'proj.imp.b1': '<strong>Idempotencia</strong> por corrida — reimportaciones seguras, sin duplicados',
3844
'proj.imp.b2': '<strong>Inserciones por lote</strong> en PostgreSQL + validación de reglas de negocio',
@@ -105,6 +111,12 @@ const i18n = {
105111
'about.stat3': 'top banks as client',
106112
'about.stat4': 'AI agentic projects',
107113
'projects.title': 'Selected Work',
114+
'proj.liga.desc': 'A real-time dual AI sportscaster for a live Kick game: a fault-tolerant multi-model LLM cascade generates contextual play-by-play, with Spanish neural TTS and speculative pre-synthesis for ~0ms perceived latency.',
115+
'proj.liga.b1': '<strong>Multi-model LLM cascade</strong> (Groq Llama 3.3 70B → Cerebras Qwen/Llama → Gemini) with kind-aware routing per event — no single point of failure',
116+
'proj.liga.b2': '<strong>Production reliability decorators</strong>: Circuit Breaker, token-bucket Rate Limiter, Timeout, header Quota Tracking and CAG cache — composed via DI',
117+
'proj.liga.b3': '<strong>Speculative inference</strong>: pre-generates winner candidates (LLM + TTS) ~15s before climax → ~0ms perceived latency',
118+
'proj.liga.b4': '<strong>Semantic anti-repetition</strong> with local embeddings (transformers.js MiniLM) + pgvector cosine — no external similarity API',
119+
'proj.liga.b5': '<strong>Defensive prompt engineering</strong>: 7-bucket output validator (anti-copyright, anti-hallucination) + prompt-injection guards',
108120
'proj.imp.desc': 'Spring Boot 3 order-import service with per-run idempotency (zero duplicates), business-rule validation and batch PostgreSQL inserts. Production instincts recruiters scan for.',
109121
'proj.imp.b1': '<strong>Idempotency</strong> per run — safe re-imports, no duplicates',
110122
'proj.imp.b2': '<strong>Batch inserts</strong> into PostgreSQL + business-rule validation',

0 commit comments

Comments
 (0)