A spontaneous Creative Coding meetup in Barcelona
Update 2023-7-11: Wow, I really need to apologize to a few people here, because I unknowingly just took their place. There was already a meetup called Creative Coding Barcelona before my event and with this landing page here I made sure it came up second on Google, which should have caused a lot of confusion. I will now contact the organizers and clarify this. Sorry for the confusion!
https://hangar.org/en/orbitants-ocasionals/creative-coding-barcelona/
https://www.meetup.com/es-ES/creative-coding-barcelona/
When I decided to spend a few months in Barcelona and work from there, I knew it was going to be a very special, adventurous experience. One of the first things I did to get to know new people was an Instagram post in which I presented the idea of organizing a Creative Coding Meetup. In no time I had started a WhatsApp group, which soon had more than 40 people not only looking forward to the event, but actively helping to organize it. Felix Martinez, the technical director of the international design agency B-Reel and by now a good friend, offered directly to let the event take place in the new office of the agency. And so the whole thing turned into two unforgettable evenings with many new contacts, great conversations and tons of inspiration.
As speakers we had great people as guests, among others Lena Weber, who came all the way from Germany, Monica Losada and Henry Rodwell.
Many thanks to all who participated!















KeyVisual
int tilesX = 2;
int tilesY = 2;
float tileW, tileH;
Tile[][] tiles;
float speed = 2;
color C1, C2, C3, C4;
boolean showTypo = false;
PGraphics pg;
PShape typo;
PFont F;
void setup() {
size(1920, 1080);
randomize();
typo = loadShape("typo.svg");
typo.disableStyle();
//pixelDensity(2);
}
void draw() {
background(C1);
fill(C2);
noStroke();
shape(typo, 0, -10, width, width);
for (int x = 0; x < tilesX; x++) {
for (int y = 0; y < tilesY; y++) {
Tile T = tiles[x][y];
float wav = map(tan(radians(frameCount + x*10 + y*10)), -1, 1, -10, 10);
wav = 0;
T.display(wav);
}
}
//if (frameCount % 60 == 0) {
// randomize();
//}
if (showTypo) {
noFill();
strokeWeight(4);
stroke(C2);
shape(typo, 0, -10, width, width);
}
}
void randomize() {
setColorTheme();
tilesX = int(random(1, random(12)));
tilesY = int(random(1, random(12)));
tileW = int(ceil(width / tilesX));
tileH = int(ceil(height / tilesY));
tiles = new Tile[int(tileW)][int(tileH)];
for (int x = 0; x < tilesX; x++) {
for (int y = 0; y < tilesY; y++) {
tiles[x][y] = new Tile(x, y);
}
}
showTypo = !showTypo;
}
void setColorTheme() {
int selector = int(random(2));
switch(selector) {
case 0:
C1 = #F05423;
C2 = #0754A4;
break;
case 1:
C2 = #F05423;
C1 = #0754A4;
break;
}
}
class Tile {
color FG, BG;
int tileSelector;
int imageSelector;
PImage img;
int colorSelector;
float phase;
float x, y;
float offsetX = random(-200, 200);
float offsetY = random(-200, 200);
Tile(int _x, int _y) {
colorSelector = int(random(1, 3));
tileSelector = int(random(1, 5));
imageSelector = int(random(1, 27));
phase = random(360);
x = _x;
y = _y;
FG = C1;
BG = C2;
img = loadImage(imageSelector + ".jpg");
img.resize(2000, 0);
//img.filter(GRAY);
pg = createGraphics(int(ceil(tileW)), int(ceil(tileH)));
pg.imageMode(CENTER);
}
void display(float phase) {
pg.beginDraw();
pg.ellipseMode(CORNER);
pg.clear();
if (tileSelector == 1) {
pg.push();
float wave = tan(radians(frameCount * speed + phase)) * 50;
pg.translate(pg.width/2 + wave + offsetX, pg.height/2 + offsetY);
pg.scale(0.3);
pg.image(img, 0, 0);
pg.pop();
}
if (tileSelector == 2) {
pg.noStroke();
pg.fill(BG);
pg.ellipse(0, 0, tileW, tileW);
}
if (tileSelector == 3) {
pg.push();
float wave = sin(radians(frameCount * speed + phase)) * 500;
pg.translate(pg.width/2 + wave + offsetX, pg.height/2 + offsetY);
pg.image(img, 0, 0);
pg.pop();
}
if (tileSelector == 4) {
pg.noStroke();
pg.fill(BG);
pg.ellipse(0, 0, tileW/2, tileW/2);
}
pg.endDraw();
image(pg, x*tileW + phase, y*tileH);
}
}
Enjoying the content?
Since 2018, I have published 239 interviews, case studies, and tutorials, along with over 345 lessons in 22 online courses – and there's more to come! If you want to get full access or simply support my work and help keep this platform thriving, please consider supporting me on Patreon. Thank you very much!

Related

I am totally thrilled to introduce Nicolas Landrieux to you today. We met a few years ago at one of […]

Let’s begin here: A myriad of new technologies is accelerating our world at a breathtaking pace. I’m not interested in […]

In 2025, both Processing and p5.js made major leaps forward in the development. I had the great opportunity to speak […]

Below is the written version of my talk at DEMO Festival in Amsterdam, January 2025. I’ve also recorded an audio […]

I met Omid Nemaldhabib quite coincidentally in Rotterdam in 2022. He comes from Tehran and ran a design studio there […]

In an age of increasing digital consumption, Hannah, a recent visual communication graduate, explored “Permacomputing”—a sustainable approach to technology inspired […]

Limitations have always been playing a major role in my creative work; I was only able to develop my best […]

In this interview, Copenhagen-based creative director Tameem Sankari shares his journey into Creative Coding, combining Processing, Blender, and Adobe CC. […]

In this post I’d like to introduce you to Sam Griffith, a talented graphic designer based in Detroit, to discuss […]

The next edition of the DEMO Festival is already approaching and I am currently developing a brand new talk for […]

20 = 1 21 = 222 = 323 = 824 = 1625 = 3226 = 6427 = 128 … »In […]

This is a call for coding designers. It aims to serve as a proposal and a provocation for creative work […]

Hi! In this post I’ll collect case studies and direct links to tools that people have built with p5.js and […]

Your 128kb journey starts here! This is a template you can use to start developing your idea within the 128kb […]

In 2022, I spontaneously posted a story on Instagram: If anyone out there is also in Rotterdam, I’d love to […]

One day in early 2024 I started to experiment with a new idea. I wrote down a set of rules […]

During OFFF Festival here in Barcelona, many interesting people come around! This interview with Talia Cotton came about almost by […]

Lena: This 10-minute visualiser for A. G. Cooks album teaser featuring my python archive generator, is one of my favourite […]

Hi Anna! It was super nice to meet you at the PCD CPH, I really liked your talk in which […]

When I held Martin Lorenz’s new book in my hands and turned it onto its back, I was a little […]

Hey folks, I hope you are doing great! You may have already read one or two of my essays that […]

Instagram, Twitter, TikTok… All the main platforms that technically have the required features to connect emerging communies for Creative Coding […]

In my teaching at universities and in workshops, I have met many very enthusiastic and highly talented people who have […]

I’ve been travelling a lot in the last few months. Still, it was only during a short stay in Copenhagen […]

For me, it’s by far the most inspiring project of the last few years: “Symphony in Acid”, a collaboration between […]

Photo Credits: Hannes Meier EN – If someone had asked me six months ago which institution around digital liberty was […]

The Magic Triangle is a powerful creativity technique that can be applied to many different areas.

I have been observing developments in design for 40 years. That may sound strange, as I’m only forty myself, but […]