---
title: "slopmapp: el mapa dels cartells fets amb ia a catalunya"
description: "slopmapp és un mapa de catalunya on marques els cartells fets amb ia que veus pel carrer. què hi ha sortit, com es modera sense assenyalar ningú i com es buida."
date: 2026-10-08
author: "joel taylor pedrós"
lang: ca
url: https://joeltaylor.business/blog/slopmapp-cartells-fets-amb-ia
translations:
  es: https://joeltaylor.business/blog/slopmapp-carteles-hechos-con-ia
  en: https://joeltaylor.business/blog/slopmapp-ai-generated-posters-map
image: https://joeltaylor.business/_next/static/media/cover.021nsfxcmeiv3.webp
---

# slopmapp: el mapa dels cartells fets amb ia a catalunya

![silueta de catalunya amb els 38 informes de slopmapp agrupats: 21 a lleida, 4 a mollerussa, 6 a barcelona, 2 a vic i uns quants punts solts.](https://joeltaylor.business/_next/static/media/cover.021nsfxcmeiv3.webp)

t'agraden els cartells fets amb ia? si no, a [slopmapp.cat](https://slopmapp.cat) pots marcar on n'has vist un.

és un mapa que vaig obrir al setembre. fas una foto del cartell, el punt queda on l'has vist i l'informe es veu de seguida. cada informe és una foto i un punt al mapa, sense notes ni rànquings de negocis. també hi ha es.slopmapp.com, en castellà i obert sobre tota espanya, però és el mateix mapa amb els mateixos informes. a 6 d'octubre n'hi havia 38, tots a catalunya.

## quins cartells fets amb ia hi ha al mapa

el grup més gran són bars, restaurants, cafeteries i llocs de menjar per emportar, 14 dels 32 informes que no són d'institucions. la classificació és meva, mirant el nom i la foto, perquè un informe no té cap camp de categoria. triar-ne una costa temps quan ets al carrer amb el mòbil a la mà, i no canvia res de com es modera o es resol.

els altres 6 són d'institucions públiques:

- a mollerussa, dues campanyes de l'ajuntament, una sobre les caques de gos i l'altra sobre deixar mobles al carrer, i un fulletó sobre patinets. aquests tres els vaig penjar jo
- a viladecavalls, el cartell oficial de la festa major. és la mateixa imatge que la portada del programa que publica l'ajuntament
- a la universitat de lleida, la infografia del calendari acadèmic i el cartell d'un acte de la facultat de lletres

![graella amb sis imatges marcades com a fetes amb ia a slopmapp: dues campanyes de l'ajuntament de mollerussa sobre les caques de gos i els mobles al carrer, un fulletó sobre patinets a mollerussa, el cartell de la festa major de viladecavalls 2026, una infografia del calendari acadèmic de la universitat de lleida i el cartell d'un acte de la facultat de lletres.](https://joeltaylor.business/_next/static/media/cartells.3a6jycu3sr_bx.webp)

_els sis informes d'institucions públiques, a 6 d'octubre de 2026. les fotos són dels usuaris._

el mapa no diu enlloc que una imatge estigui feta amb ia. diu que algú l'ha informat com a feta amb ia, perquè no hi ha cap detector al darrere. la pàgina [/guia](https://slopmapp.cat/guia) explica les pistes que es veuen des de la vorera, com els sis dits o el text que no es pot llegir, i també que cap d'elles no ho demostra.

## un catàleg, no una picota

al document de visió del projecte hi ha una frase que en decideix gairebé tot. el tema és la imatge, mai el propietari. un restaurant petit que va comprar un cartell barat a una impremta no ha fet res mal fet, i el mapa no pot fer veure que sí. a la pràctica:

- no hi ha notes ni rànquings dels pitjors negocis.
- el vermell no pot pintar mai un negoci ni un informe, i no depèn de la revisió de codi. una regla de lint, `no-red-on-business`, falla si un component del mapa o d'un informe fa servir una classe vermella. el vermell queda per a les accions destructives i els errors de formulari.
- el negoci és context opcional. el punt és on es va veure el cartell, que no sempre és la porta del negoci. des del 5 d'octubre, si tries un negoci i no tens cap altre punt, l'informe va al negoci, perquè la majoria de cartells són als aparadors. el gps de la foto o un punt triat al mapa sempre hi passen per davant.
- des del 20 de setembre pots fer m'agrada a un informe i desfer-lo, però no decideix res. no canvia l'estat ni l'ordre del feed o del mapa, que continuen sent cronològics. el número és públic. qui l'ha donat, no.
- un negoci pot impugnar un informe sense compte, a /ets-el-negoci. si discuteix que la imatge estigui feta amb ia, per defecte l'informe s'amaga. un sol punt val poc, i discutir-lo costa més.

## com es buida el mapa

la majoria de mapes de coses dolentes només acumulen. aquest també es pot buidar, i és la part que més vaig pensar.

qualsevol persona amb compte pot respondre «sí, encara hi és» o «ja no hi és». cada persona respon una vegada per informe, i la resposta val 90 dies. quan els «ja no hi és» superen els «encara hi és» per dos, l'informe queda resolt. es queda al mapa, dibuixat com a resolt, perquè el mapa també ha d'ensenyar els cartells que ja han tret.

![diagrama amb els tres estats d'un informe, encara hi és, ja no hi és i caducat, amb les fletxes que els uneixen: dos «ja no hi és» de més el resolen, un «encara hi és» el pot tornar a obrir, i 90 dies sense ningú que el vegi el fan caducar.](https://joeltaylor.business/_next/static/media/vida.1evna9qh5fkmw.webp)

_el llindar és una constant al costat de la consulta sql que l'aplica._

per què dos ho explica el comentari que acompanya la constant:

```ts
// how far the people saying gone have to outnumber the people saying present
// before a visible entry turns resolved. one person is a mistake or a grudge,
// not a fact about the street; two is the smallest number that is a small
// crowd rather than a single say-so.
export const RESOLUTION_THRESHOLD = 2;
```

funciona en tots dos sentits. un «encara hi és» després de resoldre'l el pot tornar a obrir, sense cap moderador. amb dos comptes es pot fer trampa, i està acceptat. el premi és un punt dibuixat com a resolt, no esborrat, i construir defenses contra això en un mapa de cartells no compensa.

una foto nova del mateix cartell val més que qualsevol resposta, i quan arriba, totes les d'abans deixen de comptar. i un informe que ningú no ha vist en 90 dies es llegeix com a caducat. això no es desa enlloc. l'api ho calcula cada vegada que serveix l'informe, a partir de l'última data en què algú el va veure, així que no hi ha cap tasca programada ni cap canvi d'estat per desfer. la idea del rellotge de 90 dies és de l'app streetcomplete i de l'etiqueta `check_date` d'openstreetmap, i els dos botons venen de waze.

això és la teoria. a 8 d'octubre, cap dels 38 informes no està resolt, i només un té un «ja no hi és».

## les fotos, sense la ubicació de casa

les fotos del mòbil porten la posició gps a les metadades. l'api no guarda l'original. el descodifica, el gira segons l'orientació i el torna a codificar a 320, 640 i 1.280 píxels, en avif i en webp. com que refà els píxels, l'exif desapareix amb més garanties que editant-lo amb una llibreria, i un original de 4 a 8 mb no es pot filtrar si no existeix. les sis versions sumen uns 180 kb.

el botó «on soc ara» només surt mentre la foto és recent, dins de cinc minuts, perquè un esborrany obert a casa hores després no agafi la posició de casa. les cares no es difuminen. la pantalla de pujada demana que fotografiïs el cartell i no la gent, i és una limitació coneguda. tampoc no hi ha cap filtre automàtic de contingut. per publicar cal un compte, i la cua de moderació es llegeix cada dia.

## saber d'on ve la gent

la majoria de visites han vingut de reddit, i solen anar a un informe concret que algú hi ha enllaçat, no al mapa. el que circula és l'informe, i sovint per canals que no diuen d'on ve la visita: un enllaç enganxat a whatsapp no envia referent.

els enllaços que es comparteixen des del mapa porten paràmetres utm. sense `utm_source=share`, aquestes visites sortirien com a directes. els correus que vaig enviar a il·lustradors porten una adreça curta, /i, que afegeix els paràmetres en redirigir. un enllaç amb un text visible que porta a una altra url té la forma d'un correu de pesca, i els filtres el puntuen així.

## tres errors que no avisaven

a mitjan setembre, els informes enviats des d'iphone arribaven buits. webkit guarda un `Blob` a indexeddb com una referència al fitxer que ha escrit la càmera, no com una còpia. quan ios esborra aquell fitxer, el registre hi continua i fins i tot la mida es llegeix bé, però el contingut torna buit. chromium copia els bytes, i per això no fallava enlloc on ho provava. ara la cua desa un `ArrayBuffer`.

l'1 d'octubre vaig reduir el formulari d'informe a dues pantalles, la càmera i la d'enviar. fins al 3 d'octubre, l'analítica va comptar tres fotos afegides i cap «envia», quan les dues setmanes anteriors s'havien enviat 13 informes de 20 fotos. sense punt, el botó quedava desactivat i res no deia per què. el vaig fer sempre clicable, amb un missatge que deia què faltava, i la nit del 4 dues sessions des d'iphone el van prémer 18 vegades sense obrir mai el mapa. ara el botó obre el mapa ell mateix.

cada merge a main recreava tots els contenidors, i durant un minut la web responia errors 5xx. el 13 de setembre googlebot va passar per /cerca 48 segons dins d'una d'aquestes finestres. coolify no fa desplegaments graduals d'un servei compose, així que ara els desplegaments d'un matí es fusionen en l'últim. a més, el pas de deploy no dona res per bo fins que `/health` respon amb el sha del commit que acaba de construir. el webhook de coolify respon abans de recrear res, i una comprovació de «respon alguna cosa» hauria passat contra la versió que s'estava substituint.

## el que el mapa no ensenya

la majoria d'informes són a lleida, 21 dels 38, i 14 els he penjat jo, 10 a la ciutat de lleida i 4 a mollerussa. el mapa ensenya on hi ha algú mirant, no on n'hi ha més.

el primer commit del projecte, del 6 de setembre, ja deia que el risc no era tècnic sinó un mapa fred. un mapa de catalunya amb quaranta punts sembla abandonat, i ningú no torna a informar en una sala buida. un mes després, en tenia 38.
