← Volver a artículos

Cómo usar FastAPI para validar un SaaS de recordatorios médicos sin frontend complejo

Construye un backend mínimo en FastAPI para probar si tu idea de recordatorios médicos tiene tracción antes de invertir en diseño o apps móviles.

Muchos emprendedores tecnológicos se quedan atrapados pensando que necesitan una app móvil bonita o un dashboard elaborado para validar una idea. Pero si lo que realmente quieres saber es si las personas usan tu solución, puedes empezar con mucho menos. En este caso, imagina que quieres validar un servicio de recordatorios de medicación para adultos mayores mediante WhatsApp. No necesitas una app nativa ni un portal web complejo para empezar. Lo que sí necesitas es un backend que reciba datos, los procese y envíe mensajes de forma confiable. Ahí entra FastAPI.

Por qué FastAPI para un MVP de recordatorios por WhatsApp

FastAPI te permite construir un API robusto y documentado automáticamente con muy poco código. Es ideal cuando quieres mover rápido sin sacrificar calidad. En este caso, el flujo es simple: un familiar registra al paciente (nombre, medicación, horarios) mediante un formulario básico (puede ser un Google Form conectado vía webhook o una landing sencilla). Ese dato llega a tu endpoint de FastAPI, se guarda en una base de datos ligera (como SQLite para empezar) y se programa una tarea para enviar un mensaje de WhatsApp en el horario indicado.

No necesitas autenticación compleja al inicio. Puedes usar un token simple en el header para validar que las peticiones vengan de tu formulario. FastAPI hace esto fácil con dependencias y seguridad basada en APIKey.

Ejemplo concreto: endpoint para registrar un recordatorio

from fastapi import FastAPI, HTTPException, Depends, Header
from pydantic import BaseModel
from datetime import datetime
import sqlite3

app = FastAPI()

class Recordatorio(BaseModel):
    nombre_paciente: str
    medicacion: str
    horario: str  # formato HH:MM
    numero_whatsapp: str

# Verificación simple de token (en producción usarías algo más robusto)
async def verificar_token(x_token: str = Header(...)):
    if x_token != "tu_token_secreto_aqui":
        raise HTTPException(status_code=403, detail="Token inválido")

@app.post("/recordatorios/")
async def crear_recordatorio(record: Recordatorio, token: str = Depends(verificar_token)):
    conn = sqlite3.connect('recordatorios.db')
    c = conn.cursor()
    c.execute("""
        INSERT INTO recordatorios (nombre, medicacion, horario, numero, activo)
        VALUES (?, ?, ?, ?, 1)
    """, (record.nombre_paciente, record.medicacion, record.horario, record.numero_whatsapp))
    conn.commit()
    conn.close()
    return {"mensaje": "Recordatorio registrado", "id": c.lastrowid}

Este endpoint es todo lo que necesitas para empezar a recibir datos. Con él, ya puedes medir: ¿personas están registrando a sus familiares? ¿Los datos llegan completos? ¿Hay patrones en los horarios o medicaciones más comunes?

Integrar el envío de WhatsApp sin complicarte

Para enviar los mensajes, puedes usar una API como Twilio o WhatsApp Business Provider (por ejemplo, 360dialog o Vonage). No necesitas construir esto desde cero. Una tarea en segundo plano (que puedes iniciar con APScheduler o un worker simple de Celery si creces) revisa la base de datos cada minuto y envía un mensaje si coincide el horario actual con el almacenado.

FastAPI no se encarga del envío directo, pero sí te da un lugar limpio y testeable para orquestar la lógica. Puedes crear una función enviar_recordatorio() que se llame desde el worker y que use el SDK de Twilio, por ejemplo. Todo el resto — validación de datos, manejo de errores, logging — lo manejas dentro de tu app de FastAPI, con pruebas automáticas fáciles de escribir gracias a su integración con pytest y TestClient.

Qué validar con este MVP

  • ¿Hay disposición para llenar el formulario?
  • ¿Los recordatorios se envían a tiempo y se reciben?
  • ¿Los usuarios reportan que les sirvió?
  • ¿Hay fricción en el proceso de registro que puedas simplificar?

Si la respuesta es sí a la mayoría, entonces sí tiene sentido invertir en una app móvil, recordatorios por voz o integración con calendarios familiares. Si no, ahorras meses de desarrollo y miles de dólares.

Próximos pasos

  1. Crea un proyecto con fastapi, uvicorn y python-dotenv.
  2. Define el modelo de datos y el endpoint de registro.
  3. Conecta un formulario sencillo (Tipoform, Google Forms o Carrd) mediante webhook.
  4. Prueba el envío de WhatsApp en modo sandbox con tu propio número.
  5. Mide durante dos semanas: número de registros, tasa de completitud, feedback cualitativo.

FastAPI no es solo para sistemas grandes o equipos de ingeniería. Es una herramienta que te permite ir rápido con solidez, justo lo que necesita un emprendimiento en sus primeras etapas. ¿Has usado FastAPI para validar una idea sin construir todo el producto primero? ¿Qué tan lejos llegaste con solo un API y un formulario?