Quizás quieras crear tu propia herramienta SEO, o de cualquier otra cosa, pero te enfrentas a un obstáculo: no sabes programar. Podrías pensar que es totalmente imposible hacerlo sin conocimientos de programación. En este artículo verás que, con ayuda de la inteligencia artificial, no sólo puedes crear tu propia aplicación personalizada para mejorar el SEO de tus proyectos, sino que en el proceso puedes aprender a programar.

Si te dedicas al marketing online te darás cuenta que no existe la herramienta que se ajuste perfectamente a tu caso de uso, entonces, ¿por qué no construir la tuya propia?

A lo largo de este artículo veremos, paso a paso, cómo crear una herramienta que nos ayude a crear los títulos optimizados para el SEO de nuestros artículos.

Lo haremos usando Flask, un framework de Python. Repito, no te asustes si no sabes programar verás que no hace falta. Eso sí, para seguir el tutorial, hará falta que te manejes sin miedo por la terminal de tu ordenador.

Pero antes, os pongo en antecedentes, me llamo Óscar, no sé programar y os voy a enseñar cómo he creado mi propia herramienta para crear títulos atractivos con Flask, un framework de Python.

Me dedico a generar ingresos gracias al marketing de afiliación desde hace más de 15 años. Para conseguirlo he creado muchas webs, al principio con Drupal y desde hace unos años con WordPress. Aunque he creado muchas webs, siempre he tenido la sensación de que si hubiera sabido programar podía haber creado mejores proyectos.

Todas mis webs siempre han sido informativas, es decir, blogs y portales de noticias. Pero siempre quise crear webs con más valor, webs en las que resolviera problemas concretos para mi audiencia, como por ejemplo, comparadores de precios en tiempo real o crear mis propias herramientas de estudio de palabras clave.

Por lo que he de confesar que siempre he tenido una espinita clavada: aprender a programar.

Hasta ahora, conocía 2 formas de hacer aplicaciones:

  • Code (Programando)
  • NoCode (Utilizando herramientas NoCode)

Code

Si sabes programar en PHP, Javascript o Python, entre otros, puedes hacer una web o aplicación sin mayor problema.

Pero siempre que he intentado aprender a programar lo he dejado. A veces, porque un proyecto más urgente se ha cruzado en mi camino, otras veces porque no sentía que avanzara lo suficientemente rápido, el caso es que siempre que me he propuesto aprender a programar he fracasado.

NoCode

Si no sabes programar, lo puedes hacer con alguna de las muchas herramientas NoCode del mercado. Ya hemos hablado de algunas herramientas NoCode como WordPress o Drupal, pero hay muchas más. WordPress es una herramienta NoCode maravillosa para hacer webs pero si quieres crear tu propia aplicación o herramienta a partir de WordPress es muy probable que tengas que programar.Hay otro tipo de herramientas NoCode enfocadas a crear aplicaciones como puede ser el caso de Bubble.

Pero con las herramientas NoCode enfocadas en crear aplicaciones avanzadas tengo un problema y es que creo que el nombre de NoCode genera confusión.

NoCode no significa que no tengas que programar, significa que no tienes que codificar.

Es decir, te quita el trabajo de aprender la sintaxis de un lenguaje de programación pero no te quita el trabajo de crear la lógica del programa. Y en mi humilde opinión, si tienes que aprender a crear la lógica del programa estás a un paso de aprender a programar. Otro problema asociado a crear una aplicación con herramientas NoCode es que siempre estarás mucho más limitado que si haces tu aplicación con programación. Pero como decía un poco más arriba, “hasta ahora conocía dos formas de hacer aplicaciones”. Pero esto ha cambiado, desde la aparición de la inteligencia artificial hay una tercera forma de hacer aplicaciones:

Decirle a la IA que haga el código por ti.

Code Con IA

No vi venir que el NoCode sería pedir Code a la Inteligencia Artificial.

Una nueva forma de aprender programación

Aunque gracias a WordPress he sido capaz de crear un sinfín de proyectos online, siempre he creído que saber programar es como tener superpoderes.

Y es aquí donde la IA es increíble para aprender a programar. Cómo puedes pedirle a la IA que te haga el código para tu proyecto real, la sensación de avanzar es increíble, porque aprendes mientras ves resultados a corto plazo. Soy consciente de que aprender a programar de esta forma puede no ser lo más óptimo a largo plazo ya que no conocer bien la teoría te va a pasar factura más adelante, sin embargo, al ver resultados tan rápidos, tu motivación por aprender a programar se va a disparar y aprender la teoría es menos doloroso.

En este tutorial vamos a ver cómo he creado una herramienta SEO con IA y Flask, y todo ello sin saber programar.

Desventajas de crear Aplicaciones con Ayuda de la IA

En este tutorial veremos cómo somos capaces de crear una aplicación con ayuda de ChatGPT pero hay ciertas consideraciones importantes que tenemos que tener en cuenta:

  • La IA puede generar código inseguro por lo que solo recomiendo hacerlo para aprender a programar.
  • El programa puede que no esté bien optimizado y consuma demasiados recursos o dé problemas y dificulte su mantenimiento.
  • Si no comprendes tu propio programa, tendrás problemas para hacer cualquier cambio posterior, por fácil que sea.

Crear mi propia herramienta SEO

Espero que seáis indulgentes con los errores que cometa. Soy plenamente consciente de que aprender ‘a programar de verdad’ está muy lejos de lo que hago en este artículo, pero espero que os pueda contagiar las ganas de aprender, tal como me ha pasado a mí.

En mi trabajo diario, como experto de marketing de afiliación, siempre he querido tener herramientas personalizadas con mis necesidades concretas.  A continuación vamos a ver cómo, ahora, soy capaz de hacerlas.

En este tutorial os voy a enseñar cómo hacer una app en la que, añadiendo una palabra clave, la aplicación me devuelve un título para crear un artículo optimizado para el SEO, teniendo en cuenta los 10 primeros artículos bien posicionados en Google.

El código completo de la aplicación que haremos lo tienes disponible en GitHub. Aquí puedes ver como se verá la aplicación.

Formulario para crear el Titular:

Captura de pantalla del formulario de la aplicación para Generar Títulos SEO
Formulario de la aplicación para Generar Títulos SEO

Una vez que añadamos un palabra clave y hagamos clic en el botón «Crear Titular«, tendremos una nube de tags de las palabras más usadas en los títulos de los 10 primeros resultados de Google.

En este caso, la palabra clave que he elegido es “Notion vs Obsidian” y esta es la nube de tags generada:

Captura de pantalla de la nube de tags generada
Nube de tags generada con nuestra Aplicación

Y más abajo, el titular generado con IA basándose en la información de los 10 primeros resultados de Google y en la palabra clave añadida en el formulario:

Captura de pantalla del resultado que devuelve nuestro programa. En la parte de arriba de la image está el titular generado y abajo las palabras clave más repetidas y los títulos de los 10 primeros resultados de Google

Más allá del caso concreto que vamos a construir, lo que quiero transmitir con este tutorial es que puedes crear casi cualquier herramienta que seas capaz de imaginar y en el proceso, aprender a programar.

Creo que la IA nos va a convertir en ‘jefes’ de un ejército de ‘juniors’, que son las inteligencias artificiales (IAs).

Y recuerda, cuánto más sepas de una materia en concreto, más jugo le vas a sacar a la IA.

Prerrequisitos

Ya he comentado que no sé programar, pero es cierto que tengo amplios conocimientos en tecnología y como he intentando aprender a programar varias veces, me muevo razonablemente bien por la terminal, y lo más importante, soy un fenómeno copiando y pegando código.

La aplicación que vamos a construir, la vamos a hacer en Flask, que es un framework de Python. Aunque no sepas programar, es necesario que tengas instalado Python en tu ordenador y que hayas “jugado” alguna vez con él. De otra forma se te puede hacer muy cuesta arriba el tutorial.

Las herramientas que vas a necesitar para poder replicar este tutorial son:

  • ChatGPT 4: Aunque, seguramente, es posible crear la aplicación con ChatGPT 3.5 (el gratuito), se equivocará mucho más que ChatGPT 4 y te costará más trabajo.
  • API de DataForSEO: Utilizaremos el API de DataForSEO para conseguir los 10 primeros resultados de Google. Tiene versión gratuita y te regalan 1$ para probarla. Como cada llamada al API vale pocos céntimos, el dólar que nos regalan nos va a durar para realizar muchas pruebas.
  • API de OpenAI: Para generar nuestro titular vamos a usar el API de OpenAI. Aunque es de pago, si solo la usas para el tutorial, gastarás muy pocos céntimos.

Lo que hará nuestra herramienta es lo siguiente:

  • Recoger la búsqueda que hace el usuario en el formulario.
  • Enviar la búsqueda al API de DataForSEO para que nos devuelva los títulos de los 10 primeros resultados de Google
  • Enviar los títulos de los 10 primeros resultados de Google al API de OpenAI para que nos genere un título basado en la información de los 10 primeros resultados en Google y en las indicaciones que le demos en el formulario de entrada.

Creando nuestra aplicación con ChatGPT

Divide el problema

La inteligencia artificial es muy buena, pero no tanto como imaginamos; por lo que lo primero que tenemos que hacer es dividir el problema que queremos solucionar en tantas partes como podamos.

Como expliqué más arriba, nuestro programa necesita lo siguiente:

1. Crear un formulario:

Lo primero que necesitamos es crear un formulario con un campo de texto y un botón. Este problema es tan pequeño y tan fácil para la IA que no requiere que se lo pidamos por separado.

2. Conectarse con el API de DataForSEO

Necesitamos conectarnos a la API de DataForSEO para recibir los 10 primeros resultados de Google, con respecto a la palabra clave que el usuario añada en el formulario.

Este problema es más complicado que crear un formulario, por lo que se lo pediremos a la IA de forma aislada y solo cuando tengamos solventado este problema añadiremos el siguiente.

3. Conectarse con el API de OpenAI

Una vez obtenidos los datos de DataForSEO, se los tenemos que pasar al API de OpenAI para que nos devuelva nuestro titular generado con inteligencia artificial.

Estudio de las APIs a Utilizar

Como has podido ver en el listado anterior de herramientas que usaremos en este tutorial, hay varias APIs (DATAForSEO y OpenAI).

Las APIs nos permiten conectarnos a funcionalidades de terceros y usarlas dentro de nuestras propias aplicaciones; por lo tanto tendremos que llamarlas desde nuestra propia aplicación para que nos dé la información que necesitamos.

DataForSEO tiene una zona de pruebas (playground) que te permite interactuar con su api y aprender a usarla correctamente:

Captura de pantalla del Playground de la API de DataForSeo
Playground de la API de DataForSeo

A la derecha de la imagen, podemos ver el formato que tiene la devolución de la llamada a su API.

Además, en la parte de abajo, puedes ver el botón “Code Example”. Al hacer clic en este botón iremos a la siguiente pantalla:

Captura de pantalla de código de ejemplo de la API de DataForSEO con un desplegable para cambiar el lenguaje de programación
Código de ejemplo de la API de DataForSEO con un desplegable para cambiar el lenguaje de programación

A la derecha de la imagen puedes elegir en qué lenguaje de programación quieres el ejemplo de uso de su API y en el medio de la imagen puedes añadir tus credenciales para que funcione la API.

Tus credenciales los puedes encontrar en el menú lateral izquierdo, debajo de API SettingsAPI access:

Captura de pantalla de la configuración de los credenciales de la API de DataForSEO
Configuración de los credenciales de la API de DataForSEO

Preguntar a ChatGPT cómo crear un formulario y cómo conectarse con la API de DataForSEO

Lo primero que hago es preguntarle a ChatGPT cómo crear el formulario y cómo puedo llamar a la API de DataForSEO. Para ello, le doy la información que me proporciona la documentación de DataForSEO y que te he enseñado más arriba.

El prompt concreto que uso es el siguiente:

“Puedes crearme una aplicación flask en la que haya una caja de texto donde el usuario escribe su búsqueda (en el ejemplo era notion vs obsidian) y que aparezca el resultado de vuelta bien maquetado en una tabla?“

Además del prompt, le paso el código de ejemplo que me da DataForSEO y le paso el formato de la salida en la que la API de DataForSEO devuelve la información:

Captura de pantalla de ChatGPT con el prompt para crear una aplicación flask con una llamada a la API de DataForSEO
Prompt para crear una aplicación flask con una llamada a la API de DataForSEO

A mi pregunta, ChatGPT responde:

Captura de pantalla de la respuesta de ChatGPT para crear una aplicación flask con una llamada a la API de DataForSEO
Respuesta de ChatGPT para crear una aplicación flask con una llamada a la API de DataForSEO

Lo primero que nos dice ChatGPT es que tenemos que instalar Flask. En Python, instalamos las librerías necesarias con una herramienta llamada PIP, la cual también tenemos que tener instalada en nuestro ordenador.

ChatGPT me da un código, pero como buen novato que soy, no sé qué hacer con él, por lo que se lo pregunto a ChatGPT sin ninguna vergüenza.

Captura de pantalla de ChatGPT en la que le pregunto como ejecutar una aplicación hecha en Flask
Pregunto a ChatGPT como ejecutar una aplicación hecha en Flask

Y ChatGPT me va respondiendo paso a paso como tengo que ejecutarlo. Sigo todo el proceso y me encuentro con el primer problema, el programa no funciona.

Copio el error y se lo pego a ChatGPT:

Captura de pantalla de ChatGPT en la que le pego un error del código generado en Python

El error se soluciona y me sale otro error.

Captura de pantalla de ChatGPT con un error que arroja un programa hecho en Python

ChatGPT me vuelve a dar la solución:

Captura de pantalla en la que se puede ver como ChatGPT ayuda a solucionar un error de un programa hecho en Python

Y por fin, tengo la primera funcionalidad sin errores:

Captura de pantalla con el texto

Nuestra aplicación, aunque todavía sin diseño, ya tiene un formulario y es capaz de interactuar con el API de DataForSEO, es decir, ya tenemos la primera funcionalidad.

Aquí puedes ver nuestro rudimentario funcionario:

Captura de pantalla de un navegador web con un formulario con una caja de texto que pone 'notion vs obsidian' y un botón con el texto 'Search'

De momento, no nos preocupamos por su apariencia, ya veremos cómo resolverlo más adelante.

Y aquí puedes ver lo que pasa cuando un usuario añade una palabra clave y hace clic en buscar:

Captura de pantalla de un navegador con una tabla con los primeros resultados de google de la búsqueda de la palabra clave 'notion vs obsidian'

Preguntar a ChatGPT cómo Conectarse con el API de OpenAI

Ahora que ya tenemos la primera parte de nuestra aplicación, sigo el mismo procedimiento que he seguido para conectarme a la API de DataForSEO para conectarme al API de OpenAI:

Captura de pantalla de ChatGPT preguntándole como crear una aplicación en flask para crear un título a partir de los 10 primeros resultados de Google

Como puedes ver en la captura, le digo a ChatGPT que solo quiero que recoja los 10 primeros resultados de Google y que no hace falta que me devuelva todas las columnas, ya que solo necesito la columna title.

Como este paso es muy fácil, le pido la segunda parte de la funcionalidad de nuestra herramienta. Le explico que necesito que me genere un título basado en la búsqueda del usuario y en los 10 primeros resultados que están bien posicionados en Google.

Y ChatGPT me responde:

Captura de pantalla en la que ChatGPT responde como crear una funcionalidad en Flask para crear llamar a la API de OpenAI
ChatGPT nos ayuda a crear una funcionalidad en Flask para crear una llamada a la API de OpenAI

Al igual que me pasó anteriormente, el código que me proporciona ChatGPT no me funciona a la primera y de nuevo le paso los errores que me arroja el programa hasta que me funciona.

No os voy a pasar todas las capturas de cada resolución de cada error, ya que ChatGPT responde distinto cada vez que le preguntas y los errores que me da a mí, muy posiblemente, sean distintos a los que os pueda dar a vosotros

Lo que sí voy a hacer es comentaros algunos de los errores más importantes, los cuales creo que también os pueden dar a vosotros.

Problema con las Credenciales de las APIs

Para conectarte a las APIs, tienes que usar tus credenciales de seguridad, credenciales que no debes compartir con nadie.

Si vas a usar tu aplicación para ti solo, en un ordenador local, puedes añadir las credenciales en el propio script, aunque no te lo recomiendo ya que si compartes el script con alguien puedes comprometer tu seguridad.

Pero si vas a subir tu programa a internet, no solo te recomiendo evitar añadir las credenciales al script, es más, es obligatorio no hacerlo, ya que si no, cualquiera podría verlas y comprometer tu seguridad.

Cada servidor gestiona de forma distinta las credenciales, por ejemplo, en Kinsta tienes la posibilidad de añadir las credenciales como variables de entorno desde el escritorio de MyKinsta.

De esta forma, las credenciales no se pueden ver en el código.

Problemas con la Versión de la API de OpenAI

Es curioso, pero ChatGPT me dio menos problemas al crear el código de conexión a la API de DataForSEO que al crear el código de conexión a la API de OpenAI.

El problema con el que me he encontrado es que la API de OpenAI ha sido actualizada y los conocimientos de ChatGPT estaban obsoletos. Para resolver el problema, le he pasado un ejemplo actualizado de la documentación de la API de OpenAI:

Captura de pantalla de ChatGPT en el que le paso un código en Python que me da error para que me ayude

Últimos retoques

Llegados a este punto, ya tenemos la funcionalidad principal de nuestro programa y solo nos falta pulir algunos pequeños detalles para dejarlo a nuestro gusto. Podríamos conformarnos con la funcionalidad que hemos desarrollado, pero vas a ver que con un poco de imaginación podemos llevar nuestra aplicación a otro nivel.

CSS para que se vea más atractivo

Aunque el programa funciona perfectamente, el aspecto de la aplicación es muy pobre, ya que no le hemos aplicado estilos CSS.

¿Cómo vamos a mejorar el aspecto de nuestra aplicación? Pues pidiéndoselo a ChatGPT:

Captura de pantalla de ChatGPT en la que le preguntamos como mejorar la maquetación de nuestra aplicación

Y con su amabilidad de siempre, me responde de forma eficiente:

Captura de pantalla de ChatGPT en la que nos ayuda a mejorar la maquetación de nuestra aplicación de Flask
ChatGPT nos ayuda a mejorar la maquetación de nuestra aplicación de Flask

Llegados a este punto, ya tengo un programa que se ve bien y que hace lo que yo había pensado, pero podemos seguir iterando para mejorarlo.

Para ello, le pido a ChatGPT que inicie una tormenta de ideas para mejorarlo:

Captura de pantalla en la que se le pide a ChatGPT ideas para mejorar el programa

Y nuestro amigo ChatGPT nos da un montón de buenas ideas:

Captura de pantalla de Chatgpt con 6 ideas para mejorar la herramienta de sugerencia de artículos SEO

De las ideas que me proporciona ChatGPT me gusta la 2ª idea:

Análisis de Palabras Clave:

Implementar una funcionalidad que analice las palabras clave más comunes en los títulos recogidos y las muestre al usuario, proporcionando insights sobre qué términos son actualmente populares o tendencias en su nicho.

Por lo que le pido que lo desarrolle:

Captura de pantalla de ChatGPT en la que le pido que desarrolle una funcionalidad para que analice las palabras clave más comunes en los títulos.

Esta funcionalidad va a consistir en un listado con las palabras más usadas en los titulares de las páginas que están bien posicionadas en Google. Como puedes imaginar, ChatGPT me crea la funcionalidad y funciona perfectamente.

Se me ocurre que podría quedar muy bien no solo recibir el listado, sino también una nube de tags con las palabras más usadas.

Captura de pantalla en la que pregunto a ChatGPT como añadir una nube de tags a nuestro programa hecho con Flask

El resultado de las nube de tags no me convence y se lo digo:

Captura de pantalla en la que pido a ChatGPT como mejorar la nube de tags generada y en el que ChatGPT responde como hacerlo

Aquí puedes ver resultado definitivo de la nube de tags:

Captura de pantalla una nube de tags con varias palabras de colores. Algunas de las palabras son: 'Notion', 'obsidian', 'youtube', 'comparison'
Nube de tags con varias palabras de colores

Añadir opciones de personalización en el formulario

Me gustó otra de las ideas que me dio ChatGPT:

Opciones de Personalización del Usuario:

Permitir a los usuarios configurar preferencias para las sugerencias de títulos, como enfocarse en ciertos tipos de palabras clave, ajustar la longitud del título, o priorizar ciertos aspectos SEO.

Me parece buena idea que el usuario tenga mayor control sobre la generación del titular, por lo que le pido que lo desarrolle.

Una cosa que hago cada cierto tiempo es pasarle a ChatGPT todo el código que he generado hasta el momento, para que mantenga dentro del contexto el código que va generando y así no ‘se olvide’ de él:

Captura de pantalla en la que le pido a ChatGPT que añada a la funcionalidad del programa opciones de personalización del usuario

Y su respuesta está dividida en 2 partes:

Cambiar el formulario

Captura de pantalla en la que ChatGPT agrega opciones de personalización del usuario a un formulario de HTML

Y cambiar la lógica del programa

Captura de pantalla en la que ChatGPT explica como modificar la lógica de backend de un programa desarrollado en Flask

Tras solucionar un par de errores con la ayuda de ChatGPT, conseguimos añadir la nueva funcionalidad.

Mejora Final

Como ChatGPT4 es capaz de interpretar imágenes, hago una captura de pantalla del programa para que ChatGPT ‘vea’ el resultado final y le pido si podemos mejorar la maquetación y el orden de cada funcionalidad:

Captura de pantalla en la que pregunto a ChatGPT como mejorar la maquetación de la herramienta. En la imagen se puede ver también la captura de pantalla del programa que quiero mejorar

Y tras un par de conversaciones adicionales con ChatGPT, en las que le comenté que me gustaría añadir un poco de color a la nube de tags y algunas columnas para maquetar cada sección de la aplicación, llegamos al resultado final:

Captura de pantalla del programa Generador de Títulos SEO en la que se puede ver un formulario, una nube de tags, el título generado, palabras clave y los títulos en los que está basado el título generado
Captura de pantalla del Programa Desarrollado

Como puedes ver, el resultado es muy bueno, considerando que no sé programar y que he podido crear un programa totalmente a mi gusto. De hecho, el resultado final es mejor que las expectativas que tenía al empezar.

El programa funciona perfectamente instalado localmente en mi ordenador; sin embargo, si quiero que sea accesible desde internet, necesito subirlo a un servidor.

Como desplegar la aplicación con Kinsta

Como este tutorial trata sobre cómo crear una app sin saber programar, voy a usar un atajo para desplegarla con Kinsta. Para hacerlo más fácil y rápido, utilizaré como base este código de ejemplo de Kinsta.

Pero si quieres aprender a desplegar una aplicación de Flask en Kinsta desde cero, aquí tienes un tutorial profundo de como hacerlo.

Pasos Previos

Para poder alojar tu aplicación con Kinsta necesitas:

Clonar el Proyecto demo de Kinsta

Kinsta tiene un proyecto de Flask listo para usar. Dado que nuestro proyecto es muy sencillo, podemos tomar como base el proyecto demo de Kinsta y luego añadir nuestra propia programación.

Para ello, tienes que ir al repositorio del proyecto de Flask demo de Kinsta, hacer clic en el botón “Use this template” y en el desplegable que sale elegir “Create a new repository”.

Captura de pantalla de la pantalla del repositorio hello-world-flask de Kinsta
Repositorio hello-world-flask de Kinsta

En la siguiente pantalla tenemos que darle un nombre y elegir si el repositorio es público o privado, en mi caso elijo privado:

Captura de pantalla de la creación de un nuevo repositorio en Github basado en el repositorio de Kinsta hello-world-flask

Ahora, ya tenemos una copia del repositorio demo de Flask de Kinsta en nuestro repositorio de Github.

Habitualmente, te recomendaría clonar el repositorio en tu máquina local para trabajar de manera más cómoda y profesional. Sin embargo, asumo que si estás viendo este tutorial, es posible que no estés familiarizado con herramientas como Git. Por eso, optaré por un método más sencillo, aunque menos profesional.

Si quieres ver cómo trabajar con Git de forma más avanzada aquí tienes un magnífico tutorial.

Cómo estaba diciendo, ya tenemos el proyecto demo en nuestra cuenta de GitHub:

Captura de pantalla del repositorio desplegar-seo-app-kinsta en Github

Del proyecto demo de Flask de Kinsta, tenemos que modificar 2 ficheros con los datos de nuestro proyecto. Concretamente tenemos que modificar los ficheros, requirements.txt que está en el raíz de nuestro repositorio y main.py que está dentro de la carpeta helloworld.

Fichero requirements.txt

En este fichero, tenemos que añadir las librerías que necesita nuestra aplicación para funcionar. Como hemos usado un repositorio preparado por Kinsta ya vienen algunas librerías necesarias, sólo tenemos que añadir aquellas que hemos instalado en nuestro programa.

Para saber qué librerías tenemos instaladas en nuestro programa,  podemos usar el comando de terminal «pip freeze«.

Otra forma sería revisar nuestra conversación con ChatGPT y ver qué librerías hemos instalado durante el proceso de desarrollo de nuestra aplicación. Sabrás cuándo ChatGPT nos ha dicho que instalemos una librería cada vez que veas el comando «pip install nombre-librería

Para añadir las librerías al fichero requirements.txt, hacemos clic en el fichero requirements.txt en Github y a la derecha veremos el icono de un lapicero. Si hacemos clic en el lapicero podremos editar el fichero:

Captura de pantalla de la edición del fichero requirements.txt en Github

Como podemos observar, ya hay librerías dentro del fichero, por lo que añadimos las que necesitamos y cambiamos las versiones de las librerías existentes, para que no me de problemas posteriormente, ya que mi programa necesita usar una versión de Flask más moderna:

Captura de pantalla de las librerías añadidas al fichero requirements.txt en GitHub

A la derecha hay un botón verde que pone “Commit changes” hacemos clic y nos sale la siguiente pantalla:

Captura de pantalla en la que hacemos un Commit con el mensaje 'nuevas librerías en requirements.txt' en GitHub

Ponemos el mensaje que queramos sobre el cambio que hemos hecho en el fichero. Cuanto más explícito seas, mejor te vendrá en el futuro si quieres ver los cambios que has hecho en tu aplicación.

Hacemos clic en el botón verde de abajo “Commit changes”.

Fichero main.py

Ahora, hacemos lo mismo con el archivo main.py, el cual está dentro de la carpeta helloworld. Tenemos que cambiar todo el contenido del fichero por el contenido de nuestro programa creado con ayuda de ChatGPT.

Una vez hecho, el fichero tendrá una apariencia como la siguiente:

Captura de pantalla del contenido del archivo main.py en GitHub
Contenido del archivo main.py en GitHub

Desplegar en Kinsta el Proyecto de Github

Para poder desplegar el proyecto en Kinsta necesitas tener una cuenta de Kinsta y añadir tu forma de pago preferida.

Las buenas noticias son que te regalamos 20$ para que puedas probarlo gratis y sin compromiso.

Una vez que tienes tu cuenta configurada, dentro de MyKinsta, haces clic en Aplicaciones en el menú lateral y te encuentras con la pantalla para iniciar el despliegue, y el aviso que te regalamos 20$.

Captura de pantalla del Escritorio de MyKinsta con el mensaje 'Despliega tu primera aplicación en minutos'
Escritorio de MyKinsta con el mensaje ‘Despliega tu primera aplicación en minutos’

Hacemos clic en Desplegar ahora y nos encontramos con esta pantalla:

Captura de pantalla dentro de MyKinsta en la que elegimos los detalles del repositorio para añadir una aplicación

Si todavía no tenemos conectado Github con nuestra cuenta de MyKinsta lo hacemos y vamos rellenado los siguientes campos:

  • Repositorio GitHub: Buscamos el repositorio que hemos creado en GitHub y si queremos que cada vez que se modifique el código del programa se actualice la aplicación en Kinsta marcamos el check “Despliegue automático en commit”.
  • Nombre de Aplicación: Podemos poner el nombre que queramos.
  • Ubicación del centro de datos: Pondremos un centro de datos que esté cerca de nosotros o cerca de tus usuarios, en mi caso en Europa.
  • Variables de Entorno: Tal como hablamos a lo largo del tutorial, es una mala práctica poner las contraseñas o credenciales en la propia programación de la aplicación, para ello se usan las variables de entorno.

En el caso de la aplicación que hemos creado necesitamos añadir 3 variables de entorno con sus respectivas contraseñas.

Lo hacemos de la siguiente forma:

  • Clave 1: OPENAI_API_KEY
  • Valor 1: “Tu API Key de OpenAI”

 

  • Clave 2: DATAFORSEO_USERNAME
  • Valor 2: “Tu email de DataForSEO”

 

  • Clave 3: DATAFORSEO_PASSWORD
  • Valor 3: “Tu contraseña de DataForSEO”

Hacemos clic en Continuar y en la siguiente pantalla elegimos los recursos para el entorno de construcción y el resto lo dejamos como está por defecto:

Captura de pantalla dentro de MyKinsta con las opciones del entorno de construcción para crear una aplicación

Hacemos clic en Continuar y en la siguiente pantalla dejamos las opciones como están por defecto.

En el tamaño del pod elegimos la potencia que necesitamos según nuestra aplicación:

Captura de pantalla dentro de MyKinsta con las opciones de los recursos para nuestra aplicación

Hacemos clic en continuar y nos aparece la pantalla resumen con el coste estimado mensual, la forma de pago seleccionada y el aviso que te regalamos 20$ para que puedas probarlo sin coste.

Captura de pantalla con el resumen de facturación cuando añadimos una aplicación en MyKinsta

Y listo, ahora solo tenemos que esperar hasta que el Despliegue termine, puede tardar unos minutos.

Mientras se despliega, verás una pantalla como la siguiente:

Captura de pantalla del log mientras se despliega una aplicación en Kinsta
Log mientras se despliega una aplicación en Kinsta

Cuando termine, verás un check verde que te indicará que todo ha salido bien y que puedes empezar a usar la aplicación.

Captura de pantalla con la finalización del despligue de una aplicación en Kinsta con un check verde

Kinsta, nos proporciona una URL para poder usar nuestra aplicación desde el momento que termina de desplegarse, a la que puedes acceder desde el botón de la derecha “Visita la App”.

Si has llegado hasta aquí, enhorabuena, has sido capaz de programar tu propia herramienta para generar títulos atractivos.

Captura de pantalla del resultado de la aplicación desarrollada y desplegada
Resultado final de la aplicación desarrollada y desplegada

Resumen

Como hemos visto, la inteligencia artificial es una herramienta de gran ayuda para poder transformar tus ideas en aplicaciones reales.

A lo largo de este tutorial hemos creado una aplicación utilizando el framework Flask de Python, diseñada para generar títulos optimizados para el SEO. Para ello hemos utilizado APIs, generado un interfaz para el usuario y usado librerías de Python. Y todo ello sin saber programar.

¿Qué mejor forma de aprender a programar que haciendo tus propios proyectos?

Además, hemos visto cómo hacer que nuestra aplicación esté disponible para todo el mundo mediante el servicio de alojamiento de aplicaciones de Kinsta. Ahora que hemos roto el hielo, no te conformes con replicar esta aplicación, tu imaginación es el límite.

Aunque hacer una aplicación real puede requerir más conocimientos, crear aplicaciones de esta forma te permite desarrollar prototipos funcionales para uso interno, explicar mejor tus ideas a un programador profesional, o aprender a programar.

oscarmartin

Llevo trabajando por y para internet desde hace más de 20 años.

Me encanta WordPress, la creación de contenidos y el Marketing de Afiliación.