TrialFinder
Interfaz de navegador para buscar en ClinicalTrials.gov con consultas en lenguaje natural.
Una aplicación web que permite a cualquier persona buscar en ClinicalTrials.gov en lenguaje sencillo. Los resultados se clasifican, se representan en un mapa impulsado por Cesium y se pueden refinar a través de chat. Los mismos datos que mi servidor find-trials MCP expone a los asistentes de AI, pero creados para que los humanos naveguen en la web.
El problema
Los pacientes que buscan ensayos clínicos se enfrentan a una base de datos gubernamental compleja y llena de jerga. ClinicalTrials.gov devuelve miles de resultados para cualquier afección común, y pocos pacientes tienen el tiempo o la experiencia para filtrar por fase, estado de reclutamiento, elegibilidad o ubicación. Los agentes de IA que intentan ayudar también necesitan una superficie estructurada y consultable que vaya más allá de la búsqueda de palabras clave sin procesar.
El enfoque
Un frontend de React con un globo 3D de Cesium, respaldado por un worker de Hono en Cloudflare. El frontend renderiza las ubicaciones de los ensayos en el globo con zoom a nivel de calle (mínimo de 50 m) para que los pacientes puedan ver dónde se realizan los ensayos. El chat multi-turno mantiene el historial de conversaciones, los resultados anteriores y el perfil del paciente en contexto. El backend consulta la API v2 de ClinicalTrials.gov y utiliza Cloudflare Workers AI para razonar sobre la elegibilidad antes de devolver los resultados.
Decisiones notables
- Búsqueda impulsada por el perfil del paciente. Acepta edad, condiciones, ubicación y tratamientos previos, y luego razona sobre la elegibilidad en lugar de solo la coincidencia de palabras clave.
- Puntuación de coincidencias. Resultados etiquetados como fuertes, posibles o débiles con razones, para que los pacientes y los agentes de IA puedan priorizar rápidamente.
- Contexto conversacional. Las preguntas de seguimiento como '¿hay ensayos más cerca de casa?' funcionan sin volver a introducir la información del perfil.
- Globo 3D con Cesium. El zoom a nivel de calle y los enlaces 'Abrir en Mapas' conectan cada ensayo con un lugar real en lugar de una entrada de lista.
- Diseño sin estado por solicitud. Sin registros, sin análisis, sin perfiles almacenados en el lado del servidor.
Estado
En vivo en clinical-trials.davidloor.com. Trabajo reciente en correcciones de cámara y zoom de Cesium, renderizado de marcadores y una migración de MapLibre a Cesium.
Want similar work for your team?
AI-native senior engineering for AI, cloud, and web. Open to consulting engagements and full-time roles.