diff --git a/app/globals.css b/app/globals.css
index e225e3d..b14318c 100644
--- a/app/globals.css
+++ b/app/globals.css
@@ -463,6 +463,12 @@ h4{font-size:18px;line-height:1.3}
.student-meta{font-size:11px;color:var(--ink-3)}
.student-desc{font-size:11.5px;color:var(--ink-3);line-height:1.35}
.student-count{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--ink-4);letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center}
+.devteam-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 28px 20px;margin-top:24px}
+.devteam-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:4px}
+.devteam-bubble{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:20px 10px}
+.devteam-av{width:62px;height:62px;border-radius:50%;background:rgba(167,199,255,.28);border:2px solid rgba(167,199,255,.5);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:var(--brand-on);margin-bottom:6px;flex-shrink:0;overflow:hidden}.devteam-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
+.devteam-name{font-size:13px;font-weight:500;color:var(--ink);line-height:1.3}
+.devteam-role{font-size:11.5px;color:var(--ink-3);line-height:1.35}
.hist-inst-list{display:flex;flex-direction:column;gap:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:8px}
.hist-inst-item{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}
.hist-inst-item:last-child{border-bottom:none}
@@ -524,6 +530,7 @@ h4{font-size:18px;line-height:1.3}
.comm-stats{grid-template-columns:1fr 1fr}
.student-grid{grid-template-columns:repeat(4,1fr)}
.students-card{padding:22px 20px 16px}
+ .devteam-card{padding:22px 20px 16px}
.mock-chrome{padding:10px 14px}.mock-url{font-size:10.5px}
.mock-carousel{--slide-w:90%;--slide-gap:14px}
.mock-arrow{width:36px;height:36px}.mock-arrow svg{width:15px;height:15px}
@@ -552,6 +559,8 @@ h4{font-size:18px;line-height:1.3}
.inst-grid{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}
.student-grid{grid-template-columns:repeat(3,1fr)}
.students-card{padding:18px 16px 14px}
+ .devteam-grid{grid-template-columns:repeat(2,1fr)}
+ .devteam-card{padding:18px 16px 14px}
.mock-sidebar{grid-template-columns:1fr}.mock-fname{font-size:12px}
.req-grid{grid-template-columns:1fr}.dl-buttons a{padding:12px 14px;font-size:13.5px}
.lang-trigger{padding:6px 8px;gap:5px}
@@ -565,6 +574,7 @@ h4{font-size:18px;line-height:1.3}
.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{justify-content:center}
.student-grid{grid-template-columns:repeat(2,1fr)}
.student-av{width:52px;height:52px;font-size:14px}
+ .devteam-av{width:52px;height:52px;font-size:14px}
}
/* ── Mock image zoom hint + lightbox ── */
diff --git a/components/community/TeamGrid.tsx b/components/community/TeamGrid.tsx
new file mode 100644
index 0000000..ebc5acc
--- /dev/null
+++ b/components/community/TeamGrid.tsx
@@ -0,0 +1,27 @@
+'use client'
+
+import { useTranslation } from 'react-i18next'
+import '@/app/i18n'
+import { TEAM } from '@/data/team'
+
+export function TeamGrid() {
+ const { t } = useTranslation('about')
+
+ return (
+
diff --git a/data/students.ts b/data/students.ts
index a234317..0791cd6 100644
--- a/data/students.ts
+++ b/data/students.ts
@@ -63,7 +63,7 @@ export const STUDENTS: Student[] = [
initials: 'FC', name: 'Felipe Cárdenas', year: 2024,
descKey: 'abt.students.felipe-cardenas.desc',
fullDesc: 'Módulo de predicción',
- avatar: '/images/students/felipe_cardenas.jpg',
+ avatar: '/images/team/felipe_cardenas.jpg',
},
{
initials: 'FV', name: 'Florencia Valladares', year: 2024,
@@ -103,7 +103,7 @@ export const STUDENTS: Student[] = [
initials: 'CR', name: 'Camila Reyes', year: 2025,
descKey: 'abt.students.camila-reyes.desc',
fullDesc: 'Integración de Modelos LLM en DashAI',
- avatar: '/images/students/camila_reyes.jpg',
+ avatar: '/images/team/camila_reyes.jpg',
},
{
initials: 'CH', name: 'Carla Hayler', year: 2025,
@@ -115,7 +115,7 @@ export const STUDENTS: Student[] = [
initials: 'ED', name: 'Emilio Díaz', year: 2025,
descKey: 'abt.students.emilio-diaz.desc',
fullDesc: 'Generación de Imágenes para DashAI',
- avatar: '/images/students/emilio_diaz.png',
+ avatar: '/images/team/emilio_diaz.jpg',
},
{
initials: 'IV', name: 'Isaias Venegas', year: 2025,
diff --git a/data/team.ts b/data/team.ts
new file mode 100644
index 0000000..82f8bf8
--- /dev/null
+++ b/data/team.ts
@@ -0,0 +1,55 @@
+export interface TeamMember {
+ initials: string
+ name: string
+ roleKey: string
+ avatar?: string
+ imgStyle?: { transform?: string; objectPosition?: string; scale?: string }
+}
+
+export const TEAM: TeamMember[] = [
+ {
+ initials: 'FB', name: 'Felipe Bravo',
+ roleKey: 'abt.team.felipe-bravo-marquez.role',
+ avatar: '/images/team/felipe_bravo.jpg',
+ },
+ {
+ initials: 'CL', name: 'Claudia López',
+ roleKey: 'abt.team.claudia-lopez.role',
+ avatar: '/images/team/claudia_lopez.jpg',
+ },
+ {
+ initials: 'CT', name: 'Cristián Tamblay',
+ roleKey: 'abt.team.cristian-tamblay.role',
+ avatar: '/images/team/cristian_tamblay.jpg',
+ },
+ {
+ initials: 'CR', name: 'Camila Reyes',
+ roleKey: 'abt.team.camila-reyes.role',
+ avatar: '/images/team/camila_reyes.jpg',
+ },
+ {
+ initials: 'ED', name: 'Emilio Díaz',
+ roleKey: 'abt.team.emilio-diaz.role',
+ avatar: '/images/team/emilio_diaz.jpg',
+ },
+ {
+ initials: 'FC', name: 'Felipe Cárdenas',
+ roleKey: 'abt.team.felipe-cardenas.role',
+ avatar: '/images/team/felipe_cardenas.jpg',
+ },
+ {
+ initials: 'NN', name: 'Nicolás Nast',
+ roleKey: 'abt.team.nicolas-nast.role',
+ avatar: '/images/team/nicolas_nast.jpg',
+ },
+ {
+ initials: 'AC', name: 'Andrés Carvallo',
+ roleKey: 'abt.team.andres-carvallo.role',
+ avatar: '/images/team/andres_carvallo.jpg',
+ },
+ {
+ initials: 'YH', name: 'Yelena Hernandez',
+ roleKey: 'abt.team.yelena-hernandez.role',
+ avatar: '/images/team/yelena_hernandez.jpg',
+ },
+]
diff --git a/public/images/students/emilio_diaz.png b/public/images/students/emilio_diaz.png
deleted file mode 100644
index 6ebaa03..0000000
Binary files a/public/images/students/emilio_diaz.png and /dev/null differ
diff --git a/public/images/team/andres_carvallo.jpg b/public/images/team/andres_carvallo.jpg
new file mode 100644
index 0000000..d6b0651
Binary files /dev/null and b/public/images/team/andres_carvallo.jpg differ
diff --git a/public/images/students/camila_reyes.jpg b/public/images/team/camila_reyes.jpg
similarity index 100%
rename from public/images/students/camila_reyes.jpg
rename to public/images/team/camila_reyes.jpg
diff --git a/public/images/team/claudia_lopez.jpg b/public/images/team/claudia_lopez.jpg
new file mode 100644
index 0000000..f341132
Binary files /dev/null and b/public/images/team/claudia_lopez.jpg differ
diff --git a/public/images/team/cristian_tamblay.jpg b/public/images/team/cristian_tamblay.jpg
new file mode 100644
index 0000000..9d32aba
Binary files /dev/null and b/public/images/team/cristian_tamblay.jpg differ
diff --git a/public/images/team/emilio_diaz.jpg b/public/images/team/emilio_diaz.jpg
new file mode 100644
index 0000000..5f05bef
Binary files /dev/null and b/public/images/team/emilio_diaz.jpg differ
diff --git a/public/images/team/felipe_bravo.jpg b/public/images/team/felipe_bravo.jpg
new file mode 100644
index 0000000..5099df8
Binary files /dev/null and b/public/images/team/felipe_bravo.jpg differ
diff --git a/public/images/students/felipe_cardenas.jpg b/public/images/team/felipe_cardenas.jpg
similarity index 100%
rename from public/images/students/felipe_cardenas.jpg
rename to public/images/team/felipe_cardenas.jpg
diff --git a/public/images/team/nicolas_nast.jpg b/public/images/team/nicolas_nast.jpg
new file mode 100644
index 0000000..f29788c
Binary files /dev/null and b/public/images/team/nicolas_nast.jpg differ
diff --git a/public/images/team/yelena_hernandez.jpg b/public/images/team/yelena_hernandez.jpg
new file mode 100644
index 0000000..fdaf69c
Binary files /dev/null and b/public/images/team/yelena_hernandez.jpg differ
diff --git a/public/locales/de/about.json b/public/locales/de/about.json
index 157857f..e857c32 100644
--- a/public/locales/de/about.json
+++ b/public/locales/de/about.json
@@ -68,5 +68,17 @@
"abt.students.isaias-venegas.desc": "Converter-Modul",
"abt.students.sofia-chavez.desc": "No-Code-RAG-Systeme",
"abt.students.carla-hayler.desc": "Visuelles Pipeline-System",
- "abt.students.ivan-salas.desc": "Forecasting-Modul"
+ "abt.students.ivan-salas.desc": "Forecasting-Modul",
+ "abt.team.andres-carvallo.role": "Forscher",
+ "abt.team.camila-reyes.role": "Software-Ingenieurin",
+ "abt.team.claudia-lopez.role": "Stellvertretende Direktorin",
+ "abt.team.cristian-tamblay.role": "Leitender Software-Ingenieur",
+ "abt.team.emilio-diaz.role": "Software-Ingenieur",
+ "abt.team.ey": "Entwicklungsteam",
+ "abt.team.felipe-bravo-marquez.role": "Direktor",
+ "abt.team.felipe-cardenas.role": "Technisches Personal",
+ "abt.team.h": "Entwicklungsteam.",
+ "abt.team.lead": "Die Menschen, die dashAI Tag für Tag entwerfen, entwickeln und pflegen.",
+ "abt.team.nicolas-nast.role": "UX-Ingenieur & Produktentwicklung",
+ "abt.team.yelena-hernandez.role": "HCI-Forschungsassistentin"
}
diff --git a/public/locales/en/about.json b/public/locales/en/about.json
index 5cd1f14..72a7f04 100644
--- a/public/locales/en/about.json
+++ b/public/locales/en/about.json
@@ -68,5 +68,17 @@
"abt.students.isaias-venegas.desc": "Converters module",
"abt.students.sofia-chavez.desc": "No-code RAG systems",
"abt.students.carla-hayler.desc": "Visual pipeline system",
- "abt.students.ivan-salas.desc": "Forecasting module"
+ "abt.students.ivan-salas.desc": "Forecasting module",
+ "abt.team.andres-carvallo.role": "Researcher",
+ "abt.team.camila-reyes.role": "Software Engineer",
+ "abt.team.claudia-lopez.role": "Alternate Director",
+ "abt.team.cristian-tamblay.role": "Lead Software Engineer",
+ "abt.team.emilio-diaz.role": "Software Engineer",
+ "abt.team.ey": "development team",
+ "abt.team.felipe-bravo-marquez.role": "Director",
+ "abt.team.felipe-cardenas.role": "Technical Staff",
+ "abt.team.h": "Development team.",
+ "abt.team.lead": "The people who design, build and maintain dashAI day to day.",
+ "abt.team.nicolas-nast.role": "UX Engineer & Product Development",
+ "abt.team.yelena-hernandez.role": "HCI Research Assistant"
}
\ No newline at end of file
diff --git a/public/locales/es/about.json b/public/locales/es/about.json
index 4aed652..fb92bfd 100644
--- a/public/locales/es/about.json
+++ b/public/locales/es/about.json
@@ -68,5 +68,17 @@
"abt.students.isaias-venegas.desc": "Módulo de converters",
"abt.students.sofia-chavez.desc": "Sistemas RAG no-code",
"abt.students.carla-hayler.desc": "Sistema visual de pipelines",
- "abt.students.ivan-salas.desc": "Módulo de forecasting"
+ "abt.students.ivan-salas.desc": "Módulo de forecasting",
+ "abt.team.andres-carvallo.role": "Investigador",
+ "abt.team.camila-reyes.role": "Ingeniero de software",
+ "abt.team.claudia-lopez.role": "Directora Alterna",
+ "abt.team.cristian-tamblay.role": "Ingeniero de software líder",
+ "abt.team.emilio-diaz.role": "Ingeniero de software",
+ "abt.team.ey": "equipo de desarrollo",
+ "abt.team.felipe-bravo-marquez.role": "Director",
+ "abt.team.felipe-cardenas.role": "Personal Técnico",
+ "abt.team.h": "Equipo de Desarrollo.",
+ "abt.team.lead": "Las personas que día a día diseñan, construyen y mantienen dashAI.",
+ "abt.team.nicolas-nast.role": "Ingeniero UX y desarrollo de producto",
+ "abt.team.yelena-hernandez.role": "Asistente de investigación HCI"
}
\ No newline at end of file
diff --git a/public/locales/pt/about.json b/public/locales/pt/about.json
index 78b57f2..8a92096 100644
--- a/public/locales/pt/about.json
+++ b/public/locales/pt/about.json
@@ -68,5 +68,17 @@
"abt.students.isaias-venegas.desc": "Módulo de conversores",
"abt.students.sofia-chavez.desc": "Sistemas RAG no-code",
"abt.students.carla-hayler.desc": "Sistema visual de pipelines",
- "abt.students.ivan-salas.desc": "Módulo de forecasting"
+ "abt.students.ivan-salas.desc": "Módulo de forecasting",
+ "abt.team.andres-carvallo.role": "Pesquisador",
+ "abt.team.camila-reyes.role": "Engenheira de Software",
+ "abt.team.claudia-lopez.role": "Diretora Alterna",
+ "abt.team.cristian-tamblay.role": "Engenheiro de Software Líder",
+ "abt.team.emilio-diaz.role": "Engenheiro de Software",
+ "abt.team.ey": "equipe de desenvolvimento",
+ "abt.team.felipe-bravo-marquez.role": "Diretor",
+ "abt.team.felipe-cardenas.role": "Equipe Técnica",
+ "abt.team.h": "Equipe de Desenvolvimento.",
+ "abt.team.lead": "As pessoas que, dia a dia, projetam, constroem e mantêm o dashAI.",
+ "abt.team.nicolas-nast.role": "Engenheiro de UX e desenvolvimento de produto",
+ "abt.team.yelena-hernandez.role": "Assistente de Pesquisa em IHC"
}
\ No newline at end of file
diff --git a/public/locales/zh/about.json b/public/locales/zh/about.json
index c858a8e..08740c2 100644
--- a/public/locales/zh/about.json
+++ b/public/locales/zh/about.json
@@ -68,5 +68,17 @@
"abt.students.isaias-venegas.desc": "Converters 模块",
"abt.students.sofia-chavez.desc": "无代码 RAG 系统",
"abt.students.carla-hayler.desc": "可视化 Pipeline 系统",
- "abt.students.ivan-salas.desc": "Forecasting 模块"
+ "abt.students.ivan-salas.desc": "Forecasting 模块",
+ "abt.team.andres-carvallo.role": "研究员",
+ "abt.team.camila-reyes.role": "软件工程师",
+ "abt.team.claudia-lopez.role": "副主任",
+ "abt.team.cristian-tamblay.role": "首席软件工程师",
+ "abt.team.emilio-diaz.role": "软件工程师",
+ "abt.team.ey": "开发团队",
+ "abt.team.felipe-bravo-marquez.role": "主任",
+ "abt.team.felipe-cardenas.role": "技术人员",
+ "abt.team.h": "开发团队。",
+ "abt.team.lead": "每天设计、构建和维护 dashAI 的人们。",
+ "abt.team.nicolas-nast.role": "UX工程师兼产品开发",
+ "abt.team.yelena-hernandez.role": "人机交互研究助理"
}