Skip to main contentSaltar al contenido principal
Andrés Morales

Track 03 · Web Development

Desarrollo Web con Next.js

Fast, accessible, type-safe web apps — from landing pages to AI-powered SaaS front-ends. Production-grade from day one.

BarrioTech (gps.andresmorales.com.co): landing page for the GPS street sellers platform I built and operate
9+

production sites shipped for clients across LATAM and the US

95+

average Lighthouse performance score across shipped projects

<200ms

TTFB on Next.js apps deployed on edge runtimes

BarrioTech (gps.andresmorales.com.co): live GPS street-sellers platform built with Next.js

Featured case

BarrioTech · live in production

A live GPS platform for street sellers in Cali — geolocation, product catalog, and admin dashboard, built end to end with Next.js, PostgreSQL and Prisma.

See the full case study →

What I build

Next.js & React

Server-rendered React with the App Router, React Server Components, route handlers and edge functions. Production-grade performance, not just demos.

Landing Pages

High-converting marketing pages with fast first paint, sharp copy, and CTAs wired to your CRM, email tool, or analytics stack.

Dashboards & Web Apps

Authenticated admin tools and dashboards with role-based access, tables, charts, and CSV/PDF exports. Built to scale beyond the first 100 users.

AI-Powered Features

Chat interfaces, agents, and tool-calling flows wired to OpenAI, Claude, or open-source models via streaming APIs.

Headless CMS Integration

Decoupled WordPress + Next.js, Sanity, Strapi, or Notion as your back office. Editors keep working; the front end stays fast.

Performance & SEO

Core Web Vitals in the green, structured data, sitemap, robots.txt and hreflang — the work that makes the site findable and fast on real networks.

How I work

Five steps, every project. The same rhythm whether the deliverable is a landing page or a full SaaS front-end.

01

Product, not brochure

I treat websites like products, not brochures. Performance, accessibility and SEO are baked in from the first commit — bolted on later is expensive.

02

Type-safe end-to-end

Type-safe end to end: TypeScript on the front end, validated payloads on every API route. Fewer runtime surprises, faster refactors.

03

Small reversible PRs

Ship in small, reversible PRs. Staging URLs on every push, analytics on every page, and rollback strategy before there’s a problem.

04

Data model first

I design the data model first. Forms, API routes and types stay in sync, which means features move fast and bugs stay rare.

05

Read before rewrite

When there’s existing code, I read it before I touch it. Refactors earn their place; rewrites don’t happen on a hunch.

My stack

  • Next.js 14 (App Router, Server Components, Route Handlers)
  • React 18+
  • TypeScript
  • Tailwind CSS
  • PostgreSQL + Prisma / Drizzle
  • NextAuth / Clerk
  • OpenAI / Anthropic / Ollama APIs
  • Vercel / Docker / self-hosted VPS

Frequently asked questions

Common questions about timelines, stacks, SEO, performance, and e-commerce pricing.

How long does a typical web development project take?

A marketing site ships in 2 to 4 weeks. An e-commerce build runs 4 to 8 weeks. A custom platform with integrations runs 8 to 16 weeks. These are realistic ranges for a single developer shipping end-to-end; the timeline extends when the design phase is still in flight or when there are multiple stakeholders reviewing the same surface.

What stack do you work with?

Next.js for the app layer, Postgres for the data layer, Vercel for the deployment layer, Stripe or Wompi for payments, and a headless CMS (Sanity, Contentful, or Strapi) when content is editor-owned. For e-commerce on LATAM, the storefront is usually Next.js + Medusa or a custom Next.js + Shopify Storefront. I pick the boring tool that fits the constraint, not the shiny one that fits the demo.

Do you only ship new sites, or do you also maintain existing ones?

Both. About 60% of the work is new builds; the rest is taking over an existing codebase, fixing performance, paying down technical debt, or adding a feature that the original team did not have time for. I do not take over a codebase I cannot read — if the existing code is too tangled to extend sensibly, the honest answer is a rewrite, not a band-aid.

How do you handle SEO and performance?

Both are non-negotiable defaults. Every site I ship lands at PageSpeed 100 across the board on desktop (and in the 90s on mobile) and ships with structured data, hreflang tags, sitemap, and the metadata a content editor actually needs. Performance is built in at the architecture level (Next.js App Router, image optimization, font subsetting) rather than bolted on later.

What does a typical e-commerce build cost?

A single-region Shopify or Medusa storefront with 1 to 50 SKUs and one payment gateway lands between $2,000 and $8,000 USD. Multi-region with multiple currencies and gateways lands between $8,000 and $20,000. Custom checkout, loyalty, or subscription logic adds another layer. The scoping call locks the line items before work starts.

Do you build the design too, or do you take Figma files from a designer?

Both. About half the projects I take a Figma from a designer the client hired separately; about half I design myself, either from scratch or from a rough sketch in Miro. When I design, you get a Figma file you own and can hand to anyone; when I take a Figma, I push back early on anything I think will break in code.

Desbloqueemos juntos lo que tu negocio puede dar

¿Listo para dejar de hacer a mano lo que podrías automatizar en segundos? Mapeemos tu primer flujo.

Agenda una llamada de estrategia gratis
Automatización IA · UI/UX · Producción

Haz la cosa.Sin boilerplate.

Estudio independiente desde Cali. Flujos de automatización, UI hecha a mano y web end-to-end — para equipos que prefieren tenerlo listo a discutirlo.

Hablemos
2,014Fundado en 2014

Del brief al deploy, el estudio mantiene todo en un solo lugar: alcance, diseño, construcción, entrega. Los briefs llegan al escritorio, los entregables al cliente.

Andrés Morales

Agenda una llamada de 30 mino envíame un brief