<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nikita Brown</title>
    <description>The latest articles on DEV Community by Nikita Brown (@nikita_brown_ba9eb2c7dd09).</description>
    <link>https://dev.to/nikita_brown_ba9eb2c7dd09</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3397589%2Fb257d24e-5f3c-4041-a938-12fb48b2f33b.jpg</url>
      <title>DEV Community: Nikita Brown</title>
      <link>https://dev.to/nikita_brown_ba9eb2c7dd09</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nikita_brown_ba9eb2c7dd09"/>
    <language>en</language>
    <item>
      <title>Amarres de amor y machine learning: prediciendo compatibilidad con Python</title>
      <dc:creator>Nikita Brown</dc:creator>
      <pubDate>Mon, 04 Aug 2025 21:45:56 +0000</pubDate>
      <link>https://dev.to/nikita_brown_ba9eb2c7dd09/amarres-de-amor-y-machine-learning-prediciendo-compatibilidad-con-python-26ok</link>
      <guid>https://dev.to/nikita_brown_ba9eb2c7dd09/amarres-de-amor-y-machine-learning-prediciendo-compatibilidad-con-python-26ok</guid>
      <description>&lt;p&gt;¿Alguna vez intentaste combinar un poco de misticismo con ciencia? Suena loco, lo sé. Pero te cuento: una vez, en plena crisis post ruptura, me topé con un artículo sobre cómo algunos datos podían predecir compatibilidad amorosa. Fue como mezclar un tarot con código Python. Raro… pero intrigante.&lt;/p&gt;

&lt;p&gt;Y claro, como cualquier persona que ha probado tanto horóscopos como scripts de pandas, me dije: “¿y si junto &lt;em&gt;amarres de amor&lt;/em&gt; con &lt;em&gt;machine learning&lt;/em&gt;?”.&lt;/p&gt;

&lt;p&gt;Spoiler: sí se puede. Y no, no necesitas una bola de cristal. Solo un par de librerías, algo de intuición y, quién sabe, tal vez un toque de esa &lt;em&gt;magia&lt;/em&gt; que encuentras con los &lt;strong&gt;&lt;a href="https://botanicaindioamazonico.com/amarres-de-amor-en-hart-mi/" rel="noopener noreferrer"&gt;amarres de amor Hart mi&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Por qué mezclar magia y código?
&lt;/h2&gt;

&lt;p&gt;I once tried scraping dating profiles just for fun. Hasta que me di cuenta que, detrás de los “me gusta la pizza” y “amo a mis gatos”, había patrones. Patrones que un algoritmo puede aprender. Y si los humanos buscamos conexión, ¿por qué no enseñarle a un modelo cómo se ve eso?&lt;/p&gt;

&lt;h2&gt;
  
  
  Conceptos clave (contados como si estuviéramos en un café)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Compatibilidad&lt;/strong&gt; → no es solo “tenemos química”. Es lenguaje, valores, rutinas. Todo eso se puede codificar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Datos amorosos&lt;/strong&gt; → mensajes, biografías, emojis, ¡hasta tu hora de dormir!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modelo predictivo&lt;/strong&gt; → el cupido digital. Analiza lo anterior y predice “este match sí pinta bien”.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clasificación binaria&lt;/strong&gt; → o hay chispa… o no.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Overfitting emocional&lt;/strong&gt; → el clásico “me gustó porque se parece a mi ex”. El modelo lo aprende... y se equivoca.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  ¿Cómo construir tu propio ‘Cupido.py’?
&lt;/h2&gt;

&lt;p&gt;Aquí va lo básico. Sin drama técnico, lo prometo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.ensemble&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;RandomForestClassifier&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.model_selection&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;train_test_split&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.feature_extraction.text&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;TfidfVectorizer&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.pipeline&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Pipeline&lt;/span&gt;

&lt;span class="c1"&gt;# Datos simulados de perfiles y resultados de relaciones
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;mensaje_inicial&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Me encantan los perros&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Vamos por tacos?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Soy fan del cine indie&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hola hermosa&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;¿Te gusta leer?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;¿Netflix o HBO?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;compatibilidad&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="c1"&gt;# División de datos
&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;mensaje_inicial&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;compatibilidad&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="c1"&gt;# Pipeline para vectorización y clasificación
&lt;/span&gt;&lt;span class="n"&gt;pipeline&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Pipeline&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tfidf&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;TfidfVectorizer&lt;/span&gt;&lt;span class="p"&gt;()),&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;clf&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;RandomForestClassifier&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n_estimators&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;random_state&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="c1"&gt;# Entrenamiento y prueba
&lt;/span&gt;&lt;span class="n"&gt;X_train&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;X_test&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_train&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_test&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;train_test_split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;test_size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;random_state&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;pipeline&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_train&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_train&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;accuracy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pipeline&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;score&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_test&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_test&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Precisión del modelo: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;accuracy&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;%&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Metáfora rápida: amor y datos
&lt;/h2&gt;

&lt;p&gt;Imagínate que cada conversación es una planta. Algunas florecen rápido, otras se marchitan. Lo que hice fue estudiar las semillas, la tierra, el clima. El &lt;em&gt;machine learning&lt;/em&gt; fue como un jardinero virtual. Y, de repente, entendí por qué esa relación con Ana duró… y por qué la de Sofi no.&lt;/p&gt;

&lt;h2&gt;
  
  
  Herramientas útiles (sí, como en una &lt;em&gt;botánica Hart&lt;/em&gt;)
&lt;/h2&gt;

&lt;p&gt;Si alguna vez te sentiste atraído por esa mezcla entre lo espiritual y lo práctico, deberías darte una vuelta por una &lt;strong&gt;&lt;a href="https://botanicaindioamazonico.com/amarres-de-amor-en-hart-mi/" rel="noopener noreferrer"&gt;botanica Hart&lt;/a&gt;&lt;/strong&gt;. Porque así como usas &lt;code&gt;NumPy&lt;/code&gt;, también puedes usar velas, inciensos o rituales. Who says no puedes tener ambos?&lt;/p&gt;

&lt;p&gt;Ah, y si vas en persona... preguntá por los &lt;strong&gt;&lt;a href="https://botanicaindioamazonico.com/amarres-de-amor-en-hart-mi/" rel="noopener noreferrer"&gt;brujos en Hart&lt;/a&gt;&lt;/strong&gt;. A veces, una consulta puede aclarar lo que ni el algoritmo puede ver 🤷.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lo que &lt;em&gt;realmente&lt;/em&gt; ganas con esto
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Te conocés mejor. De verdad.&lt;/li&gt;
&lt;li&gt;Aprendés qué patrones repetís en tus relaciones. &lt;em&gt;That ex with red flags? You picked ‘em again.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Te divertís, aunque sea con datos de tu propio caos amoroso.&lt;/li&gt;
&lt;li&gt;Y hey, tal vez, terminás entendiendo lo que buscás. Sin tener que ir a una app de citas cada domingo.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dale una oportunidad esta semana
&lt;/h2&gt;

&lt;p&gt;No te digo que hagas amarres mientras programas (aunque… quién soy yo para juzgar). Pero probar algo nuevo, combinar mente + corazón, ciencia + magia... puede enseñarte más de lo que pensás.&lt;/p&gt;

&lt;p&gt;Give it a shot. You’ll see.&lt;br&gt;&lt;br&gt;
Y si necesitas una ayudita extra, ya sabés dónde buscar 😉&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Creando una App de Amarres de Amor con Python y Flask</title>
      <dc:creator>Nikita Brown</dc:creator>
      <pubDate>Wed, 30 Jul 2025 22:52:12 +0000</pubDate>
      <link>https://dev.to/nikita_brown_ba9eb2c7dd09/creando-una-app-de-amarres-de-amor-con-python-y-flask-3fm9</link>
      <guid>https://dev.to/nikita_brown_ba9eb2c7dd09/creando-una-app-de-amarres-de-amor-con-python-y-flask-3fm9</guid>
      <description>&lt;p&gt;¿Alguna vez pensaste que mezclar programación con rituales de amor era posible? Yo tampoco. Hasta que un día, entre mates y líneas de código, se me ocurrió: &lt;em&gt;¿y si creo una app de amarres de amor?&lt;/em&gt; No me juzgues todavía, ¿ok?&lt;/p&gt;

&lt;p&gt;No te voy a mentir, al principio sonaba medio loco. Pero justo ese día, una amiga me mandó un audio contando cómo una &lt;a href="https://maestrosangregoriochicago.com/amarres-de-amor-en-alto-mi/" rel="noopener noreferrer"&gt;&lt;strong&gt;Alto Lectura de cartas&lt;/strong&gt;&lt;/a&gt; le cambió completamente su relación (de esas historias que no sabes si creer… hasta que ves que realmente funciona). Así que pensé: «¿Por qué no unir lo esotérico con el backend?»&lt;/p&gt;

&lt;h2&gt;
  
  
  Contexto: Cuando el código no solo es lógico
&lt;/h2&gt;

&lt;p&gt;Mirá, yo vengo del mundo técnico. Frameworks, servidores, errores 500 y toda esa cosa. Pero también crecí escuchando historias sobre &lt;a href="https://maestrosangregoriochicago.com/amarres-de-amor-en-alto-mi/" rel="noopener noreferrer"&gt;&lt;strong&gt;Santeria en Alto&lt;/strong&gt;&lt;/a&gt; y cómo ciertos rituales ayudaban a “alinear energías” —como diría mi tía.&lt;/p&gt;

&lt;p&gt;Entonces decidí poner a prueba ambos mundos. Crear una pequeña app que permita consultar rituales de amor personalizados, usando Flask, una librería ligera de Python. Y adivina qué: ¡funcionó mejor de lo que pensaba!&lt;/p&gt;

&lt;h2&gt;
  
  
  5 cosas clave antes de programar tu app de amarres
&lt;/h2&gt;

&lt;p&gt;No te voy a tirar tecnicismos pesados. Acá van cinco conceptos que tenés que tener en cuenta, contados como se los contaría a un colega en un café:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Enrutamiento simple:&lt;/strong&gt; No querés que tu usuario se pierda. Una URL clara para cada amarre.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Formulario de intención:&lt;/strong&gt; Sí, suena raro, pero un input tipo “¿qué querés lograr con este amarre?” es clave.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Base de datos ligera:&lt;/strong&gt; Usá SQLite si estás arrancando, guarda el historial de consultas y el tipo de energía que busca cada usuario.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Renderizado emocional:&lt;/strong&gt; Los mensajes deben tener tono cálido, humano. Nada de mensajes robóticos, ¿sabés?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Módulo de recomendaciones&lt;/strong&gt;: Tipo “si te interesa esto, quizás te sirva este otro ritual”.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  ¿Cómo lo hice con Flask? Te lo cuento sin vueltas
&lt;/h2&gt;

&lt;p&gt;Primero levanté una estructura básica de Flask, con rutas simples: &lt;code&gt;/inicio&lt;/code&gt;, &lt;code&gt;/amarre&lt;/code&gt;, &lt;code&gt;/resultado&lt;/code&gt;. Después conecté un pequeño formulario para que la gente ingresara su nombre, el de su pareja (o su crush), y qué sentían. Nada invasivo, ¿eh?&lt;/p&gt;

&lt;p&gt;Guardé eso en SQLite y, dependiendo de las respuestas, tiraba una recomendación. Todo basado en una tabla de correspondencias mágicas que una santera amiga me ayudó a armar (sí, esto pasó de verdad).&lt;/p&gt;

&lt;p&gt;Y bueno, para hacerlo más real, incluí links informativos como este sobre los &lt;a href="https://maestrosangregoriochicago.com/amarres-de-amor-en-alto-mi/" rel="noopener noreferrer"&gt;&lt;strong&gt;Amarres De Amor En Alto mi&lt;/strong&gt;&lt;/a&gt;, que me sirvió de referencia para inspirar parte de los textos espirituales que muestra la app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Un pedacito del código (¡sin spoilers de magia negra!)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;flask&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Flask&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;render_template&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;

&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Flask&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__name__&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nd"&gt;@app.route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;/&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;inicio&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;h1&amp;gt;Bienvenido a la app de amarres de amor&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="nd"&gt;@app.route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;/amarre&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;methods&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;POST&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;amarre&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;nombre&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;form&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;nombre&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;pareja&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;form&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;pareja&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;intencion&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;form&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;intencion&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;mensaje&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hola &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;nombre&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;, tu intención con &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;pareja&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; ha sido recibida. Que el universo conspire a tu favor.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;mensaje&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;__main__&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Metáfora random: programar esto fue como hacer un hechizo
&lt;/h2&gt;

&lt;p&gt;En serio. Cada bloque de código tenía que estar bien escrito, cada palabra tenía intención. Casi como cuando estás en medio de un ritual y no podés equivocarte ni un paso. Me equivoqué varias veces, obvio. Pero cuando por fin corría bien, sentí esa vibra rara… como si el sistema realmente “supiera” lo que hacía.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué sacás de todo esto?
&lt;/h2&gt;

&lt;p&gt;Te lo digo así, sin filtro:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aprendés a integrar lo espiritual y lo técnico, ¡posta!&lt;/li&gt;
&lt;li&gt;Mejorás tu manejo de formularios, rutas y lógica condicional.&lt;/li&gt;
&lt;li&gt;Te divertís. Suena raro, pero es un proyectazo para romper la rutina.&lt;/li&gt;
&lt;li&gt;Te da una historia tremenda para contar en tu portfolio o en tu próxima cita 😅&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Cierre: Animate, que no mordemos
&lt;/h2&gt;

&lt;p&gt;Dale una vuelta esta semana. No tiene que ser perfecto. Armá una estructura básica, poné un par de frases mágicas, enlazá algo como una lectura de amor, y jugá con la idea.&lt;/p&gt;

&lt;p&gt;Quién sabe, capaz terminás creando la app que una más corazones este año… o al menos, que saque una sonrisa a quien la use.&lt;/p&gt;

&lt;p&gt;¿Y vos? ¿Te animarías a codear con amor?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cómo usar Python y sensores de biofeedback en amarres de amor</title>
      <dc:creator>Nikita Brown</dc:creator>
      <pubDate>Tue, 29 Jul 2025 15:35:15 +0000</pubDate>
      <link>https://dev.to/nikita_brown_ba9eb2c7dd09/como-usar-python-y-sensores-de-biofeedback-en-amarres-de-amor-4afd</link>
      <guid>https://dev.to/nikita_brown_ba9eb2c7dd09/como-usar-python-y-sensores-de-biofeedback-en-amarres-de-amor-4afd</guid>
      <description>&lt;p&gt;¿Te ha pasado que sientes que alguien se aleja, pero no puedes explicarlo con lógica? A mí sí. Y no te voy a mentir, me obsesioné un poco. Fue entonces cuando, entre lecturas esotéricas y tutoriales de programación, se me ocurrió algo un poco loco: ¿y si uniera &lt;strong&gt;tecnología&lt;/strong&gt; y energía?&lt;/p&gt;

&lt;p&gt;Sí, leíste bien. &lt;em&gt;Python&lt;/em&gt;, sensores de &lt;strong&gt;biofeedback&lt;/strong&gt;... y &lt;em&gt;amarres&lt;/em&gt;. Suena raro, pero déjame contarte cómo esa mezcla tan poco común empezó a tener sentido para mí.&lt;/p&gt;

&lt;h2&gt;
  
  
  La historia que nadie cuenta…
&lt;/h2&gt;

&lt;p&gt;Una noche, mientras trasteaba con un sensor de ritmo cardíaco (ese que me compré para un proyecto de clase y que quedó olvidado por meses), noté cómo cambiaban mis pulsaciones cada vez que pensaba en cierta persona. Me dije: “Oye, esto no puede ser casualidad”. Entonces lo conecté a mi compu, escribí unas líneas de código, y... boom. Una gráfica hermosa, casi poética, marcando cada subida y bajada como si fuera una canción del corazón.&lt;/p&gt;

&lt;p&gt;Y ahí pensé: si puedo medir eso, ¿puedo usarlo en un ritual?&lt;/p&gt;

&lt;h2&gt;
  
  
  Los básicos, pero sin vueltas raras
&lt;/h2&gt;

&lt;p&gt;Si nunca has escuchado de estos términos, tranqui, te los suelto como se los contaría a mi primo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt;: Lenguaje de programación que básicamente hace que las cosas se muevan solas en tu compu. Sirve para automatizar tareas o leer datos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sensor de biofeedback&lt;/strong&gt;: Dispositivo que mide reacciones del cuerpo (como el pulso, sudoración, etc.). O sea, cómo reacciona tu cuerpo a algo o alguien.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ritual energético&lt;/strong&gt;: No es solo velas y palabras raras, también puede ser una intención bien dirigida. Incluso con ayuda tecnológica.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visualización guiada&lt;/strong&gt;: Técnica para conectar mente y emoción. Súper útil si la combinas con datos reales de tu cuerpo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Campo vibracional&lt;/strong&gt;: Ok, suena místico, pero piensa en ello como la frecuencia con la que vibras (sí, como si fueras una canción en una radio).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ¿Y cómo se hace todo esto sin volverse loco?
&lt;/h2&gt;

&lt;p&gt;Bueno, te cuento cómo lo hice yo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;serial&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;

&lt;span class="n"&gt;puerto&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;COM3&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;9600&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Ajusta según el puerto que uses
&lt;/span&gt;&lt;span class="n"&gt;datos&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Midiendo pulsaciones... Presiona Ctrl+C para detener.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;lectura&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;puerto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;readline&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;strip&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;lectura&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isdigit&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="n"&gt;datos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lectura&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
            &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Pulsación: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;lectura&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;KeyboardInterrupt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;puerto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Medición detenida.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;datos&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Ritmo cardíaco durante visualización&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;xlabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Tiempo&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ylabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Pulsaciones&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;show&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Conecté mi sensor de ritmo cardíaco a Python usando una librería que ya venía preinstalada. Nada del otro mundo.&lt;/li&gt;
&lt;li&gt;Medí mis pulsaciones pensando en diferentes personas. Spoiler: no todas me alteraban igual.&lt;/li&gt;
&lt;li&gt;Elegí el momento de mayor intensidad para hacer una visualización enfocada. Luz tenue, respiración profunda, intención clara.&lt;/li&gt;
&lt;li&gt;Sincronizaba los picos del biofeedback con ciertas frases del ritual. Algo así como &lt;em&gt;“cuando sientas más, repite esto”&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Lo registré todo en un diario. No para analizar con frialdad, sino para seguir el hilo emocional, ¿sabes?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Y sí, lo combiné con un trabajo más tradicional de los que hacen en los &lt;a href="https://botanicadelamor.com/amarres-de-amor-belmont-terrace-chicago/" rel="noopener noreferrer"&gt;Amarres De Amor Belmont Terrace il&lt;/a&gt;, porque no hay que negar que a veces lo ancestral y lo moderno pueden hacer magia juntos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pero… ¿esto sirve o es puro humo?
&lt;/h2&gt;

&lt;p&gt;Mira, no te voy a prometer que vas a tener a tu ex de vuelta en 3 días (ojalá fuera tan simple). Pero te comparto lo que sí noté:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Más conciencia emocional. Como si entendieras mejor lo que de verdad sientes.&lt;/li&gt;
&lt;li&gt;Un ritual más enfocado. No estás adivinando, estás actuando con datos.&lt;/li&gt;
&lt;li&gt;Menos ansiedad. Saber &lt;em&gt;cuándo&lt;/em&gt; tu cuerpo reacciona te da un tipo raro de paz.&lt;/li&gt;
&lt;li&gt;Y si a eso le sumas la guía de algunos &lt;a href="https://botanicadelamor.com/amarres-de-amor-belmont-terrace-chicago/" rel="noopener noreferrer"&gt;Brujos en Belmont Terrace&lt;/a&gt; que saben de energía, ¡mejor todavía!&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ¿Vale la pena probarlo?
&lt;/h2&gt;

&lt;p&gt;Totalmente. Sobre todo si eres de esas personas que creen que la mente, el corazón y la tecnología pueden hablar el mismo idioma. Y si ya estás metido/a en temas espirituales, echarle un vistazo a lo que hace la &lt;a href="https://botanicadelamor.com/amarres-de-amor-belmont-terrace-chicago/" rel="noopener noreferrer"&gt;Belmont Terrace Santería&lt;/a&gt; con sus rituales tan sensoriales… puede darte otra perspectiva.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Dale una vuelta esta semana&lt;/strong&gt;. No necesitas ser hacker ni gurú esotérico. Solo algo de curiosidad, una pizca de intención y las ganas de reconectar con lo que sentís. ¿Y si funciona? Bueno… ya me contarás, ¿Verdad?&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
