DaveC426913
Gold Member
2025 Award
- 24,706
- 9,118
- TL;DR
- Not a question, just marvelling at AI's capabilities
I'm old and I want to get stuff done. I have other hobbies than programming web applcations.
I just vibe-coded a complete GUI control panel for my dad's painting gallery. Didn't write a single line of code.
Backstory:
I built the gallery a year or so ago by-hand, to facilitate family and friends browsing and choosing any paintings they want. It has filter tags, resizing, and a sprinkling of useful metadata.
At its heart is a single .JSON object containing all 800+ items:
Every time someone asks for a painting I've got to go in and update this .js file manually, then upload it to the server. A single missed comma or quote, and the whole thing bricks. My brother just asked for a dozen.
/Backstory
So I have been jonesing for a control panel that
All it did was ask me for my data file and it
The whole endeavor took maybe two hours - and 1.5 of those hours was me asking for aesthetic tweaks.
Here it is. One page, one file:
What a time to be alive. Also: damn I'm glad I'm about to retire...
And before you ask: why a .js data file, and not a proper database? Because I don't trust databases. Or, more accurately, I don't trust webhosts. Even more accurately, I don't trust myself to remember, a year later, how it works. Complex technology is fragile, and it rots. Versions change, my brain forgets how stuff was built, I lose intrest in maintaining/troubleshooting it. I've have more than one project get bricked because my webhost shuttered its doors, or the database became incompatible and it would take too much work to troubleshoot. And I like self-contained, portable, discrete web apps.
I just vibe-coded a complete GUI control panel for my dad's painting gallery. Didn't write a single line of code.
Backstory:
I built the gallery a year or so ago by-hand, to facilitate family and friends browsing and choosing any paintings they want. It has filter tags, resizing, and a sprinkling of useful metadata.
At its heart is a single .JSON object containing all 800+ items:
JavaScript:
jsonListings = [
{
"folder": "./box-a",
"store": "Box A",
"img": "2521",
"descrip": "",
"note": "Corina",
"price": "",
"claimed": "true",
"tags": [
"matted",
"structure"
]
},
{
"folder": "./box-a",
"store": "Box A",
"img": "2522",
"descrip": "",
"note": "",
"price": "",
"tags": [
"structure",
"matted"
]
},
/Backstory
So I have been jonesing for a control panel that
- eliminates crashy typos and discourages uncrashy typos.
- works directly online, so I don't have to laboriously edit it in Notepad, then save the file, then upload it to the server every time.
All it did was ask me for my data file and it
- built an entire CRUD (Create, Read, Update, Delete) interface to operate it,
- guessed the field types, including the multi-select tags I was using for filtering,
- created a one-time setup file so I could create my own a password access,
- implemented the list/line-item layout, a keyword search, a filter, two-level save, cancel, dupe and delete,
- supplied user prompts before committing to data-altering operations,
- left my data file exactly as-is, in human-friendly format with my inline, comments, in case I want to (or have to) fall back to operating it manually,
- used the proper PHP methods to encode the data, so it handles things like quotes gracefully (being a flat data file, it is also immune to SQL injection attacks),
- troubleshot a compatibility problem with the version of PHP my webhost uses. Replaced the 8.0 function with one that works with my webhost's PHP version,
- produced a README.TXT file to tell me exactly how to implement it and run the setup.
The whole endeavor took maybe two hours - and 1.5 of those hours was me asking for aesthetic tweaks.
Here it is. One page, one file:
What a time to be alive. Also: damn I'm glad I'm about to retire...
And before you ask: why a .js data file, and not a proper database? Because I don't trust databases. Or, more accurately, I don't trust webhosts. Even more accurately, I don't trust myself to remember, a year later, how it works. Complex technology is fragile, and it rots. Versions change, my brain forgets how stuff was built, I lose intrest in maintaining/troubleshooting it. I've have more than one project get bricked because my webhost shuttered its doors, or the database became incompatible and it would take too much work to troubleshoot. And I like self-contained, portable, discrete web apps.
Last edited: