Equipo: Roy Mendez (LinkedIn) y Alfonso Gomez Urquiza Garcia (LinkedIn)
Todo empezó en un servicio social: necesitaba generar material de estudio a partir de diagramas de circuitos —bocetos a mano, capturas de Tinkercad, esquemáticos de LTSpice— y ni NotebookLM ni ninguna otra herramienta disponible podía convertir ese material visual imperfecto en algo que realmente ayudara a entender el circuito. El problema no era falta de IA; era que la IA existente exige esquemáticos limpios, no el tipo de boceto con el que un estudiante realmente aprende.
Ese problema personal resultó ser síntoma de algo más grande en México. Solo 28,356 estudiantes egresan al año de licenciaturas en ingeniería eléctrica/electrónica, una fracción pequeña frente a la demanda creciente de nearshoring en semiconductores y electromovilidad. Y aunque el acceso a internet ya casi se universalizó (86.1% nacional), el acceso a una computadora se ha mantenido estancado en ~45% de los hogares durante años, mientras el celular ya es prácticamente universal. Un estudiante mexicano promedio tiene cámara, no LTSpice instalado — y estudios sobre deserción en ingeniería electrónica en México apuntan a que el salto entre teoría y comprensión práctica del circuito, no la falta de capacidad, es la principal causa de abandono.
Circuit Labs nace para cerrar exactamente esa brecha: convertir la única herramienta que casi todo estudiante ya tiene —una cámara— en un tutor de circuitos.
Circuit Labs es una aplicación web que convierte un boceto dibujado a mano de un circuito eléctrico en un esquemático digital editable, una simulación numérica en tiempo real, y un asistente conversacional ("Sr. Cut") que responde preguntas de teoría de circuitos sobre ese circuito específico.
El flujo central: el usuario sube una foto de su boceto → el sistema detecta los componentes con visión por computadora → reconstruye la topología del circuito → lo dibuja como esquemático limpio → lo simula (respuesta temporal o en frecuencia) → y permite hacerle preguntas en lenguaje natural, respondidas por un modelo de lenguaje local (Gemma 4) con contexto completo del circuito.
- Demo Video: [Insertar aquí: link a tu video demo de 2 minutos]
- Repositorio / Notebook: [Insertar aquí: link a tu Kaggle Notebook / repositorio de GitHub]
Usamos Gemma 4 (26B), corriendo localmente vía Ollama, exclusivamente como motor conversacional del asistente "Sr. Cut" — no interviene en la detección de componentes ni en la simulación numérica, ambas resueltas por otras piezas del stack.
| Capa | Tecnología |
|---|---|
| Frontend | React, Vite, react-markdown + KaTeX (renderizado de fórmulas) |
| Backend | Python, FastAPI |
| Visión por computadora | Roboflow (circuits-oxmv9/2, 45 clases) vía inference_sdk / REST |
| Esquemático | schemdraw |
| Simulación numérica | numpy + matplotlib |
| LLM conversacional | Gemma 4 (26B) vía Ollama (local) — fallback opcional a Gemini 1.5 Flash |
| RAG / Teoría | Skills enrutadas por palabras clave + ChromaDB sobre notebook de fundamentos |
| Técnica | Uso en Circuit Labs |
|---|---|
| RAG | Cada pregunta se enruta por palabras clave contra 10 skills de teoría de circuitos (Ley de Ohm, KCL, KVL, divisores, análisis nodal/de mallas, superposición, Thevenin, Norton, método mixto), complementado con búsqueda vectorial semántica sobre un notebook de fundamentos vía ChromaDB + embeddings (nomic-embed-text). Solo las skills relevantes se cargan en el prompt. |
| Prompt engineering | El prompt final ensambla la persona del asistente, lineamientos de formato (español, LaTeX, concisión), parámetros activos del circuito, el reporte de detección de Roboflow, el JSON completo del circuito reconstruido, las skills cargadas y el contexto vectorial. Gemma 4 nunca alucina un circuito genérico; responde siempre sobre el circuito real dibujado. Temperatura baja (0.2) para priorizar precisión. |
| Fine-tuning | No se usó — decisión deliberada de scope para el MVP de un día. Queda como opción futura (vía Unsloth) si el desempeño zero-shot resulta insuficiente en casos más complejos. |
┌─────────────────────┐ ┌──────────────────────────┐ ┌─────────────────┐
│ Frontend (React) │ HTTP │ Backend (FastAPI/Python) │ HTTP │ Roboflow API │
│ circuit-sketch-mvp │ ─────►│ circuit-labs-backend │ ─────►│ (modelo │
│ puerto 5173 │ ◄─────│ puerto 8000 │ ◄─────│ circuits-oxmv9) │
└─────────────────────┘ └───────────┬──────────────┘ └─────────────────┘
│
┌─────────────┼──────────────┐
▼ ▼ ▼
schemdraw matplotlib Gemma 4 (Ollama)
(esquemático) (simulación) + ChromaDB (RAG)