Skip to content
Photo of Johan Rendon

Johan Alexis Rendon Granada

Junior Backend Developer (Python, FastAPI) with React experience

San José, Caldas, Colombia (GMT-5)

Available for immediate hiring. Remote or hybrid.

I build FastAPI backends and React interfaces, with experience in AI pipelines, RAG semantic search and automated testing.

Projects

Three projects, ordered by relevance for a Python backend role.

AI product intelligence reporting platform

Generates structured product reports with a multi-phase AI pipeline and semantic search over them.

Period
Jun 2026 – Oct 2026
Team
3 people
My role
FullStack Developer Trainee at Globant (backend, frontend and AI)
Status
Under NDA: no public code or demo

Problem

Bring data from external catalogs, web search and language models into structured product reports, and search inside them while seeing where each fragment comes from.

What I did

  • I built the Full Report pipeline: 10 research and tagging lenses over one report, with server-side PDF export.
  • I designed the semantic search (RAG): chunks split by content boundaries, local embeddings, hybrid retrieval (dense and lexical) and the provenance of each chunk (product, category, source and date).
  • I implemented login with httpOnly cookies and CSRF protection, and the admin and developer roles, with an atomic admin transfer so the system never loses its last admin.
  • I built the notifications, the role administration and the semantic search administration.

Technical decision: failover between LLM providers

I designed a routing layer between LLM providers with automatic failover and per-provider concurrency control. It also stores the token usage of each call, with an endpoint and an admin dashboard.

Result

Deployed and running in production in the company's private environment. It was handed to an internal team for daily maintenance.

Stack

  • Python
  • FastAPI
  • PostgreSQL
  • pgvector
  • React
  • TypeScript
  • Gemini
  • Groq

It runs in production in the company's private environment. I can walk through the architecture and my decisions in an interview.

See technical detail

Rest of the stack

  • SQLAlchemy
  • Pydantic
  • fastembed
  • pytest
  • Vite
  • Zustand
  • Tailwind
  • Vitest

Architecture diagram

My own diagram, with no client names or internal product names.

Architecture of the AI reporting platformBlock diagram. External data sources and web search feed a multi-phase AI pipeline. A routing layer spreads the calls across LLM providers with failover. Reports are stored in PostgreSQL, indexed in pgvector and queried with hybrid semantic search, keeping the provenance of each chunk. A React app consumes the FastAPI API.External catalogs and web searchMulti-phase AI pipelineLLM router withfailoverLLM providersPostgreSQLVector index(pgvector)Hybrid semantic search with provenanceFastAPI APIReact interface

Competitive intelligence platform

Collects posts from developer communities, analyzes them with AI and shows sentiment, churn risk, NPS and alerts.

Period
Apr 2026 – Jun 2026
Team
3 people
My role
FullStack Developer Trainee at Globant
Status
Under NDA: no public code or demo

Problem

Turn loose posts from forums and communities into metrics a team can query: sentiment, churn risk, NPS and alerts.

What I did

  • I designed 11 REST endpoints with FastAPI to list posts and query their metrics. Filters and pagination run in SQL, not in memory.
  • I built the per-product ingestion endpoints: they search, analyze with the LLM and store the results in PostgreSQL.
  • I built the live feed in React, with pagination, filters, search and statistics.
  • I wrote the tests: 25 backend (pytest) and 29 frontend (Vitest, React Testing Library and MSW). I built the frontend test setup from scratch.
  • I documented the schema, the frontend integration and the tests so the team could maintain them.

Technical decision: structured output from Gemini

Gemini rejected Pydantic JSON Schemas with references ($ref, $defs), unions (anyOf) and constants (const), so the answers were not valid JSON. I wrote a resolver that flattens the schema to a format the model accepts.

Result

54 passing tests (25 backend and 29 frontend) and documentation of the schema, the integration and the tests.

Stack

  • Python
  • FastAPI
  • PostgreSQL
  • SQLAlchemy
  • Pydantic
  • Gemini
  • React
  • TypeScript

The work is covered by a confidentiality agreement. I can walk through the architecture and my decisions in an interview.

See technical detail

Rest of the stack

  • pytest
  • Vite
  • TanStack Query
  • Zustand
  • Tailwind
  • Vitest
  • React Testing Library
  • MSW

Architecture diagram

My own diagram, with no client names or internal product names.

Architecture of the competitive intelligence platformBlock diagram. Posts from developer communities enter through ingestion endpoints, are analyzed by an LLM that returns structured output and are stored in PostgreSQL. A FastAPI API with filters and pagination in SQL feeds the React dashboard with sentiment, churn, NPS and alerts.Developer communitiesIngestion endpointsLLM analysis with structured outputPostgreSQLFastAPI API with SQL filtersReact dashboard

Gedocs

Institutional web system for document archiving and PQRSD management for SENA.

Period
Jul 2024 – Apr 2026
Team
9 people
My role
Full stack QA and frontend: mockups and React interfaces. I led the test suite.
Status
In production

Problem

The document management area of SENA needed to archive documents like in a drive and manage PQRSD (petitions, complaints, claims, suggestions and reports), following the Colombian General Archives Law.

What I did

  • I did full stack QA: I tested both the frontend and the backend.
  • I created the mockups and designed several React interfaces.
  • I led the test suite: PHPUnit on the backend and Vitest on the frontend.
  • I deployed the system to production on DigitalOcean, in containers with Dokploy.

Challenge: unclear requirements at the start

A communication mistake with the client doubled the work: we built features for methods the client did not want. The team held a clarification meeting and fixing it took a couple of days. Since then we ask the client constant questions and write down every agreement.

Result

In production, with about 60 real users. Team of 9 people.

Stack

  • Laravel
  • React
  • MySQL
  • PHPUnit
  • Vitest
  • DigitalOcean
  • Dokploy

Demo

Public demo with fictitious data, which resets every day at 3:00 a.m. (Colombia time). No sign-up needed: on the login screen, pick a role under "Entrar sin registrarte" ("Enter without registering"). The interface is in Spanish.

Open the Gedocs demo (opens in a new tab)
  • Sign-in without registering: pick a role and explore the system.
  • PQRSD inbox: filters by type, deadline and reply.
  • Document archive by entity and department, like a drive.
  • Letter generator: fill in the letter and export it to PDF.

Experience

  1. Apr 2026 – Oct 2026

    FullStack Developer Trainee

    Globant, Pereira, Colombia

    • I developed backend services and REST endpoints with Python, FastAPI and PostgreSQL, integrated with React and TypeScript interfaces.
    • I worked on two internal innovation products, each with a team of 3 people, using Spec-Driven Development and Agile/Scrum practices.
    • The AI reporting platform was deployed and runs in production; it was handed to an internal team for daily maintenance.

    See the project: AI reporting platformSee the project: Competitive intelligence

    “Johan demonstrated notable technical proficiency in full-stack architecture, with particularly strong capabilities in Python and the practical implementation of Retrieval-Augmented Generation (RAG) AI solutions. [...] I recommend Johan Alexis Rendon Granada without reservation for technical roles.”

    Pablo Lecea, Games Director, Globant.

    Pablo can confirm this letter. To speak with him, email me at johanalexis808@gmail.com.

  2. Jul 2024 – Apr 2026

    Academic project for a real client: QA and frontend

    SENA

    • I took part in Gedocs, a document archiving and PQRSD system, with a team of 9 people and about 60 real users.
    • I did full stack QA, created mockups and React interfaces, and led the test suite (PHPUnit and Vitest).

    See the project: Gedocs

About

I write the specification before the code, I test what I build and I document changes so the team can maintain them. In my internship I wrote 25 backend tests and 29 frontend tests, and I documented the module I built.

I look for a product or SaaS company, or one that solves real operational problems, where I can contribute with Python backend work, React and DevOps.

Outside of code, I like watching series and movies.

How I use AI when I code

I use it as a support tool. With spec-driven development (OpenSpec) I write the specification before the code, review it at a technical level and run a "reconcile" that compares the instructions with the code. In normal AI-assisted coding, I run the program and review the structure of the code it produces.

Skills

Grouped by evidence: where I really used them.

Used in projects

  • Laravel
  • MySQL
  • Node.js
  • pytest
  • Vitest
  • React Testing Library
  • MSW
  • PHPUnit
  • SQLAlchemy
  • Pydantic
  • pgvector
  • Zustand
  • TanStack Query
  • Tailwind
  • WordPress

Learning now

  • AWS
  • Jenkins
  • Terraform
  • GitHub Actions

Tools

  • Git
  • GitHub
  • GitLab
  • Jira
  • Trello
  • Figma

Education and certifications

Jul 2024 – Oct 2026

Associate degree in Software Analysis and Development

SENA

Classroom and work-placement stages completed; degree pending Saber TyT results.

Certifications

Languages

Native Spanish, English A2 (I can do an interview in English).