Open to fullstack roles

I build complete products and ship them to production.

Fullstack Engineer with 4+ years in production: Python automation and ETL at Tigo, CCTV middleware at American Telnet, L2/L3 support on SIESA's ERP. Today I build and deploy my own products — BuildCv (.NET + Next.js) and Shoppipai (Django + DDD), both live. Open to full-time roles, contracts and consulting.

How to hire me
4+ years in production
2 own products live
Python · .NET primary stack
shoppipai-cluster.svc
LIVE
Storefront Vite · React 19 Dashboard Next.js · shadcn API Gateway REST · GraphQL X-Tenant-Id Auth JWT RS256 · 2FA Core Service Django · 27 DDD Saga + Outbox Celery workers Postgres + pgvector Redis cache · sess Queue async retry
01 — Philosophy

Three principles, one standard.

How I approach every product, from the first line of code to production deploy. Four years shipping Python at Tigo, American Telnet and SIESA, plus two of my own products live today — code that reads, tests and holds up under real load.

  1. 01

    Systems that scale.

    Domain-Driven Design, layered separation and SOLID principles. Code reads the way the business talks.

    Bounded contexts · Hexagonal · CQRS where it fits

  2. 02

    No surprises on deploy day.

    Automated tests, observability and continuous review. Zero surprises on deploy day.

    Test coverage · OWASP review · Hardened CI/CD

  3. 03

    Backends that integrate.

    Robust Python backends seamlessly integrated with dynamic Next.js frontends.

    REST + GraphQL · Async-first · Crisp DX

02 — Projects

Selected work.

Real systems in production. Audited code, documented decisions.

buildcv.cristianarellano.com
72/100
GOOD
Skills ×0.45
Experience ×0.20
Education ×0.10
Certifications ×0.10
Languages ×0.10
Projects ×0.05
+3 Add "Docker" to skills
deterministic · no LLM
01 In production · API + web client

BuildCv

Product in production · .NET API + Next.js client

A CV scoring engine for job seekers. It scores a résumé against a specific job posting and explains every point: no LLM, no black boxes. ASP.NET Core API with a four-layer hexagonal architecture, Next.js client, both running in production.

  • API · ASP.NET Core (.NET 10) · Domain / Application / Infrastructure / Api layers · 68 endpoints · EF Core
  • Tests · 1,418 xUnit methods across 4 per-layer test projects · Testcontainers integration suite · zero skipped tests
  • Deterministic scoring · six weighted sections, no LLM · every recommendation re-runs the formula and reports the real delta, not an estimate
  • Infra · Azure Container Apps behind Cloudflare · ingress restricted to the edge · security headers re-verified against production after each deploy
C#.NET 10ASP.NET CoreEntity Framework CoreSQL ServerxUnitTestcontainersNext.jsTypeScriptPlaywrightDockerAzureCloudflare
shoppipai.com
NEW DROP
Modular monolith.
Ship fast.
Shop now →
POST /api/v1/orders → 201
02 Active development · 3 apps in production

Shoppipai

Enterprise E-Commerce · Full-Stack Monorepo · 3 apps

Full-stack product across 3 independent apps: Django backend (27 DDD modules · 20,927 tests · 91.34% coverage), React + Vite customer storefront and Next.js + shadcn multi-tenant staff dashboard. Saga + Outbox, Stripe/Wompi payments, DIAN invoicing and RAG semantic search.

  • Backend · Django 5.2 + DRF + Strawberry GraphQL · 27 DDD bounded contexts · hexagonal architecture · 20,927 tests at 91.34%
  • Storefront · Vite 7 + React 19 + TypeScript · MVVM + Adapter pattern · React Compiler · Playwright × 6 configs · Lighthouse CI
  • Dashboard · Next.js 16 + shadcn/ui + Tailwind v4 · multi-tenant via X-Tenant-Id · virtualised TanStack Table · Server Components
  • Cross-stack · shared OpenAPI contract · type-safe Orval SDK · Saga Pattern + Outbox · DIAN/Factus invoicing · pgvector RAG
Django 5.2DRFStrawberry GraphQLPostgreSQLpgvectorRedisCeleryVite 7React 19TypeScriptNext.js 16shadcn/uiTailwind v4Docker
View demo Read case study Private repository · 3 independent apps · stack and architecture documented
~/normadocs
$ normadocs build thesis.md
Reading thesis.md … ok
Applying APA template … ok
Generating cover, ToC, refs … ok
thesis.docx · 142 pages · 2.1 MB
✓ Built in 1.34s
$
03 Maintained

normadocs

Open Source · CLI

MIT-licensed CLI that converts Markdown into APA 7th edition and ICONTEC NTC 1486 academic documents in one command.

  • Auto-generated cover page, table of contents and bibliography
  • CLI and importable Python library with PEP 561 typing
  • Quality gates: lint, tests and security review in CI
Pythonpython-docxClickMIT
/docs · OpenAPI 3.1
GET /products 200
POST /cart/items 201
GET /cart 200
POST /orders 201
PATCH /orders/{id} 200
DELETE /cart/items/{id} 204
04 Open Source

ecommerce-api

REST API · Django 6 + DRF · type-safe

Production-grade e-commerce REST API with Redis caching, composite DB indexes, RBAC (anonymous/user/admin) and analytics endpoints. Strict mypy across the codebase with zero suppressions, 28 integration tests passing.

  • Type-safe: mypy strict across the codebase · zero `# type: ignore`
  • Redis caching with smart invalidation on writes (CachingMixin)
  • Composite database indexes on hot query paths (name+category, price+is_active)
  • django-filter integrated across all endpoints · admin-only Reports endpoint
Python 3.14Django 6.0DRFRedismypy strictdjango-filter
jobscolombia · v0.2.0
$ jobscolombia score --input jobs.csv
Loading 1,247 listings …
Detecting tech stack ▰▰▰▰▰
Excelente · 84 jobs
Bueno · 312 jobs
Regular · 540 jobs
Descartados: 311 (blacklist + low score)
jobs_scored_20260601.csv
$
pip install jobscolombia
05 Open Source · v0.2.0

JobsColombia

Python Library · Published on PyPI

Python library published on PyPI that scores, classifies and enriches tech job listings from the Colombian market. Relevance algorithm 0-100 based on stack, seniority and work modality.

  • Published on PyPI · `pip install jobscolombia` (v0.2.0, Hatchling build)
  • CI/CD with GitHub Actions · Codecov coverage · Ruff + mypy in pipeline
  • Relevance scoring 0-100 · classification Excellent/Good/Regular/Discarded
  • Automatic tech stack identification from job titles and descriptions
  • Standardised CSV export · company blacklist · configurable weights via env
Python 3.11+PyPIpandasscraplingHatchlingRuffmypyCodecovMIT
03 — Stack

Tools I use daily.

My core stack. I learn whatever the problem requires, but I know these deeply.

Languages
Python C# JavaScript / TypeScript SQL Bash
Backend
Django Django REST Framework FastAPI ASP.NET Core (.NET 10) Entity Framework Core Strawberry GraphQL Celery
Data
PostgreSQL MySQL / MariaDB pgvector Redis Meilisearch
Infra & Observability
Docker Kubernetes Linux GitHub Actions Azure Container Apps Cloudflare Sentry Prometheus OpenTelemetry
Frontend
Next.js React TypeScript Tailwind shadcn/ui
Testing
pytest xUnit Playwright Testcontainers
04 — Journey

From support to architecture.

Five years building systems and solving real problems in production.

  • 2021 — 2022 Tech Support & Systems CDA Automor 14 Calimax · Cali Adopted DevOps practices and wrote my first Python automation: log rotation, disk monitoring and automated backup policies.
  • 2022 — 2023 Inventory & Automation Analyst Tigo Colombia Custom Python apps that replaced manual Excel processes for inventory control across regional warehouses · ETL pipelines from legacy CRM and POS systems · Basic forecasting models for stock planning.
  • 2023 Python Developer & Tech Support American Telnet · Cali Python automation suite (pandas, requests, paramiko) and Selenium RPA. Middleware APIs between CCTV hardware and central platforms over HTTP/REST and WebSockets. SLA cut by 70%.
  • 2024 L2/L3 Support Analyst SIESA · Cali Resolved L2/L3 escalations on SIESA ERP/POS at enterprise clients: deep software-level debugging, commercial master setup, and server deployments. Practical foundation working with large systems running in real production.
  • 2025 Tech Support & Systems CDA La Luna · Cali Linux/Windows server administration + automated backup policies and security hardening. Infrastructure base that translates today into deploy and observability of backend systems.
  • 2025 — Present Backend Engineer — Shoppipai Independent · Cali Enterprise e-commerce architecture across 27 DDD modules with multi-tenant isolation, dual REST + GraphQL API (Django 5.2 / Strawberry), Stripe/Wompi integration, DIAN invoicing, semantic search via pgvector and Sentry/Prometheus observability.
05 — Contact

Want to build something serious?

Backend Developer based in Cali, Colombia · open to remote full-time roles, project contracts or architecture consulting. I work with Python, Django, FastAPI, GraphQL and DDD. I reply within 24 hours.