A collection of interactive and informative dashboards built with p5.js, exploring how live data streams and AI-driven generation can be transformed into dynamic, visual interfaces.
🎓 Educational material for ISTEC students
🌐 Live Demo: istec-for340.github.io/MyDashboards
MyDashboards explores the intersection of creative coding and real-time data APIs. By leveraging p5.js, these projects demonstrate how raw information—from global weather patterns to generative text-to-image AI—can be translated into responsive, visual systems.
Rather than treating data as rigid statistics, these works emphasize:
- Context over raw data – Transforming numbers into visual narratives.
- Co-creation with AI – Shifting from static layouts to generative, user-guided systems.
- Process over final form – Highlighting the flow of data ingestion, processing, and output.
The gallery landing page (index.html) links to both sketches. Each sketch includes a ← Home control to return to the gallery and uses a full-width, responsive canvas that adapts to the browser window.
European Weather & Finance Board — a passive data-visualization interface that aggregates live information from multiple public web APIs. It translates real-time global shifts into an expressive, unified visual layout.
| Folder | Quilled_cord_2026_05_18_10_26_28/ |
| Entry point | Quilled_cord_2026_05_18_10_26_28/index.html |
Features:
- Live weather metrics — Current conditions for five European capitals (Madrid, Paris, Berlin, Rome, London) via Open-Meteo.
- Currency exchange rates — EUR-based rates (USD, GBP, JPY, CHF) via open.er-api.com (no API key required).
- Ambient UI — Clock, gradient background, city cards with monument silhouettes, weather icons, and temperature gauges drawn entirely on the p5.js canvas.
APIs used:
https://api.open-meteo.com/v1/forecasthttps://open.er-api.com/v6/latest/EUR
Concept: Investigates how continuous, asynchronous data streams can create an ambient digital ecosystem.
AI Image Lab & Editor — a multi-stage, interactive dashboard where the user collaborates with generative artificial intelligence.
| Folder | Candle_sushi_2026_05_18_10_27_00/ |
| Entry point | Candle_sushi_2026_05_18_10_27_00/index.html |
Features:
- Text-to-image generation — Ingests user text prompts and requests images from the Pollinations API, sized to the current canvas dimensions.
- Interactive post-processing — Grayscale, invert, posterize, threshold, and color tint filters applied with p5.js
filter()on a working copy of the image. - Export — Save the edited result as JPG from the canvas.
API used:
https://image.pollinations.ai/prompt/{prompt}
Concept: Explores the role of the user not just as a consumer of AI, but as an editor and post-processor of machine-generated media.
MyDashboards/
├── index.html # Gallery / home page
├── styles.css # Gallery styles
├── README.md
├── Quilled_cord_2026_05_18_10_26_28/ # Informative dashboard
│ ├── index.html
│ ├── sketch.js
│ ├── style.css
│ ├── p5.js
│ └── p5.sound.min.js
└── Candle_sushi_2026_05_18_10_27_00/ # Edition dashboard
├── index.html
├── p5.min.js
└── style.css
Developed for ISTEC students (course FOR340), these dashboards introduce advanced concepts in modern web development and creative coding:
- Asynchronous data loading —
preload()withloadJSON()/loadImage()in p5.js, and how the same patterns map tofetch()in plain JavaScript. - State management in p5.js — Separating data retrieval from the continuous
draw()loop; keeping abaseImgvseditedImgcopy for non-destructive edits. - UI/UX for generative art — Designing interfaces for both passive viewing and active manipulation; responsive layout with HTML/CSS toolbars and a resizable canvas.
The codebase is structured to be modular and readable, encouraging students to:
- Understand the API lifecycle (Request → Response → Render).
- Swap existing APIs for new data sources (e.g. sports, crypto, transit).
- Experiment with alternative image manipulation algorithms and layout logic.
| Technology | Role |
|---|---|
| p5.js | Canvas rendering, preload(), filters, and image handling |
| JavaScript (ES6+) | API integration and UI logic |
| Web REST APIs | Weather, currency, and text-to-image generation |
| HTML5 / CSS3 | Gallery layout, toolbars, responsive flex layout |
Explore the live, deployed dashboards instantly:
👉 Launch MyDashboards Live Preview
From the gallery, open either project card. Use ← Home inside each sketch to return to the main page.
To run the project locally and experiment with the code:
-
Clone the repository:
git clone https://github.com/ISTEC-FOR340/MyDashboards.git cd MyDashboards -
Serve the folder over HTTP (recommended; avoids some browser restrictions with
file://):# Python 3 python -m http.server 8080 # Node.js (npx, no install) npx serve .
-
Open in the browser:
- Gallery:
http://localhost:8080/ - Weather dashboard:
http://localhost:8080/Quilled_cord_2026_05_18_10_26_28/ - AI editor:
http://localhost:8080/Candle_sushi_2026_05_18_10_27_00/
Alternatively, open
index.htmldirectly from the file system if a local server is not available. - Gallery:
-
Resize the window to see the responsive, full-width canvas behavior.
Note: The AI image API may rate-limit requests (HTTP 429). Wait a few seconds between generations if you hit limits during testing.
Educational project for ISTEC — FOR340. Public APIs are subject to their respective terms of service; see each provider’s documentation for usage limits.
ISTEC-FOR340 · GitHub Pages · Built with p5.js