[{"data":1,"prerenderedAt":100},["ShallowReactive",2],{"project-\u002Fproyectos\u002Fmapmytrip":3},{"id":4,"title":5,"backendRepo":6,"body":7,"cover":6,"demo":83,"description":77,"extension":84,"meta":85,"navigation":86,"order":78,"path":87,"repo":88,"seo":89,"stack":90,"stem":97,"summary":98,"__hash__":99},"projects_es\u002Fproyectos\u002Fmapmytrip.md","MapMyTrip",null,{"type":8,"value":9,"toc":76},"minimark",[10,15,19,23,35,69,73],[11,12,14],"h2",{"id":13},"problema","Problema",[16,17,18],"p",{},"Organizar un viaje o una salida en grupo obliga a saltar entre buscadores, Google Maps y chats. Cada persona tiene su presupuesto y sus gustos, y nadie sabe si un lugar estará abierto a la hora planeada o si las distancias tienen sentido. Las sugerencias genéricas de una IA suelen inventar lugares o armar horarios imposibles.",[11,20,22],{"id":21},"solución","Solución",[16,24,25,26,30,31,34],{},"Dos flujos: ",[27,28,29],"strong",{},"Trips"," genera un itinerario por días a partir de un prompt, y ",[27,32,33],{},"planes de grupo"," permite que cada participante se una por link sin crear cuenta, indique su presupuesto y preferencias, y vote entre 3 planes que propone la IA. Algunas decisiones clave:",[36,37,38,45,51,57,63],"ul",{},[39,40,41,44],"li",{},[27,42,43],{},"Lugares reales, no inventados:"," la generación es un grafo de LangGraph que busca en Google Places y le pasa al modelo distancias y horarios de apertura. Después, el código revisa el plan (lugares cerrados a esa hora, repetidos, demasiado lejos o fuera de presupuesto), lo repara cuando puede y calcula traslados reales con Routes API.",[39,46,47,50],{},[27,48,49],{},"Evals reproducibles:"," escenarios fijos calificados en código y con un modelo más grande, con trazas en LangSmith. Los cambios de prompt o de modelo se comparan con datos, no con intuición.",[39,52,53,56],{},[27,54,55],{},"Lugares curados:"," además de Google, un panel de admin para lugares propios, con una marca de aliado para negocios que pagan.",[39,58,59,62],{},[27,60,61],{},"Arquitectura:"," Nuxt 4 con layers por dominio. La clave de Places nunca llega al navegador, las entradas se validan con Zod, el login usa Google OAuth y las imágenes para compartir en WhatsApp se generan en el servidor.",[39,64,65,68],{},[27,66,67],{},"Versionado con release-please"," y Conventional Commits.",[11,70,72],{"id":71},"resultado","Resultado",[16,74,75],{},"Proyecto en beta (v0.4.0). Funcionan la generación de itinerarios, los planes de grupo con votación y cierre, el panel de admin de lugares y las evals. En desarrollo: un panel de lugar con fotos, reseñas y horario, en dos columnas en escritorio y como hoja inferior en móvil.",{"title":77,"searchDepth":78,"depth":78,"links":79},"",2,[80,81,82],{"id":13,"depth":78,"text":14},{"id":21,"depth":78,"text":22},{"id":71,"depth":78,"text":72},"https:\u002F\u002Fmap-my-trip-296321264526.us-central1.run.app\u002F","md",{},true,"\u002Fproyectos\u002Fmapmytrip","https:\u002F\u002Fgithub.com\u002FKevin-Curruchich\u002Fmap-my-trip",{"title":5,"description":77},[91,92,93,94,95,96],"Nuxt 4","Nuxt UI","LangGraph","Google Maps Platform","Postgres","Cloud Run","proyectos\u002Fmapmytrip","Planificación de viajes y salidas en grupo con IA: itinerarios con lugares reales de Google Maps y planes que el grupo vota.","mDFNeR9_p_uekWvBQOhYTny338QaIHu9ZIo7GuZoZYA",1791866601128]