Desarrollo web en Marruecos

El desarrollo web aquí es un sitio público o un producto autenticado que un equipo puede operar: contenido, cuentas, APIs y un deploy que no vive en un portátil.

Desde Tánger construyo sitios de marketing cuando necesitan volverse aplicaciones, y aplicaciones cuando necesitan una cara pública. La pila suele ser Laravel o Node para el backend y React con TypeScript para la interfaz.

Si solo necesitas una página estática sin producto detrás, lo diré. Los encargos útiles son los que tienen un flujo de trabajo, no solo una portada.

Bright Coding es esta forma aplicada a la publicación en vez de a un dashboard de producto: una plataforma Laravel con categorías, RSS y una familia de herramientas enlazadas, construida para que un artículo y la herramienta a la que hace referencia queden a un clic de distancia en vez de vivir en sitios separados y sin relación.

El rendimiento y el SEO son parte de la construcción, no un paso aparte al final — páginas renderizadas en servidor donde eso ayuda al descubrimiento, y un pipeline de despliegue que no requiere tocar un portátil para publicar un cambio.

Problemas de negocio

  • Un folleto que no puede crecer a cuentas, APIs u operación, así que el día que el negocio necesita un login o un portal de cliente, el sitio se reemplaza en vez de extenderse.
  • Un CMS estirado más allá de para lo que se compró, con campos personalizados y plugins que tapan un comportamiento para el que la plataforma nunca se diseñó.
  • Un sitio de marketing y el producto al que enlaza corren en pilas completamente distintas sin design system compartido, así que la marca parece dos empresas diferentes según en qué página aterrices.
  • Contenido que solo puede actualizar un desarrollador, así que un simple cambio de texto espera en un backlog detrás de trabajo real de funcionalidades.
  • Un sitio que se ve bien en el portátil del desarrollador y se rompe en los teléfonos reales que usa la mayoría de los visitantes, porque nunca se probó en dispositivos reales.
  • Ningún proceso para lo que pasa cuando una página da 404 o un formulario falla, así que un enlace roto o un envío fallido simplemente da la impresión de que el sitio está roto.
  • Un rediseño que mantiene la misma arquitectura de información rota bajo una capa de pintura nueva, así que el sitio se ve distinto pero los visitantes siguen sin encontrar lo que buscaban.

Proceso de desarrollo

  1. Decidir si la superficie es un sitio, un producto o ambos — luego Laravel/React, en vez de forzar cada proyecto por la misma plantilla.
  2. Entregar algo operable: entornos, copias de seguridad, alguien que pueda desplegar, para que el sitio no dependa de un portátil encendido para estar en vivo.
  3. Compartir un design system entre el sitio de marketing y el producto cuando comparten marca, para que la transición de uno a otro no se sienta como una empresa distinta.
  4. Separar el contenido que alguien sin perfil técnico debería poder editar de la lógica que no debería ser editable, para que un cambio de texto no requiera un deploy.
  5. Probar en dispositivos reales dentro del rango que los visitantes realmente usan, no solo una ventana de navegador redimensionada, ya que ahí es donde aparecen la mayoría de los bugs de layout reales.
  6. Diseñar estados de error y vacíos reales — una página 404, un formulario fallido — como parte del build, no un añadido descubierto cuando algo se rompe en producción.

Qué obtienes

  • Un sitio que puede volverse aplicación sin reescribir, porque la decisión de arquitectura se tomó desde el principio y no se descubrió demasiado tarde.
  • Contenido y lógica de producto separados con suficiente claridad para que una actualización de marketing no requiera que un desarrollador toque el código.
  • Una experiencia de marca coherente desde la portada hasta el producto autenticado, en vez de una costura visible entre ambos.
  • Los equipos de marketing y contenido pueden actualizar textos sin esperar a ingeniería, porque contenido y código están correctamente separados.
  • Un sitio que funciona en los teléfonos y conexiones reales de los visitantes, no solo en el portátil del desarrollador y el wifi rápido de la oficina.
  • Enlaces rotos y formularios fallidos que parecen intencionados y recuperables, en vez de parecer la prueba de que el sitio está roto.
  • Un único deploy que actualiza tanto el texto de marketing como el producto al que enlaza, cuando comparten infraestructura, en vez de dos procesos de release separados que se desincronizan.

Proyectos seleccionados

FAQ

Do you build WordPress sites?

I do not specialise in WordPress themes. If the site has to become a product — accounts, APIs, SaaS — I build it in Laravel and React instead of stretching a CMS past its job.

Can you redesign an existing website?

Yes, when the goal is a maintainable codebase and a clearer information architecture — not a visual refresh that leaves the same operational problems underneath.

Empezar un proyecto →