Wallaviso, el servicio de avisos para Wallapop, se vuelve OpenSource | Programador Web Valencia

Wallaviso, el servicio de avisos para Wallapop, se vuelve OpenSource

4 minutos

Wallapop

TL;DR

Después de un año de desarrollo he liberado la plataforma para hacerla software libre. No habrá mantenimiento por mi parte, lo siento. Ahora la responsabilidad de ir expandiendo el servicio depende de la comunidad. Si quieres aportar cualquier actualización o arreglar cualquier problema que pueda aparecer puedes hacerlo en el repositorio oficial de Wallaviso.

Versión extendida

Es curioso lo que se puede conseguir cuando tienes curiosidad y no te marcas límites. Construí, desde mi punto de vista, una plataforma útil de avisos. Un lugar donde la gente recibiera notificaciones en cada ocasión que apareciera un artículo nuevo en Wallapop. Gestionado por los usuarios y con sus propios filtros. Lo llamé Wallaviso. Y ha funcionado muy bien, hasta que comprendí que era inviable económicamente. Los usuarios de Wallapop no les interesa invertir dinero. Si no lo hacen en la plataforma oficial, ¿que razón hay con un servicio externo? Por lo que me esforcé en hacerla sostenible y aquí esta mi historia. Un año donde pasé de tener un sencillo script en Python a una plataforma abierta.

Origen

Tuve un sueño, tener una GameBoy SP. Uno de esos juguetes que nunca tuve en mi infancia pero siempre he deseado. Ahora que trabajaba y tenía dinero, me dije: ¿por qué no hacerme con una? Ni corto ni perezoso busqué en la plataforma de segunda mano de moda: Wallapop. Encontré varias, y a muy buen precio.

Rápidamente pude comprobar que las ofertas interesantes volaban, por no decir que desaparecían a los pocos minutos. Tenía que ser rápida, tanto como una máquina. Era un estrés constante. Parecía un adicto mirando mi smartphone por la calle. Busqué una solución de programador: un script que revisara cada minuto si había un nuevo producto con una serie de filtros.

Después de experimentar con Python lo conseguí y lo compartí. En esta primera versión hacía un poco scraping.

Funcionó tan bien (conseguí un montón de juegos de la GBA a un precio de risa) que me planteé hacer un taller para la PyConES (Congreso anual de Python España). Lo llamé Vigilante de Wallapop. Recibí varias felicitaciones después del evento con algunas estrellas en el repositorio. Todo un éxito.

¿Y sí… lo trabajo un poco más y lo abro al público? Con esta pregunta puse el primer ladrillo de Wallaviso.

Presentación

Integré un sencillo sistema de registro e identificación, enviaba un Email personalizado con una imagen y un enlace que abría la App para que pudieras comprarlo en el acto. Además, cada dos semanas te preguntaba si querías mantener la búsqueda. Iba muy bien.

Lo anuncié en Hackernews. No hubo… mucha repercusión.

Después en Foro coches. Me dijeron de todo menos guapo. Llegaron a insultarme, menospreciar la plataforma, buscar datos de mi… Y por si fuera poco, me cerraron la cuenta. Un desastre.

Los usuarios llegaron de forma natural. Cuando me di cuenta tenía mi primer centenar. Al mes siguiente otros 100. Y poco a poco cada vez había más gente utilizándola. Llegué a enviar 12.000 notificaciones mensuales. Y justamente aquí empezaron los problemas: el uso masivo.

Problemas

Mantener Wallaviso costaba dinero. No mucho, pero sin apoyo económico cada euro se notaba. Por un lado el servidor costaba 6 euros mensuales. El envío de emails lo hacía por medio de Mailgun. Costaba 1 euro mensual. Y por último el dominio. Unos 10 euros anuales. Por lo que tenía 92 euros anuales. No era mucho, pero venía de mi bolsillo.

Decidí crear una cuenta premium. Daría un par más de filtros y 15 notificaciones extra. Todo por 5 euros mensuales. Si funcionaba bien hasta podría crear un App para que llegara directo al smartphone. Pero la acogida fue casi nula. Solo dos personas mostraron cierto interés.

Después Wallapop detectó que estaba haciendo demasiadas peticiones a sus servidores. Y me bloquearon la IP. Fue rápido de solucionar, cambié la dirección IP.

Otro problema que me encontré, a los pocos meses, es que Wallapop maduró y actualizaron sus APIs. Lo que provocó que el servicio de dejara de funcionar. Tuve que prácticamente rehacer de cero las llamadas. Lo cual implicaba más tiempo por mi parte, sin ningún reporte económico.

Estado actual

Migré la plataforma a 2 cuentas gratuitas de Heroku. Un servicio que te ofrece la posibilidad de desplegar instancias. Lo cual me obligó, de nuevo, a rehacer algunas funcionalidades. Básicamente tuve que dividir los recursos en 2. Por otro lado, Heroku no ofrece gratuitamente https. Lo que desactivaba la Geolocalización cuando la pedía. La solución era preguntar por el código postal, para luego sacar de una base de datos la latitud y longitud.

Quedaba el envío de emails. Siempre es problemático si no hay un mantenimiento. Por ello muchas empresas contratan algún servicio externo como Mailgun o Amazon SES. Opté por cambiar la forma de notificar. Ahora todo bajo el clásico RSS. Si quieres estar informado, debes tener un cliente para leer tus Feeds. Yo te doy un enlace especial y tú lo agregas. Y si quieres recibir un Email, puedes crear un flujo con IFTTT.

Continuó el aumento de usuario, uso, peticiones… pero nadie aportaba ni un euro.

Heroku se volvió de pago. Cerré las instancias.

Game over.

El futuro es OpenSource

El código esta libre en Github. Cualquier ayuda será bien recibida. Dejaré de publicar actualizaciones para centrarme en otros proyectos. Ha sido una experiencia positiva, aunque no consiguiera hacerlo rentable. Espero pull requests de gente bondadosa. Todo el proyecto esta en Flask, por lo que si alguien con agallas sabe un poquito de Python podrá hacer que el proyecto siga vivo.

PD: 5 años después continuo recibiendo preguntas de porque no esta funcionando. De momento 0 pull requests.

Web

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.

Atribución/Reconocimiento-NoComercial-SinDerivados 4.0 Internacional

¿Me invitas a un café? ☕

Puedes hacerlo usando el terminal.

ssh customer@andros.dev -p 5555

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

Nueva replica  {{ formatEllipsisAuthor(replyComment.author) }}

Acepto la política de Protección de Datos.

Escribe el primer comentario

Tal vez también te interese...