circonflex

Desarrollador backend Python y Django, freelance, en Barcelona. Primero código que aguanta, después agentes IA. FastAPI, Flask y Go, y luego Pydantic AI y servidores MCP.

Djangocontact/serializers.py
class ContactRequestSerializer(serializers.Serializer):
    email = serializers.EmailField()
    mission = serializers.ChoiceField(choices=Mission.choices)
    message = serializers.CharField(min_length=10)


def test_rejects_a_short_message(api_client):
    response = api_client.post("/api/contact/", {"message": "too short"})
    assert response.status_code == 400
Pythoncontact/api.py
class ContactRequest(BaseModel):
    email: EmailStr
    mission: Mission
    message: str = Field(min_length=10)


@app.post("/api/contact", status_code=202)
async def contact(request: ContactRequest, mailer: Mailer = Depends(get_mailer)):
    await mailer.send(request)
    return {"sent": True}
Gocontact/request.go
func (r ContactRequest) Validate() error {
	if _, err := mail.ParseAddress(r.Email); err != nil {
		return fmt.Errorf("email: %w", err)
	}
	if utf8.RuneCountInString(r.Message) < 10 {
		return errors.New("message: too short")
	}
	return nil
}

Servicios backend Python, Go e IA nativa

ServicioLo que obtienes
Python
DJANGODRFNINJAAPIs REST con Django REST Framework o Django Ninja, diseñadas o retomadas, con tests y documentación.
FASTAPIServicios asíncronos tipados con Pydantic y documentación OpenAPI generada.
FLASKServicios ligeros, o la recuperación y migración de una aplicación existente.
Go
SERVICIOS GOServicios Go rápidos y sobrios, con la misma exigencia de tests y arquitectura.
Arquitectura y calidad
HEXAGONALDDDEl negocio aislado del framework, cuando el dominio lo justifica.
REFACTORINGTDDUn código saneado: SOLID, Clean Code, primero los tests.
IA nativa
AGENTES PYDANTIC AIAgentes IA en tu producto, con salidas validadas y testeadas.
SERVIDORES MCPTus datos y herramientas expuestos a los modelos, con permisos bajo control.

La IA se apoya en una estructura. Yo construyo primero la estructura.

Un agente conectado a un código frágil acelera sobre todo los bugs. Como una cercha de madera, un proyecto aguanta porque cada pieza absorbe un esfuerzo concreto.

Una cercha de madera con forma de acento circunflejo. Las piezas de la estructura son SOLID, YAGNI, los tests, la arquitectura hexagonal y los frameworks. La cumbrera sostiene los agentes Pydantic AI y los servidores MCP.SOLID · CLEAN CODEYAGNI · KISSPRIMERO LOS TESTS: TDD, PYTESTHEXAGONAL · DDDDJANGO · FLASKFASTAPI · GOAGENTES PYDANTIC AI · SERVIDORES MCP
ParesSOLID, Clean Code, YAGNI
Responsabilidades claras y dependencias que apuntan en la buena dirección.
TiranteTDD, pytest
Los tests sostienen el conjunto. Red, green, refactor, a pasos pequeños.
PendolónArquitectura hexagonal, DDD
El negocio en el centro. Todo lo demás se engancha a él, nunca al revés.
TornapuntasDjango, FastAPI, Flask, Go
Los frameworks transmiten el esfuerzo hasta el negocio. No sostienen el tejado.
CumbreraPydantic AI, MCP
Agentes con salidas tipadas y validadas, apoyados en una estructura que no se mueve.

Pasa el cursor sobre una pieza para verla en la estructura.

Escribo lo que aplico

Artículos técnicos en dev-flow.io: Django y su ORM, TDD, arquitectura, despliegue.

Leer todos los artículos en dev-flow.io

¿Un proyecto que construir?

Describe el contexto: el stack actual, el tamaño del equipo, el plazo. Cuanto más concreto, más concreta será mi primera respuesta.

Tipo de misión