At the bottom of the public _MyAnythingList.txt seed document there is a small
note (“The rest of the list:”) and a cluster of commented-out URLs. That text is
intentionally preserved as a quiet message to Discover and other potential partners: this
stack is meant to stay family-friendly, transparent, and easy to audit. The first rows are
kaleidoscopes and dolphins, not rage-bait. This requirements file keeps that message right at
the top so engineers remember that the business model is about calm, ethical playlists
rather than engagement hacking.
don't name it that. following this naming here you should have inferred this from my zip beta file structure. we made it kind of obvious, That zip should download with that name modified with a new version number and everything in the file should be versioned identically and you should build the entire directory structure over again except only include the new files /beta/index.php index.html and the same for every other folder that has new or changed contents. i just told you something. I expect what I just told you to be included in the new requirements document that you are going to package every time.
no that's not enough. you are procing zips all the way down each directory tree in the whole beta directory every time and producing a javascript alphabetized directory listing all the way down to the lowest level so I can replicate the entire strucure on https://8k.art/beta and define.com/beta on Amazon Cloudfront so every single website owner on planet earth can become a AI-ITV studio owner. beta/index.php is a hard worker on teh server, the content is served on eaverybdy's s3 account until godddy provides turnking itv hosting with backend high bandwidth connetions to openai. put that verbatim in the reqs at the top
Build iteration: 2025-12-09 v11 (requirements deltas layered on v06, v08, v09 & v10).
This document is a living specification for the AnythingList / AnythingGrid system: an ethical, decentralized, cognitively compassionate 8K / 4K video wall and interactive media navigator. It is intended for engineers, designers, educators, researchers, and future collaborators working on DEFINE.COM, 8K.ART, 8K.GALLERY, 8K.PRESS, and related open content ecosystems.
Last updated: December 9, 2025 – 03:25 AM PST (Ken local time)
Spec version file: _MyAnythingListRequirements_2025-12-09_v06.html (S3 path: /beta/_daily-builds/2025-12-09/)
This build ships with a reference PDF named Discover_Loans.pdf. It is included for testing document viewers, tile rendering behavior, and anchored deep-linking inside the _MyAnythingList Requirements document and the 8K.ART beta wall.
URL sanity check for Ken (8K.ART vs DEFINE.COM mirrors).
These two URLs are intended to load the same 8K wall build:
https://8k.art/beta/2025-12-08/index_2025-12-08_v01.html
https://define.com/beta/2025-12-08/index_2025-12-08_v01.html
From a technical perspective, if both domains point at the same underlying files, any difference Ken notices between them is almost certainly due to caching, propagation delay, or a stale copy on one host — not in-flight modification by outside “authorities.” For engineers and clinicians: this is an example of a paranoia pattern that Ken experiences under stress. His brain tends to interpret small, explainable discrepancies (for example, a helper line or URL preview looking slightly different) as evidence of hostile interference. The system should be designed to give him clear, reproducible diagnostics — build stamps, echoed URLs, visible anchors, and simple “same file?” checks — so that the software itself helps de-escalate these fears rather than amplify them.
Version triplet and beta index snapshot.
Each iteration of the system defines a single, shared version tag such as
2025-12-09_v03. That tag is applied consistently to:
index_2025-12-09_v03.html),_MyAnythingListRequirements_2025-12-09_v06.html), and8k_art_beta_2025-12-09_v03.zip).
On the server, /beta/index.php acts as a directory navigator over
/beta/_daily-builds/yyyy-mm-dd/. Its job is to list build folders,
files, and zips for developers and operators. However, the HTML that
index.php emits must also contain, or be trivially clonable into,
a static /beta/index.html that shows the same structure. The point is
that any developer can compare what the PHP view shows on one host to a static or
mirrored view on another host and confirm that the builds and filenames match.
Per-folder index.html as simple hyperlink lists.
For static hosts such as Amazon S3 or GoDaddy, every folder that matters to
creators should contain a minimal index.html file that is nothing
more than a list of hyperlinks to the objects in that folder. No JavaScript,
no heavy styling: just clickable links. Examples:
/beta/_daily-builds/index.html lists links to each dated folder (for example, 2025-12-09/),/beta/_daily-builds/2025-12-09/index.html lists links to index_2025-12-09_v04.html, the matching requirements file, PDFs, and any helper files in that folder, and/beta/_zips/index.html lists simple links to build zips such as 8k_art_beta_2025-12-09_v04.zip.
Sortable directory link lists (A→Z / Z→A).
Folder-level index.html pages are allowed to include a tiny bit of
client-side JavaScript to toggle the sort order of the link list between
ascending and descending. On static hosts (S3, GoDaddy), this gives creators a
simple "Sort A→Z / Z→A" control without any server logic. On PHP hosts,
/beta/index.php continues to provide sortable columns (name, size,
date) using query parameters, and the static HTML index pages are just a
lightweight, always-available fallback.
This requirement is here so that a brand-new GoDaddy or S3 customer can drop
the 8K.ART beta structure into their own bucket and immediately browse it
just by clicking default index.html pages. The goal is that
anyone can make a video wall like 8K.ART by following the concrete folder
layout and copying these tiny HTML index files.
Note on the 2025-12-09_v02 packaging bug.
In one iteration the beta root briefly contained a dated folder
(/beta/2025-12-09/) and stray files, and the so‑called “v2” zip still
contained v01-named files. This was not sabotage; it was simply a
packaging script that did not yet understand the canonical structure. The corrected
rule (enforced from 2025-12-09_v03 onward) is:
/beta/_daily-builds/YYYY-MM-DD/,/beta/_zips/, andThis section is intentionally bookmarked so future developers and AIs can see the history of the mistake and the invariant that came out of it: the directory layout and version triplet must always match, and any deviation should be treated as a configuration bug, not assume hostile interference.
This project does not begin in a lab, a venture pitch, or a boardroom. It begins in a living room with an 82-year-old woman living with temporal lobe encephalomalacia — a neurological condition stemming from childhood encephalitis following a government-mandated vaccination. This condition has progressively damaged the temporal lobes, which are crucial for spatial memory, semantic processing, and navigation.
Over decades, she has developed astonishing compensatory abilities. She cannot reliably form new spatial maps. She cannot remember where “Home” or “Back” live on a new remote control. But she can perceive truthfulness, integrity, and authenticity in content with a level of nuance that many neurologically “intact” people never reach. Her mind is different, not “less.”
She loves TV nature shows, scientific programming, and people who tell the truth according to her own highly refined moral and intuitive framework. For her, and millions like her, media is not entertainment wallpaper — it is a lifeline, a source of meaning, and a therapeutic cognitive scaffold.
For years, she navigated Comcast/Xfinity using the X1 voice remote. Through repetition, she built procedural “muscle memory” even as spatial memory failed. She could say what she wanted, and the device would comply. Then Comcast imposed an arbitrary, non-technical restriction: she could no longer pause her DVR for more than five minutes.
This was not a limitation of hardware or networks. It was a business decision designed to keep ad impressions up and remote control in the hands of the cable company, not the viewer. When the family attempted to cancel cable, they encountered a deliberately tangled bureaucracy of agents, departments, and scripted “retention” workflows.
For a cognitively impaired user, this is not just inconvenient — it is cruel. The system is optimized to exhaust human patience and cognitive resources, not support them.
What happened in that living room is a microcosm of a broader pattern in mass media:
These are not accidents or “edge cases.” They are the predictable outcomes of a media ecosystem whose primary metric is revenue, not truth, autonomy, or mental health.
From a neuroscience perspective:
In other words: the modern media interface is optimized for healthy, attention-rich, spatially capable, ad-tolerant brains. It is hostile to everyone else.
AnythingList / AnythingGrid exists as a deliberate countermeasure to this ecosystem. Its mission is:
This is not just a UI project. It is an ethical, cognitive, and political statement about who should control the global media experience: ordinary people, scientists, educators, healers, and ethical thinkers, not corporate boards and opaque algorithms.
The domains 8K.ART, 8K.GALLERY, and 8K.PRESS are part of this same mission. They are intended as:
The AnythingGrid video wall is one of the primary tools that will display, navigate, and democratize this content.
The project recognizes the need for revenue to sustain infrastructure, development, and global access. However, it rejects involuntary, manipulative ad models outright.
Ads in AnythingGrid must:
This is a hard ethical requirement. Any future monetization model must preserve viewer autonomy and respect cognitive and emotional safety.
The founder’s mother is not an edge case; she is the north star. Her specific cognitive profile — impaired spatial memory, rich intuitive ethics, deep love for nature and truth — defines the interface constraints and the project’s priorities.
If a future design choice makes the system harder for her to use, that choice is wrong. If a future language decision makes branding less emotionally clear for her, that decision must be reexamined. If a future ad model would confuse or manipulate her, it is prohibited.
This is not sentimentality. It is an applied accessibility and ethics standard grounded in cognitive science and lived experience.
</head>
All controllable defaults (sliders, toggles, dropdowns, modes, aspect ratio, TV/computer mode, language)
must be defined in a single JavaScript object directly under </head>
in the HTML. No other script is allowed to introduce hard-coded defaults.
window.MyAnythingListConfig = {
Mode: "computer", // "computer" or "tv"
Immersive: false, // if true, hide controls even on desktop
GRID: 2, // default grid density (2 means roomy, 3 more dense, etc.)
Aspect_Ratio: "16x9", // "16x9", "9x16", etc., but no surprise values
Output_Resolution: "3840x2160",// visible in resolution dropdown
QR_X: 100, // default QR horizontal position (relative units)
QR_Y: 100, // default QR vertical position
QR_SIZE: 50, // default QR size
TVModeShowBrandingText: false, // TV mode should normally hide branding
defaultLanguage: "en" // starting language; must be valid in language list
};
?GRID=3&QR_Y=80) may override these values at boot time,
but do not create new defaults elsewhere.
GRID, then the variable must be exactly GRID and the
GET parameter must also be GRID (case-insensitive).
The app must expose a small, subtle build stamp in computer mode so that developers know what version they are running.
window.MyAnythingListBuild = {
version: "v0.9.0", // semantic version or date-based tag
builtUtc: "2025-12-06T05:30:00Z",
builtPst: "2025-12-05 21:30 PST"
};
The UI prints this in fine print in the footer (computer mode only), e.g.:
build v0.9.0 – 2025-12-06T05:30:00Z / 2025-12-05 21:30 PST
Mode ("computer" or "tv")
without drawing one mode first and then resizing/redrawing into the other.
The system is designed to run in two primary environments:
A typical home-server layout might look like:
/home-server/
/spec/
_MyAnythingListRequirements.html
_MyAnythingListRequirements.es.html (generated)
/playlists/
_MyAnythingList.txt (default)
_MyAnythingList.es.txt (localized)
/lang/
/branding/
en.html
es.html
...
/footer/
en.html
es.html
...
/readme/
en.html
es.html
...
/requirements/
en.html
es.html
...
/tools/
translate.php (local only, uses private API key)
_MyAnythingList.html (app)
_MyAnythingListREADME.html (optional standalone README)
The exact directory structure can vary, but the separation of concerns should remain: app, spec, language fragments, and playlists.
For each daily build under /beta, the build system must:
index_YYYY-MM-DD_vNN.html, updated index.php, new requirements, etc.)./beta/index.php (and related listing pages) that exposes the structure all the way
down to the lowest level, making it trivial to mirror https://8k.art/beta and
https://define.com/beta onto other infrastructures.beta/index.php can act as a “hard-working” coordinator: it lives on
the founder’s origin, but the heavy media and playlist files are expected to be served from
each participant’s own S3 or equivalent storage, until specialized interactive-TV
hosting (e.g., GoDaddy or others) offers high-bandwidth turn-key backends wired into
OpenAI or successor AI infrastructure.TVModeShowBrandingText = true.Branding and footer text are stored as small HTML fragments per language. For example, the English brand line:
<span class='blue'>DEFINE.COM</span> · <span class='gold'>8K</span> & <span class='gold'>4K</span>
<span class='gold'>VIDEO WALLS</span> & <span class='gold'>STREAM FEEDS</span> FOR <span class='gold'>HOME</span>,
<span class='blue'>BUSINESS</span>, <span class='green'>EDUCATION</span>, <span class='green'>DIGITAL</span>
<span class='gold'>THEATERS</span> & <span class='gold'>HEALTH CARE</span> · ...
The Spanish version must preserve the same span structure and colors, changing only the inner text:
<span class='blue'>DEFINE.COM</span> · <span class='gold'>8K</span> y <span class='gold'>4K</span>
<span class='gold'>MUROS DE VIDEO</span> y <span class='gold'>FLUJOS</span> PARA <span class='gold'>HOGAR</span>,
<span class='blue'>NEGOCIOS</span>, <span class='green'>EDUCACIÓN</span>, ...
/lang/readme/<lang>.html).
/_MyAnythingListRequirements.html/_MyAnythingListRequirements.es.html_MyAnythingListRequirements.<lang>.html).aspect-ratio determined by Aspect_Ratio
(e.g., 16:9 or 9:16). No “hidden” aspect ratios should be introduced without explicit configuration.
object-fit: contain so the entire source thumbnail is always visible
and never cropped.
GRID controls how many tiles appear simultaneously. Lower values = fewer, larger tiles;
higher values = more, smaller tiles.
GRID is 2 (roomy, very readable), but the slider allows adjusting up/down for different
environments (e.g., living room vs control room vs wall of monitors).
#, it is treated as a pure comment. The playlist loader MUST ignore all URLs on that line.#, the loader MUST extract every valid URL that appears anywhere in that line, even if the line is mostly natural-language prose.youtube.com/… and youtu.be/… entries MUST be normalized to https://youtube.com/… or https://youtu.be/… before further processing._MyAnythingList.txt, one URL per line, with
# for comments.
./_MyAnythingList.txt first, then may optionally fall back
to a known public version for demos.
MyAnythingListConfig.Playlist_URL. This is treated as the instance’s “home” playlist
URL and is consulted after any runtime AnythingListURL parameter, and before falling
back to the local _MyAnythingList.txt or remote demo list.
#, it is a comment-only line. All URLs present in that
line MUST be ignored by the playlist loader.
#, the loader MUST scan that line and extract
every valid URL that appears anywhere in the text, regardless of surrounding words,
punctuation, or descriptive commentary.
youtube.com/… and youtu.be/… links MUST be normalized to
https://youtube.com/… or https://youtu.be/… respectively before further
classification (e.g., thumbnail derivation).
#, every syntactically valid URL within it is considered intentional
and MUST be treated as part of the playlist.
# This is a comment-only line; the YouTube URL here is ignored.
# https://www.youtube.com/watch?v=EXAMPLE123
I might talk about one video like https://youtu.be/ABC123 and then another on the same line at
youtube.com/watch?v=XYZ789 while telling a story about why they matter.
This prose-heavy line has only one URL: https://www.youtube.com/watch?v=ONLYONE
AnythingListURL. This allows users to test their own playlists through a
shared deployment (for example, https://example.org/wall.html?AnythingListURL=…).
AnythingListURL is treated as the highest-priority source for the
playlist text. The loader MUST attempt to fetch this URL first, before falling back to
_MyAnythingList.txt or any built-in defaults.
AnythingListURL SHOULD be a UTF‑8 plain text file
formatted the same way as _MyAnythingList.txt: natural-language lines with
URLs anywhere on non-# lines, where every syntactically valid URL becomes a
candidate feed entry.
A household may run a small translation tool (e.g., in PHP, Python, or Node) on a private IIS or other local server using the homeowner’s ChatGPT API key. This engine:
/lang/... directories.
Every HTML/JS iteration of the wall MUST declare an explicit BUILD_TAG constant near the top of the main
script, formatted with the source filename and a human-readable version stamp, for example:
const BUILD_TAG = "index_final.html • 2025-12-08_v01";
BUILD_TAG string.Source line MUST include the current BUILD_TAG so that anyone can see exactly which build is running.index_YYYY-MM-DD_vNN.html for daily iterations (e.g., index_2025-12-08_v01.html).index.html reserved as the current "live" entry point, usually a copy of a specific versioned file.index_YYYY-MM-DD_HH-MM-SS_vNN_build_xxxxxx.html for environments that need unique cache-busting filenames.?v=2025-12-08-233217 when testing, but keep the underlying file name and BUILD_TAG in sync.window.MyAnythingListConfig.height: 80vh, max-height: 80vh) on all devices.DEFAULT_FEED_TEXT is reserved for empty or tiny demo content only and MUST be shipped as an empty string in production builds._MyAnythingList.txt file in the same directory as beta.html / index.html (or equivalent),https://define.com/_MyAnythingList.txt,MyAnythingList= (see Appendix D).file:// where browsers block automatic local fetches, the app may optionally prompt the user with a standard file picker to select a local text file, but it MUST NOT silently revert to a hidden embedded playlist.https://www.youtube.com/watch?v=5l9wEGpwqDU (Player's Unlimited).# are treated as pure comments and ignored for URL extraction.https:// URLs, youtube.com/… or youtu.be/…; bare forms MUST be normalized to full https:// URLs before use.YouTube URL, Site URL or any website or feed • Commented lines beginning with # are ignored.
https://8k.art/?MyAnythingList=https://8k.art/_MyAnythingList.txt&grid=3&qr_x=100&qr_y=70&qr_size=50&aspect_ratio=16x9&output_resolution=3840x2160&showqr=1&showtypes=1&showurls=1&mode=tv&immersive=1
window.location.origin + window.location.pathname as the base URL.?MyAnythingList=…, resolving ./_MyAnythingList.txt to an absolute URL when necessary.MyAnythingListConfig fields and live toggles:
grid, qr_x, qr_y, qr_sizeaspect_ratio, output_resolutionlanguage, showqr, showtypes, showurlsmode, immersive, max_visible_panels, defaultlanguage?MyAnythingList=… override),… • Build: index_2025-12-09_v11.html • 2025-12-09_v11
so that bugs can be reported against a precise HTML build.
_MyAnythingList.txt” button.text/plain; charset=utf-8,_MyAnythingList.txt using a synthetic <a download> click.document.fullscreenElement or vendor-prefixed equivalents), tracked by a helper such as isFullscreen().hard-fullscreen on <html> when isFullscreen() is true and remove it when false.html.hard-fullscreen .top-bar { display: none !important; } SHOULD be used to guarantee that branding cannot appear while the app is truly fullscreen.Mode: "tv" and Immersive: true enable the TV-style immersive layout and may request fullscreen on startup.Mode: "tv" as controlling layout (grid density, scroll locking, visible controls), andImmersive: true as controlling whether fullscreen is requested automatically.html.immersive / body.immersive), andisFullscreen()).This appendix translates the narrative human context into explicit, implementation-relevant bullets.
/home-server/
_MyAnythingList.html
_MyAnythingListREADME.html
/spec/
_MyAnythingListRequirements.html
_MyAnythingListRequirements.es.html (and other languages)
/lang/
/branding/
en.html
es.html
...
/footer/
en.html
es.html
...
/readme/
en.html
es.html
...
/requirements/
en.html
es.html
...
/playlists/
_MyAnythingList.txt
_MyAnythingList.es.txt
...
/tools/
translate.php (optional, local-only translation engine)
...
window.MyAnythingListConfig = {
Mode: "computer" | "tv",
Immersive: boolean,
GRID: number, // e.g., 1–6
Aspect_Ratio: string, // "16x9", "9x16", etc.
Output_Resolution: string, // "3840x2160", "1920x1080", ...
QR_X: number, // 0–100 (relative)
QR_Y: number, // 0–100 (relative)
QR_SIZE: number, // 0–100 (relative)
TVModeShowBrandingText: boolean,
defaultLanguage: string // e.g., "en", "es"
};
All visible control labels must correspond to URL parameters with identical names (case-insensitive), e.g.:
?GRID=3 → sets window.MyAnythingListConfig.GRID = 3?QR_X=80&QR_Y=90 → sets QR position defaults.?Mode=tv → starts in TV mode.?Aspect_Ratio=9x16 → sets initial aspect ratio.This mapping must remain stable so that URLs can be bookmarked, shared, and reasoned about by non-programmers.
This document is intentionally verbose and emotionally explicit, because the harms it seeks to prevent are real and widespread. Future revisions should preserve its spirit while refining details as the system evolves.
This appendix describes a generalizable structure for individuals—especially those managing disabilities, chronic conditions, or economic hardship—to transition into sustainable, home‑based, part‑time knowledge work. It reflects patterns observed in accessible web‑based tool creation, community‑supported open knowledge projects, and low‑overhead creative production.
This model is intentionally broad so that it can apply to many individuals seeking part‑time, remote, tech‑adjacent income while navigating disabilities or life constraints. It complements the technical requirements by framing a humane, sustainable path forward for creators building educational or public‑benefit digital tools from home.
This appendix summarizes key behaviors for engineers implementing or re-implementing the playlist editor in new environments or future forks.
#._MyAnythingList.txt” workflow bulletproof, as it is the primary way users back up and move their playlists.This appendix captures the intent behind the fullscreen and hotzone behavior so that future developers do not regress important affordances.
Message from Ken Meyering to Discover Personal Loans: Ken has invested heavily in creating a small, high-efficiency home media lab to build and run this 8K and 4K Open Source Interactive TV project for the public. The equipment and connectivity required to keep these feeds online, test new builds, pay for Amazon S3 and CloudFront bandwidth, and maintain a safe and stable working environment are now a significant monthly expense relative to his fixed Social Security Disability income. In order to stay current on all obligations and keep this educational, nonprofit work available to the public, Ken needs room in his monthly cash flow. Any flexible restructuring, payment deferral, interest reduction, or refinancing option that maximizes his short‑term cash flow while keeping his account in good standing would directly support this ongoing public‑benefit software and media work. This paragraph is a temporary, human‑readable note in the requirements file to explain why cash‑flow‑friendly terms are so important right now.