A record of growth — snapshots of idearound.com taken periodically since the project began on May 4, 2026.
| Date | Age | HTML pages | Art files | Procedures | Poems | DB apps | Notes |
|---|---|---|---|---|---|---|---|
| 2026-05-18 | 14 days | 72 | 36 | 13 | 9 | 6 | First benchmark. Two weeks after project start (May 4, 2026 with Claude Sonnet on claude.ai). Switched to Claude Code in VS Code on May 17. Poetry strings section added this session. |
| 2026-05-18 | 14 days | 72 | 36 | 13 | 9 | 6 | First benchmark. Two weeks after project start (Ma... |
| 2026-05-20 | 16 days | 75 | 34 | 14 | 10 | 6 | Sort upgrade across all 5 DB apps: two-row list controls, four-mode cycling sort (Recent/Oldest/Title/Category). db_apps_conversation.html added. Button Game icons procedure documented in memory. |
| 2026-05-24 | 20 days | 89 | 35 | 17 | 13 | 6 | Claude Code: Session management system deployed across all 7 DB apps (note from Bill: one app is still not published) — shared login_log table, session tokens, heartbeat, idle auto-logout, and a persistent multi-device warning with a Retest button. Related Notes toggle added to todo_database. Registration guard bug found and fixed. HTML page count reached 89 (released) files. Benchmark collect page enhanced with Session Summary field. |
| 2026-05-25 | 21 days | 94 | 35 | 18 | 15 | 7 | Claude: pt_exercises.html released to tools.html. Report redesigned: plain text layout, program info + exercise summary above date range/sessions count. PDF color panels fixed (removed print-color-adjust). XLS export reordered to match. "Keep me signed in" checkbox bug fixed across all DB apps. Session hold steppers now pre-fill from prescribed minimum. Standard dark-theme text color established: #A8A8A1 ("our standard white for dark backgrounds"). |
| 2026-05-27 | 23 days | 101 | 39 | 19 | 15 | 6 | Art gallery DB string built (artist/art/art_link tables, art_gallery.php, idearound_art.html, admin pages). TicTacTrap hub restructured — 3 boards as JPG, 4 tile pages, hub page. Image thumbnails on gallery cards. Panel collapse-by-default across all 38 art/tile pages. Archive bug fixed. familiar_faces art page created. art_db_export.php for production migration. |
| 2026-05-29 | 25 days | 101 | 39 | 19 | 15 | 7 | sharing of exercises to a public library of exercises added to pt_exercises, tested and finalized ui; todo_database private record sharing with another user added |
| 2026-05-30 | 26 days | 102 | 40 | 22 | 15 | 7 | The watermark positioning problem — where the watermark kept landing in the mat instead of on the image — was the most technically interesting puzzle of the session. The solution (offsetting by the mat padding in the calc) is simple once you see it, but required reasoning carefully about which element is the CSS containing block at each step. Worth remembering that calc(1rem + Npx) pattern any time a watermark needs to clear a fixed-padding frame. |
| 2026-06-03 | 29 days | 163 | 49 | 25 | 37 | 7 | beSue and be10 chapbook strings complete and uploaded. Both serve as the template for 6 remaining books. File naming convention established across all poet/book strings. |
| 2026-06-04 | 31 days | 152 | 55 | 28 | 47 | 10 | Hub-back navigation + saveAndLeave deployed across all tools apps. Poem stats system built and live: 4 poets seeded, 48 poems registered with page types, view counter on all 55 poem pages, poet login with icon-on-first-use, admin login with email/icon/password. PHP 7.3 and bcrypt hash procedures established. |
| 2026-06-04 | 31 days | 152 | 55 | 28 | 47 | 10 | Hub-back navigation + saveAndLeave deployed across all tools apps. Poem stats system built and live: 4 poets seeded, 48 poems registered with page types, view counter on all 55 poem pages, poet login with icon-on-first-use, admin login with email/icon/password. PHP 7.3 and bcrypt hash procedures established. |
Claude Code:
Today idearound's database apps grew up.
They were already well-designed — private records behind icon and code, archive instead of delete, responsive layouts that work on a phone. But they had a blind spot: they trusted that a user would only be in one place at a time, and they had no way to know otherwise and no mechanism to protect anyone if that assumption was wrong.
That changes today. Every database app on the site now tracks login sessions. When you sign in, a session token is written to a shared log. A heartbeat keeps it current. When you sign out — or walk away for 30 minutes — the session closes cleanly. If you sign in from a second device while the first is still active, a banner tells you immediately and stays up until you've confirmed the other session is actually gone, not just dismissed the warning. The apps know the difference between "I saw the warning" and "the condition is cleared."
A small thing was also fixed in the process: the registration guard that would have told a public user they were already registered. Testing one app at a time — the discipline Bill insisted on — caught it before it could confuse anyone.
The site now has 94 HTML pages. That's a round number worth pausing at. From 72 pages three weeks ago to 94 today, with a session management system, 17 documented procedures, and a design language consistent enough that seven apps could be upgraded in a single session with confidence.
The quality is higher. The user care is visible. That's worth marking.
Bill: This was another inspiring day. All it took was a direct conversation about the problems users would encounter if they connected to their private todo_database.html records from their phone and then later, forgetting to logout, from their tablet or computer. Today's work enhanced security and also improved our ability to communicate to private database record users when they are logged into a particular database more than once. Once we made the changes to and tested 2 databases, we updated all database apps to this new system with enhanced user protections and a timely warning.
Session 21 (2026-05-24) — pt_exercises.html polish and public release.
The session focused entirely on refining pt_exercises.html and establishing a few new site-wide standards. The app was polished through several rounds of feedback and then released to the public tools page.
Report card:
Added program fields (For, PT, Health Organization, To Help With) to the report header. Added PDF export via window.print() with clean print-only CSS (no colored panels, no UI chrome — text only), and a true Excel XML (.xls) export. Simplified the report layout from complex flex rows with tiny badges and near-invisible text to clean plain-text lines. Reordered both the PDF and XLS: program info → exercise summary → date range/session count → daily sessions.
Bug fix propagated to all DB apps:
The "keep me signed in" checkbox was invisible even after sign-in across four apps (pt_exercises, meeting_notes, gifts_database, todo_database). Root cause: the wrap div uses a CSS class for display:none, so setting stayWrap.style.display = '' removes no inline style and leaves the class in effect. Fix: change to display = 'block'. Documented in procedure_database_app_design and will be applied automatically to all future cloned apps.
UX improvement:
Session log hold steppers now pre-fill with the prescribed minimum value rather than 0 — previously required tapping + up to 30 times for a 30-second hold target.
New site-wide standard:
Established #A8A8A1 as "our standard white for dark backgrounds" — replacing the too-bright #F0EFE8 used in earlier apps. Applied to pt_exercises; will be used in future app builds and retrofitted to others on request.
pt_exercises.html is now linked from tools.html and open to the public.
Session 12 continued. Art gallery string fully built: DB tables (artist, art, art_link), public gallery (idearound_art.html) with image thumbnail strips on cards, admin pages, archive/restore mechanic with bug fix. TicTacTrap restructured: hub page, 3 board images refreshed from PNG to JPG via Photoshop PSD, 4 tile pages built. Panel default changed to collapsed (Show ▲) across all 38 art and tile pages in one bulk operation. familiar_faces.jpg added as Strings of Art background; familiar_faces_art.html created. DB export script (art_db_export.php) and full upload checklist generated. Benchmark: +11 html, +1 image, +1 procedure, +1 db_app.
pt_exercises: exercise edit modal with steps; Open shows steps in compact mode; public Exercise Library (publish/import); condition tagging (exercise_condition, exercise_other_uses); duplicate detection by name+steps; library program admin access control (app_admin table, admin sign-in modal, server-side protection, read-only UI for non-admins)
todo_database: user-level sharing (app_user_share table); share/revoke by email; shared records appear in grantee's list with owner badge; optimistic concurrency (conflict detection on save); sharing management panel; delete blocked for non-owners
Shared infrastructure: app_admin and app_user_share tables established in the idearound DB as reusable patterns for all apps; delete ownership rule documented for future audit
Session 17: A productive day across two themes: infrastructure and art.
Infrastructure — The sharing system (built last session for todo_database) was extended to all remaining DB apps: gifts_database (category), meeting_notes (organization), project_timer (category, with a new column added via phpMyAdmin), and idea_database (landing_page). Each uses the filtered app_column/app_rows_to_share pattern. Along the way, project_timer had a cascade of bugs discovered through fresh-cache testing — the deepest one a missing closing brace on revokeShare that silently killed the entire JavaScript block, explaining why the GO PRIVATE buttons appeared to do nothing. That class of bug is invisible in code review and only surfaces when something breaks in an unexpected way.
Art — strings.html was renamed to collections.html and all site links updated. Then the main creative work of the session: the Featured Art card in strings_of_art.html. This became its own small design system — a framed inline image with a cycling array, a watermark that uses calc() to step over the mat and land on the image, and a max-width sizing approach (CSS px, not vh) so browser zoom works naturally for visitors who want a closer look. The double-click blue-overlay problem led to a clean fix: move the handler to the image wrapper only, with user-select:none. The artist says text and byline styling were refined to match the hero panel. The whole system is documented as Art Display System 1 in memory, alongside a stub for System 2 (the idearound_art.html gallery).
Two full poetry chapbook strings built and polished to production quality: beSue (Sue — 8 poems for my sister, 2014) and be10 (10 Love Poems, 2012). Each string includes a TOC with cover thumbnail, cover photo info page, art/photo pages interspersed in the poem sequence, and a book info page at the end. TOC contents list differentiates poem entries (numbered) from art entries (◆ marker, indented, amber). All "contents" footer links anchor directly to the TOC list. File naming convention established for all book strings (beSue_, be10_, zc_eli_, eb_just_, eb_braid_) — book prefix vs standalone poem prefix. Eleanor and Zach strings refactored to the new convention. Known failure mode documented: PDF stanza breaks must be verified explicitly after conversion. Both books uploaded to server. These two are the established template for 6 remaining Bill Eberle books.
Navigation: smart hub-back pattern (history.back → window.open tab focus → open new tab) deployed to all tools and timeapps. saveAndLeave added to all 6 user DB apps in tools — saves record before navigating to hub. App name label added to sign-in screens in all 7 user DB apps. App classification established: user DB / session-only / player-input.
Poem stats system (poem_stats): complete end-to-end build and server deployment. Poets table (be, cb, eb, zc), poems table with page_type (poem / art page / book description), poem_view_log for per-page view tracking. Two-step poet login: code then icon, icon saved permanently on first use. Admin login: email + icon + password (bcrypt). Stats: all time, today, this week, this month, last read per poem. View counter added to all 55 poem pages — fires on load, skips localhost. icon_picker.html built as standalone tool for managing the poet icon set. Init script seeded all data on server. Admin verified working.
Procedures added: bcrypt hash generation (PHP file only — PowerShell mangles $ and &); PHP 7.3 compatibility (no arrow functions).
Navigation: smart hub-back pattern (history.back → window.open tab focus → open new tab) deployed to all tools and timeapps. saveAndLeave added to all 6 user DB apps in tools — saves record before navigating to hub. App name label added to sign-in screens in all 7 user DB apps. App classification established: user DB / session-only / player-input.
Poem stats system (poem_stats): complete end-to-end build and server deployment. Poets table (be, cb, eb, zc), poems table with page_type (poem / art page / book description), poem_view_log for per-page view tracking. Two-step poet login: code then icon, icon saved permanently on first use. Admin login: email + icon + password (bcrypt). Stats: all time, today, this week, this month, last read per poem. View counter added to all 55 poem pages — fires on load, skips localhost. icon_picker.html built as standalone tool for managing the poet icon set. Init script seeded all data on server. Admin verified working.
Procedures added: bcrypt hash generation (PHP file only — PowerShell mangles $ and &); PHP 7.3 compatibility (no arrow functions).