Skip to content

Commit ae7a63d

Browse files
committed
update projects anc case study
1 parent f255fd7 commit ae7a63d

File tree

3 files changed

+77
-43
lines changed

3 files changed

+77
-43
lines changed

NEXT_STEPS.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ Mantén este archivo actualizado al final de cada sesión. Úsalo como checklist
44

55
## Contenido y data
66

7-
- Completar métricas/impacto reales en `lib/data/case-studies.ts` (EKA, Chill-n-Go, Glooko, Pluriza, IDI).
7+
- Completar métricas/impacto reales en `lib/data/case-studies.ts` (EKA, Chill-n-Go, Glooko, CMS & Search, Pluriza, IDI).
88
- Evaluar si `domain` y `type` en proyectos/casos deben traducirse o quedarse en ES; ajustar a `{ es, en }` si se requieren en inglés.
99
- Añadir selector de idioma en páginas de caso si se desea cambio directo allí.
1010
- Redactar contenido inicial para `app/blog` (al menos un post o placeholder descriptivo).
11+
- Responder las preguntas de validación (proyectos Node/NestJS recientes, secciones a eliminar, preferencia de estructura de carpetas) para alinear el contenido antes de generar código nuevo.
12+
- Revisar la nueva entrada `CMS & Search APIs` (Fullstack Labs) en projects/case-studies y ajustar copy si hace falta.
1113

1214
## Tooling y build
1315

@@ -20,6 +22,7 @@ Mantén este archivo actualizado al final de cada sesión. Úsalo como checklist
2022
- Revisar fondo actual (blobs + grid) y ajustar opacidad/densidad si es necesario.
2123
- Verificar imagen `public/me.png` en About: tamaño, blur y ring en dispositivos móviles.
2224
- Evaluar si conviene agregar sección “Playground” en home consumiendo `lib/data/playground.ts` para mayor visibilidad.
25+
- Definir paleta/typography finales y mapeo de componentes -> shadcn/Tailwind antes del rediseño.
2326

2427
## Monetización
2528

lib/data/case-studies.ts

Lines changed: 60 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ export const caseStudies: CaseStudy[] = [
2525
backend: ['Express.js', 'Postgres'],
2626
infra: ['CI/CD'],
2727
problem: {
28-
es: 'Crear un portal B2B para que Chill-n-Go gestione y procese pedidos de bolsas de vino premium.',
29-
en: 'Build a B2B portal for Chill-n-Go to manage and process premium wine bag orders.'
28+
es: 'Crear un portal B2B para que Chill-n-Go coloque y gestione pedidos de bolsas de vino premium con seguimiento claro.',
29+
en: 'Build a B2B portal so Chill-n-Go can place and manage premium wine bag orders with clear tracking.'
3030
},
3131
solution: {
32-
es: 'SPA en React con formularios de pedido y estados de orden; backend Express/Postgres para orquestar inventario y flujos de compra.',
33-
en: 'React SPA with order forms and status tracking; Express/Postgres backend orchestrating inventory and purchase flows.'
32+
es: 'SPA en React con formularios y estados de pedido; backend Express/Postgres orquestando inventario y flujos de compra, listo para releases frecuentes.',
33+
en: 'React SPA with order forms and status tracking; Express/Postgres backend orchestrating inventory and purchase flows, release-friendly.'
3434
},
3535
impact: {
3636
es: [
@@ -54,12 +54,12 @@ export const caseStudies: CaseStudy[] = [
5454
backend: ['Express.js', 'NestJS', 'Postgres'],
5555
infra: ['CI/CD', 'Caching', 'Observabilidad'],
5656
problem: {
57-
es: 'Construir un TMS robusto para un proveedor líder de soluciones logísticas (EKA) con visibilidad y control operativos.',
58-
en: 'Build a robust TMS for a leading logistics solutions provider (EKA) with operational visibility and control.'
57+
es: 'Construir un TMS robusto para EKA con visibilidad operativa, performance y espacio para releases seguros.',
58+
en: 'Build a robust TMS for EKA with operational visibility, performance, and room for safe releases.'
5959
},
6060
solution: {
61-
es: 'Frontend React con flujos de órdenes y tracking; backend Express/Nest sobre Postgres, caching selectivo y monitoreo para cuellos de botella.',
62-
en: 'React frontend for orders and tracking; Express/Nest backend on Postgres with selective caching and monitoring for bottlenecks.'
61+
es: 'Frontend React con flujos de órdenes/tracking; backend Express/Nest sobre Postgres con caching selectivo y observabilidad para detectar cuellos.',
62+
en: 'React frontend for orders/tracking; Express/Nest backend on Postgres with selective caching and observability to catch bottlenecks.'
6363
},
6464
impact: {
6565
es: [
@@ -83,12 +83,12 @@ export const caseStudies: CaseStudy[] = [
8383
backend: ['Node.js', 'Postgres'],
8484
infra: ['CI/CD', 'Feature flags'],
8585
problem: {
86-
es: 'Crear una app móvil whitelabel tipo clinical trial/medication companion para Glooko.',
87-
en: 'Create a whitelabel clinical trial / medication companion mobile app for Glooko.'
86+
es: 'Crear una app móvil whitelabel tipo clinical trial/medication companion para Glooko, preparada para múltiples marcas.',
87+
en: 'Create a whitelabel clinical trial / medication companion mobile app for Glooko, ready for multiple brands.'
8888
},
8989
solution: {
90-
es: 'Implementación de flujos de pacientes y adherencia en React Native, con servicios Node/Postgres y feature flags.',
91-
en: 'Implemented patient and adherence flows in React Native, backed by Node/Postgres services and feature flags.'
90+
es: 'Flujos de pacientes y adherencia en React Native con feature flags; servicios Node/Postgres y CI/CD para releases estables.',
91+
en: 'Patient and adherence flows in React Native with feature flags; Node/Postgres services and CI/CD for stable releases.'
9292
},
9393
impact: {
9494
es: [
@@ -114,12 +114,12 @@ export const caseStudies: CaseStudy[] = [
114114
backend: ['Node.js', 'Postgres'],
115115
infra: ['CI/CD'],
116116
problem: {
117-
es: 'Desarrollar un sitio administrativo para gestionar clinical trials y datos de Glooko.',
118-
en: 'Develop an admin site to manage clinical trials and data for Glooko.'
117+
es: 'Desarrollar un sitio administrativo para clinical trials y datos de Glooko con permisos y reporting claros.',
118+
en: 'Build an admin site for Glooko clinical trials and data with clear permissions and reporting.'
119119
},
120120
solution: {
121-
es: 'UI en React con módulos de gestión, dashboards y permisos; servicios Node/Postgres para orquestar datos clínicos.',
122-
en: 'React UI with management modules, dashboards and permissions; Node/Postgres services orchestrating clinical data.'
121+
es: 'UI en React con módulos de gestión, dashboards y permisos; servicios Node/Postgres orquestando datos clínicos y flujos de revisión.',
122+
en: 'React UI with management modules, dashboards and permissions; Node/Postgres services orchestrating clinical data and review flows.'
123123
},
124124
impact: {
125125
es: [
@@ -134,23 +134,54 @@ export const caseStudies: CaseStudy[] = [
134134
]
135135
}
136136
},
137+
{
138+
slug: 'fullstack-labs-cms-search',
139+
companyId: 'fullstack-labs',
140+
company: 'Fullstack Labs',
141+
title: { es: 'CMS & Search APIs', en: 'CMS & Search APIs' },
142+
domain: 'Plataforma / API',
143+
role: ['Backend', 'Arquitectura', 'Performance'],
144+
frontend: ['-'],
145+
backend: ['Express.js', 'GraphQL', 'TypeScript'],
146+
infra: ['CI/CD', 'Observabilidad', 'Caching'],
147+
problem: {
148+
es: 'Mantener y evolucionar el Content API y Search API consumidos por web y mobile, garantizando performance y estabilidad.',
149+
en: 'Maintain and evolve Content API and Search API consumed by web and mobile, ensuring performance and stability.'
150+
},
151+
solution: {
152+
es: 'Servicios Express/GraphQL en TypeScript con caching selectivo, endpoints versionados y observabilidad para equipos frontend/mobile.',
153+
en: 'Express/GraphQL services in TypeScript with selective caching, versioned endpoints, and observability for frontend/mobile teams.'
154+
},
155+
impact: {
156+
es: [
157+
'mejor tiempo de respuesta en búsquedas',
158+
'mayor estabilidad para lanzamientos multiequipo',
159+
'base lista para nuevas features de contenido'
160+
],
161+
en: [
162+
'faster response time on searches',
163+
'more stability for multi-team launches',
164+
'foundation ready for new content features'
165+
]
166+
}
167+
},
137168
{
138169
slug: 'pluriza-comunicacion',
139170
companyId: 'pluriza',
140171
company: 'Pluriza',
141-
title: { es: 'Video Chat Familiar', en: 'Family Video Chat' },
172+
title: { es: 'BeClose (Video chat)', en: 'BeClose (Video chat)' },
142173
domain: 'Comunicación',
143174
role: ['Mobile', 'Frontend'],
144175
frontend: ['React Native', 'WebRTC'],
145176
backend: ['Firebase'],
146177
infra: ['CI/CD'],
147178
problem: {
148-
es: 'Construir y evolucionar un MVP de video chat para acercar padres e hijos.',
149-
en: 'Build and evolve a video chat MVP to bring parents and kids closer.'
179+
es: 'Construir y evolucionar un MVP de video chat para conectar padres e hijos con buena calidad y baja fricción.',
180+
en: 'Build and evolve a video chat MVP to connect parents and kids with good quality and low friction.'
150181
},
151182
solution: {
152-
es: 'Transformación del MVP en un producto estable añadiendo features y estabilidad con React Native, WebRTC y Firebase para señalización/mensajería.',
153-
en: 'Transformed the MVP into a stable product, adding features and stability with React Native, WebRTC, and Firebase for signaling/messaging.'
183+
es: 'Transformé el MVP en producto estable con nuevas features; WebRTC para media, Firebase para señalización/mensajería y releases continuas en RN.',
184+
en: 'Turned the MVP into a stable product with new features; WebRTC for media, Firebase for signaling/messaging, and continuous RN releases.'
154185
},
155186
impact: {
156187
es: [
@@ -176,12 +207,12 @@ export const caseStudies: CaseStudy[] = [
176207
backend: ['Apollo GraphQL'],
177208
infra: ['AWS'],
178209
problem: {
179-
es: 'Gestionar carga y logística con coordinación de equipo y operaciones en un equipo de 3 personas.',
180-
en: 'Manage freight and logistics with team and operations coordination in a 3-person team.'
210+
es: 'Construir Veracruz, software de gestión de carga y logística, coordinando un equipo de 3 personas.',
211+
en: 'Build Veracruz freight management software while coordinating a 3-person team.'
181212
},
182213
solution: {
183-
es: 'App Angular.js con backend Apollo GraphQL, despliegues en AWS y DevOps liderando un equipo pequeño.',
184-
en: 'Angular.js app with Apollo GraphQL backend, AWS deployments, and DevOps while leading a small team.'
214+
es: 'Angular.js + Apollo GraphQL, despliegues en AWS, pipelines y monitoreo; rol de DevOps y liderazgo técnico.',
215+
en: 'Angular.js + Apollo GraphQL, AWS deployments, pipelines and monitoring; DevOps and technical leadership role.'
185216
},
186217
impact: {
187218
es: [
@@ -207,12 +238,12 @@ export const caseStudies: CaseStudy[] = [
207238
backend: ['-'],
208239
infra: ['CI/CD'],
209240
problem: {
210-
es: 'Liderar el desarrollo de un sistema de gestión de reservas con equipo de 7 devs.',
211-
en: 'Lead development of a booking management system with a 7-dev team.'
241+
es: 'Liderar Ghost Management, sistema de reservas, coordinando un equipo de 7 devs y un backlog activo.',
242+
en: 'Lead Ghost Management booking system, coordinating a 7-dev team and an active backlog.'
212243
},
213244
solution: {
214-
es: 'App Angular.js + Bootstrap con flujos de reservas/admin, guiando el equipo y abordando bugs/nuevos requerimientos.',
215-
en: 'Angular.js + Bootstrap app with booking/admin flows, guiding the team and addressing bugs/new requirements.'
245+
es: 'Angular.js + Bootstrap con flujos de reservas/admin; priorización de requerimientos, fixes y mentoring al equipo.',
246+
en: 'Angular.js + Bootstrap booking/admin flows; requirement prioritization, fixes, and mentoring for the team.'
216247
},
217248
impact: {
218249
es: [

lib/data/projects.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ export const projects: Project[] = [
2222
type: 'Proyecto privado',
2323
stack: ['React', 'Express.js', 'Postgres'],
2424
summary: {
25-
es: 'Portal web para crear y gestionar pedidos de bolsas de vino premium.',
26-
en: 'Web portal to place and manage orders for premium wine bags.'
25+
es: 'Portal web B2B para colocar y gestionar pedidos de bolsas de vino premium de Chill-n-Go.',
26+
en: 'B2B web portal to place and manage Chill-n-Go premium wine bag orders.'
2727
}
2828
},
2929
{
@@ -35,8 +35,8 @@ export const projects: Project[] = [
3535
type: 'Proyecto privado',
3636
stack: ['React', 'Express.js', 'NestJS', 'Postgres'],
3737
summary: {
38-
es: 'TMS para uno de los mayores proveedores de soluciones logísticas (EKA).',
39-
en: 'TMS for one of the largest logistics solutions providers (EKA).'
38+
es: 'TMS para EKA, uno de los mayores proveedores de soluciones logísticas: visibilidad de órdenes y control operativo.',
39+
en: 'TMS for EKA, a leading logistics solutions provider: order visibility and operational control.'
4040
}
4141
},
4242
{
@@ -48,8 +48,8 @@ export const projects: Project[] = [
4848
type: 'Proyecto privado',
4949
stack: ['React Native', 'Node.js', 'Postgres'],
5050
summary: {
51-
es: 'App móvil whitelabel tipo clinical trial/medication companion para Glooko.',
52-
en: 'Whitelabel clinical trial / medication companion mobile app for Glooko.'
51+
es: 'App móvil whitelabel tipo clinical trial/medication companion para Glooko en React Native.',
52+
en: 'React Native whitelabel clinical trial / medication companion mobile app for Glooko.'
5353
}
5454
},
5555
{
@@ -61,8 +61,8 @@ export const projects: Project[] = [
6161
type: 'Proyecto privado',
6262
stack: ['React', 'Node.js', 'Postgres'],
6363
summary: {
64-
es: 'Sitio administrativo para gestionar clinical trials y datos de Glooko.',
65-
en: 'Administrative site to manage clinical trials and data for Glooko.'
64+
es: 'Sitio administrativo en React para gestionar clinical trials y datos de Glooko.',
65+
en: 'React admin site to manage Glooko clinical trials and data.'
6666
}
6767
},
6868
{
@@ -74,21 +74,21 @@ export const projects: Project[] = [
7474
type: 'Proyecto privado',
7575
stack: ['Node.js', 'TypeScript', 'Express.js', 'GraphQL'],
7676
summary: {
77-
es: 'Content API y Search API consumidas por frontend y mobile; mantenimiento y evolución del CMS/Search.',
78-
en: 'Content API and Search API consumed by frontend and mobile; maintenance and evolution of CMS/Search.'
77+
es: 'Content API y Search API en Express/GraphQL para web y mobile; mantenimiento, performance y nuevas features.',
78+
en: 'Express/GraphQL Content API and Search API for web and mobile; maintenance, performance and new features.'
7979
}
8080
},
8181
{
8282
slug: 'pluriza-comunicacion',
8383
companyId: 'pluriza',
8484
company: 'Pluriza',
85-
name: 'Video Chat Familiar',
85+
name: 'BeClose',
8686
domain: 'Comunicación',
8787
type: 'Proyecto privado',
8888
stack: ['React Native', 'WebRTC', 'Firebase'],
8989
summary: {
90-
es: 'App móvil de video chat para padres e hijos; evolución de MVP a producto estable con más features.',
91-
en: 'Mobile video chat app for parents and kids; evolved MVP into a stable product with more features.'
90+
es: 'BeClose: app móvil de video chat para padres e hijos. Evolución del MVP a producto estable con WebRTC y Firebase.',
91+
en: 'BeClose: mobile video chat app for parents and kids. Evolved MVP into a stable product with WebRTC and Firebase.'
9292
}
9393
},
9494
{

0 commit comments

Comments
 (0)