Asistesis: Clinical Research Intelligence Agent

The Inspiration

As a student of the Licenciatura en Tecnologías de la Información (UTEC) and a Senior Quality Control professional, I’ve witnessed the "methodological chaos" that often stalls clinical research. Healthcare professionals are experts in saving lives, but they are often overwhelmed by the technical bureaucracy of research: rigid IMRD structures, complex Vancouver citation rules, and the struggle to maintain "clean" databases during exhausting clinical shifts.

The inspiration for Asistesis came from the need for a "Methodological Guardian"—an agent that handles the infrastructure of science so researchers can focus on the evidence.


How I Built It

Asistesis was built with a "Quality First" mindset, ensuring every research step is technically and ethically sound. The architecture includes:

  • Framework: Next.js 14 (App Router) with TypeScript for a robust, type-safe codebase.
  • AI Engine: Vercel AI SDK 6, leveraging the AI Gateway to manage model fallbacks and ensure high availability.
  • Agency & Integrations (MCP): I implemented the Model Context Protocol (MCP) to give the AI "hands." This allows the agent to interact directly with Google Workspace (generating Forms and Docs), PubMed (fetching real-world evidence), and Paperpile (automating citations).
  • UI/UX: A high-contrast "Clinical" design using Tailwind CSS and shadcn/ui, featuring a Nocturnal Mode for medical night shifts and a deep commitment to non-gendered language (using inclusive Spanish structures like "Persona Usuaria").

What I Learned

Developing this project was an intense deep dive into the Vercel AI SDK. I learned that the future of AI is not just about "chatting," but about agency. Implementing MCP taught me how to bridge the gap between a Large Language Model's reasoning and real-world clinical tools.

I also explored the biostatistical side of research, implementing logic for sample size estimation. For example, the app calculates the required participants using the formula for a known population:

$$n = \frac{Z^2 \cdot P \cdot (1-P)}{d^2}$$

Where:

  • $n$ is the sample size.
  • $Z$ is the confidence level (e.g., 1.96 for 95%).
  • $P$ is the expected proportion.
  • $d$ is the margin of error.

Translating this mathematical rigor into a seamless, accessible user experience was one of the most rewarding parts of the process.


Challenges Faced

The biggest challenge was the race against time. Managing complex integrations like MCP within a hackathon timeframe required strict prioritization—focusing on the "Clean Data Culture" and PICOT validation as core features.

Mid-development, I faced a significant hurdle when I reached the credit limits on my visual prototyping tools. This forced me to pivot and rely entirely on my IntelliJ environment and manual coding. Paradoxically, this pivot allowed me to have more granular control over the accessibility and inclusion features I wanted to implement, proving that a solid technical foundation can overcome tool limitations and that a "fix first, theory later" approach is vital in high-pressure environments.


Asistesis is more than a tool; it is a commitment to making clinical evidence accessible, ethical, and technically flawless.

Built With

  • v0
Share this project:

Updates