YourBikeBuilder / Development evidence

Building a real product, one decision at a time.

I started YourBikeBuilder to make single-speed bicycle planning easier to understand. Alongside my Digital Intelligence studies, I have developed a product intended for use beyond the course, combining research, design decisions, critical discussion and AI-assisted implementation.

391Git commits reviewed
34Source activity dates
75 hEstimated Codex updates

Source snapshot through 30 October 2026. Update hours are a documented estimation convention, not verified stopwatch time; spoken brainstorming has not been added.

01 / My process

Thinking aloud, making decisions, testing the result.

Many ideas began through long, informal conversations with AI, often using my microphone to challenge ideas or discuss interface problems. I continued brainstorming throughout the day, including around work. These discussions informed my Codex instructions and the revisions I requested after reviewing the actual product.

My responsibilities include observing problems, researching riders and components, defining requirements, evaluating solutions and validating outcomes. AI-assisted coding accelerated implementation. It would be inaccurate to describe all the resulting code as manually written by me.

“There have to be certain important points that I should be looking at.”

YAP SES HERE, edited for clarity. Original message timestamp not verified.

“The bold subtitles are covering the main title, so the sections feel merged.”

YAP SES HERE, edited for clarity. Original message timestamp not verified.

Long messages are only treated as voice-likely, not guaranteed voice recordings. The retrospective hours below omit discussion time where precise timestamps are unavailable.

02 / Technology

Connecting version control, WordPress and hosting.

GitHub

Version control, implementation history, release records, tests and archived verification.

WordPress

The actual site and content platform, including Gutenberg pages, posts, native Query Loop and the builder routes.

Plesk

Hosting and publishing environment. Pushing to GitHub alone does not update the live WordPress files.

Custom theme

Responsive presentation, website navigation, editorial templates and light/dark design.

Bike Builder Core

The WordPress plugin that renders and supports the rider questionnaire, component logic and saved-build experience.

03 / Defining breakthrough

Why I challenged myself to build a WordPress plugin.

Moving an interactive single-speed planning application into WordPress was a challenge I set myself. The ordinary pages and content tools could not run the component-aware recommendation system I wanted, so I developed a dedicated WordPress plugin with Codex assistance. The plugin became the application layer that keeps the interactive logic engine inside WordPress without turning YourBikeBuilder into a static assignment website.

Bike Builder Core was first recorded in the source on 16 September 2026. The current source identifies version 1.6.1.

  • Six initial rider questions and follow-up refinement
  • Rule-based recommendations with supporting explanations
  • Eighteen interconnected single-speed component categories
  • Known conflict, missing-specification and provisional states
  • Multiple independent builds, saved decisions, versions and kept parts
  • Share, product consideration and private portable backup support

A planning assistant, not a certification of the completed bicycle; manufacturer specifications and physical inspection remain necessary.

04 / Product breakthroughs

Decisions that changed the experience.

05 / Academic connections

Three subjects applied to one real product.

The course topics provided useful frameworks, but not every classroom design example suited the intended product. These mappings identify relevance, not verified submissions, grades or teacher approval.

Digital Strategy 7 weeks · connected work
  1. Week 1Concept and target audienceLinked

    The concept, audience problem and six-question guidance are documented in initial product commits.

  2. Week 2Market and competitor validationPartial

    The roadmap and competitive-gap audit exist, but the interview and empathy-map submissions are not part of this ledger.

  3. Week 3USP, domain and personaPartial

    Positioning around guidance rather than a catalogue is documented; formal persona/domain assessment output is not verified here.

  4. Week 4Golden Circle, business model and forecastNot verified

    Revenue projections and commission worksheets have been discussed but no verified linked submission is in this evidence ledger.

  5. Week 5Customer journey and measurable KPIsPartial

    The product roadmap and rider journey support this topic; official KPI assessment evidence is not attached.

  6. Week 6Funnel, lead magnets and emailNot verified

    Email funnel/lead-magnet submission is not verified from the current repository.

  7. Week 7Pitch, affiliate work and documented implementation hoursPartial

    The Evidence ledger reconstructs dated source activity and time estimates; pitch and affiliate submissions remain unverified.

Realisation 1 7 weeks · connected work
  1. Week 1Concept, graphics, logo and site iconPartial

    The original prototype, logo/theme and later original bicycle imagery are recorded; each requested image asset has not been individually assessed.

  2. Week 2WordPress settings, media, pages and postsLinked

    WordPress theme/core plugin, site pages and editable blog source are version controlled.

  3. Week 3Global styles, fonts and colorsLinked

    Custom typography and design tokens are in the theme; assignment-specific gradient/link settings still need separate editor verification.

  4. Week 4Header, footer and navigationLinked

    The shared WordPress header, My build action, navigation and footer are implemented with working routes in theme source.

  5. Week 5Homepage, blocks and spacingLinked

    Custom hero layout demonstrates the chosen design direction and intentional departure from the teaching example.

  6. Week 6Further pages and content structurePartial

    About, roadmap, blog and core pages are present, but each teacher-specified block/count check remains separate.

  7. Week 7Native dynamic Blog, Featured Images, posts and backupPartial

    Native Gutenberg Query Loop, Featured Images and five posts are documented as verified; final backup/submission proof is not established here.

Digital Marketing 1 7 weeks · connected work
  1. Week 1Copyright, privacy and graphicsPartial

    Original artwork, WebP naming and site preparation are recorded; consent/copyright audit is a separate check.

  2. Week 2Keyword and competitor researchPartial

    SEO article development is documented, but keyword volume/competition worksheet is not linked here.

  3. Week 3On-page SEO and optimized contentLinked

    Five native WordPress posts, metadata and edited technical blog content have documented source and verification.

  4. Week 4Channel planning and campaign trackingPartial

    Blog discovery and content strategy are visible, but campaign/channel measurements are not verified.

  5. Week 5Analytics, events and consentPartial

    The site has WordPress analytics tooling, but completed consent-aware event tracking and measurement reports are not verified.

  6. Week 6Social media and content calendarNot verified

    A published and measurable social content calendar is not yet linked to this ledger.

  7. Week 7Backlink research and outreachPartial

    Five sustainable backlink opportunities and the non-direct-reciprocal peer requirement are documented truthfully; publication and research screenshots remain pending.

07 / Development journal

Verified dates, decisions and results.

Product orientation and homepage

Explain the single-speed planning journey on the homepage

The previous homepage showed a concise hero and footer but did not explain the six-question handoff or the meaning and limits of a starting recommendation. This update preserves the approved hero and adds a visible product narrative: a labelled example preview, three connected steps, component dependencies, six planning areas, paths for first-time and experienced riders, seven entry questions and a closing start action. Tablet and mobile steps stack before the connected process becomes cramped. It uses current Builder status language, distinguishes a suggested direction from a selected product, and states that unknown specifications and a visual preview cannot prove physical fit. The start actions follow the existing new-build route, while saved-build navigation stays separate. The source candidate is ready for regression and production review; passing fixture checks, Plesk deployment, live rendering and final served bytes are not claimed by this entry.

Source: Implementation commit a64cd18c8f1e17492c2aba329ecb4f35e30e9e0c: wp-content/themes/bike-builder/front-page.php and style.css; public start-CTA behavior in assets/theme.js; docs/HOMEPAGE.md and D-019; focused landing-hero-browser and responsive-matrix-browser suites. Baseline wordpress e09453771716d5fc0d564909bb4886f09eb4baeb passed WordPress Release Checks 41080262723 at 37/37 core, 10/10 Chromium and 16/16 responsive before this implementation. New exact-SHA CI, live WordPress, physical devices, other engines, screen readers and field performance remain to verify. · a64cd18c8. Private repository source.

Search visibility and privacy

Search visibility and browser-local privacy readiness

The live audit found that the checked WordPress Reading search-discouragement setting made genuine public pages noindex, while Rank Math still listed private and legacy pages in its sitemap. The Privacy Policy was an unpublished generic draft and portable backups included fit fields by default. This update added source-owned private and legacy route exclusions, published a product-specific native policy, added footer and form privacy links, explained browser-local Builds and made fit export an explicit opt-in for current and historical versions. Site Kit Analytics and Tag Manager snippet placements were disabled and the incomplete AdSense module disconnected after pre-consent scripts were observed. After the exact-SHA release passed and the controller deployed the merge, the Reading checkbox was cleared and Rank Math sitemap cache refreshed. Fresh production responses showed seven public pages eligible for indexing and sampled results, manager and legacy routes still noindex. HTTPS www still returned 503. This does not establish search-engine indexing, legal approval or exact served bytes.

Source: Starting baseline: WordPress Release Checks 40981924434 attempt 2 at bce135590a0223c966f1d2470d1a6f03036a4aa8, core 36/36, Chromium 10/10, responsive 16/16. Implementation commit 3e1c03bddff08f6543c5e670df4d9e42272eb66e; PR exact-SHA run 41033428551 passed core 37/37, browser 10/10, responsive 16/16; merge 796c2cae917d0d537f392dbf34985a85ca470727; exact merged release run 41034798425 green; main controller run 41036523062 returned Plesk HTTP 204 and moved production-current to the merge. WordPress Reading checkbox checked to unchecked; refreshed page sitemap contained seven public pages. Live route and data-map detail: docs/SEARCH_PRIVACY_TRUST.md. No professional legal review; third-party retention and HTTPS www resolution remain open. · 3e1c03bdd. Private repository source.

Product reliability and implementation

Reveal All Parts navigation below the tablet header

The first six actual-footer viewport/theme cases passed in clean Chromium, then the 768×1024 light case showed the All Parts Back control covered by the sticky site header after opening from a scrolled product view. The failure screenshot places the control at y=4–38 beneath the 94px header. Opening All Parts on narrow layouts now scrolls its navigation into view with room for the header, and the browser test checks the close control and title are hit-testable immediately after the filter selection. This does not change saved-build data, component decisions or mechanical guidance. The corrected actual-footer matrix then passed all sixteen desktop, tablet and mobile light/dark journeys in 181 seconds at the exact branch SHA. Production verification remains pending.

Source: GitHub Actions 40977449268 at f66294447d065ecb73269716bdb79c1fd5eb2489: core 36/36, browser 8/10, My Builds complete pass; artifact 12943353269 screenshot responsive-matrix-browser/output/768x1024-light.png. wp-content/plugins/bike-builder-core/assets/builder.js; assets/builder.css; tests/responsive-matrix-browser.cjs. GitHub Actions 40978739816 at 2f0e9a4895bcefe6497f466b1bca77a8a864422d: 16/16 matrix, 10/10 browser suites and 36/36 core with evidence check, zero failures or skipped suites. · 2f0e9a489. Private repository source.

Product reliability and implementation

Handle My Builds Escape once

The exact-SHA rerun of the manager focus correction exposed two cancel listeners on the same modal event. The dialog listener closed the manager, then the capturing root listener closed it a second time and replaced the saved opener focus. The modal now relies on the root handler, with a guard against a repeated close. This completes the same manager-focus implementation update as m46. The short-desktop and real-footer failures in that run were fixture assumptions; their assertions now verify reachable controls and the actual footer placement. Saved-build data and mechanical guidance are unchanged. The full My Builds suite subsequently passed in clean Chromium, including thirteen viewport sizes, focus return, route/history and disposable CRUD checks. Production verification remains pending.

Source: wp-content/plugins/bike-builder-core/assets/builder.js; tests/build-manager-context-browser.cjs; tests/product-consideration-browser.cjs; tests/responsive-matrix-browser.cjs; GitHub Actions 40975853560 at 753ac6cd4e7b2fde34282276fccae60138f998c6: core and evidence checks pass, browser 7/10; manager double cancel, compact-height assertion and footer selector failures. No additional provisional hour: continuation of m46/w76. GitHub Actions 40977449268 at f66294447d065ecb73269716bdb79c1fd5eb2489: full manager suite PASS in 61s, 13 sizes, no page errors.. Private repository source.

Product reliability and implementation

Restore My Builds focus and shared mobile navigation spacing

The GitHub-hosted Chromium baseline reached two user-facing discrepancies. Closing My Builds with Escape focused the header action instead of the button used to open it, and the Builder navigation had a wider mobile gap than the public header. I retained the actual opener with a safe fallback for direct or reloaded routes and aligned the Builder mobile gap with the theme. Browser assertions preserve focus return and exact header geometry at narrow widths. Saved-build data and mechanical guidance are unchanged. Full rerun and production verification remain pending.

Source: wp-content/plugins/bike-builder-core/assets/builder.js; wp-content/plugins/bike-builder-core/assets/builder.css; tests/build-manager-context-browser.cjs; tests/product-consideration-browser.cjs; GitHub Actions 40974712438 failure log (8/10 browser suites; 16/16 initial responsive fixture journeys). GitHub Actions 40975853560 isolated a second cancel listener; follow-up recorded in m47.. Private repository source.

Product reliability and implementation

Make status explanations close on a second press

A real Chromium regression run exposed that pressing an already open status explanation could dismiss its popover before the click handler, which then reopened it. The Builder now remembers its open state at pointerdown and closes on the second press. The existing browser assertion passed ten responsive light and dark cases in the exact-SHA Chromium rerun. This changes no saved-build schema or mechanical recommendation. Production verification remains pending.

Source: wp-content/plugins/bike-builder-core/assets/builder.js; tests/explanation-popovers-browser.cjs; GitHub Actions 40971867511 failure and 40973643542 ten-case pass at 65d8629786310087e721ede362b29d2d38219ca4. Full browser baseline remained 6/9; production verification pending. · 65d862978. Private repository source.

Product reliability and implementation

Recover the regression baseline and My Builds route

The full core test inventory was reconciled against current height, catalogue, privacy and component contracts. Opening My Builds now records its management route so a refresh can restore the manager; an unanswered height slider remains operable but no longer presents its placeholder as an accepted choice. These are focused fixes, not a change to mechanical compatibility or saved Build schema.

Source: tests/run-builder-tests.cjs; tests/build-manager-context.cjs; tests/beginner-control-pass.cjs; docs/TESTING.md. Browser and live verification pending at entry time.. Private repository source.

Product design and implementation

Remove assignment-only footer navigation

Once the assignment phase ended, I removed the secondary footer menu that linked to assessment-specific WordPress pages. The main footer now keeps the current product links and social channels.

Source: wp-content/themes/bike-builder/footer.php; wp-content/themes/bike-builder/style.css. Private repository source.

Product design and implementation

Contain enlarged product cards and relocate personalization

Corrected the large product-card flow so the component column scrolls continuously and complete cards remain above dependency guidance. Moved the colour editor entry into the bicycle canvas at the top right, renamed it Personalize, and removed the lower-left slot that could collide with Cookie settings on narrow screens.

Source: assets/builder.js; assets/builder.css; tests/product-image-presentation.cjs. Private repository source.

Product design and implementation

Make product imagery lead selection and remain visible in the Build

Expanded the candidate-card image area and removed the desktop width cap. Selected products now reuse the same real retailer or demo image renderer as the detail view, alongside brand, price and confidence context, rather than reverting to a generic component illustration. Desktop and small-screen layouts preserve a large, readable product image.

Source: assets/builder.js; assets/builder.css; tests/product-image-presentation.cjs. Private repository source.

Product design and implementation

Make beginner decisions and purchasing state clearer

Applied the user-testing control pass to the existing Builder: constrained height input, separated whole-bike and active-component surfaces, scoped cockpit refinement away from frame ownership, made dependency guidance contextual, strengthened intentional locks, exposed included components and honest selected-product totals, converted All Parts into a purchasing summary, released product-rail wheel scrolling at both edges, and preserved the exact Builder route after My Builds closes.

Source: assets/builder.js; assets/builder.css; tests/beginner-control-pass.cjs. Private repository source.

Marketing

Close the Week 7 backlink evidence gaps

Screened BikeRideReview out against the course age gate, retained BikeTips and The Standard Engine as unverified candidates, and prepared the existing Evidence model for real Google, Ahrefs, Semrush, referring-page and peer-publication proof. Authority values remain empty, the five opportunities remain Planned, and the peer backlink remains Pending.

Source: page-evidence.php; evidence/entries.json; tests/evidence-check.cjs. Private repository source.

Marketing

Complete the Week 7 backlink research evidence workflow

Expanded the existing Backlink Acquisition evidence with the selected keyword and target guide, a provisional competitor and explicit verification boundary, the complete seven-step research flow, five established acquisition routes, and a data-led assignment checklist. All five opportunities remain Planned, the peer link remains Pending, and missing external screenshots and publication proof remain visible rather than fabricated.

Source: page-evidence.php; evidence/entries.json; tests/evidence-check.cjs. Private repository source.

Digital Marketing

Connect suitable builds to real Santafixie products

I moved the commercial flow from theory into the Builder with a small verified retailer layer. Fifteen real Santafixie products now sit beside the fictional coverage catalogue, with clean retailer destinations, product imagery where available and an affiliate-ready fallback. Affiliate tracking is still pending and cannot influence recommendations.

Source: 15 real product records; clean Santafixie URLs; shared affiliate fallback; retailer images with neutral fallback; targeted retailer-product tests. Private repository source.

Product

Reveal the assembled starting bike before the Builder

Replaced the extra static questionnaire completion page with a short Build Reveal that uses the already-resolved Road, Gravel or Track modular SVG. The presentation exposes frame and fork first, then wheels, tires and drivetrain, then cockpit, saddle, brakes and remaining parts, with honest status text and no percentage. Completion is locked against double submission, the reveal does not mutate Build or history state, the results route does not replay it after refresh, and reduced-motion users receive a shorter readable handoff. Targeted unit and browser coverage checks model-specific artwork, persistence, one navigation, responsive layouts and both themes.

Source: tests/questionnaire-entry.cjs; tests/questionnaire-entry-browser.cjs; docs/PROJECT_GRAPH.yaml. Private repository source.

Marketing

Create a truthful Week 7 backlink acquisition record

Added a data-led Backlink Acquisition section for Digital Marketing evidence. Five strategic opportunities are separated from the pending peer-link requirement, and status counts derive from stored Live, Submitted, Planned and Pending values. Each target records a verified YourBikeBuilder destination, natural anchor context, relevance and optional proof fields. No planned link, SEO metric or unavailable screenshot is presented as completed evidence.

Source: page-evidence.php; evidence/entries.json; tests/evidence-check.cjs. Private repository source.

Product

Keep bicycle direction stable during component swaps

I reported that changing a handlebar could unexpectedly replace the whole Track bicycle and appear to lose its colours. Codex separated the frame-only inference signature from component appearance state. Road, Gravel and Track now retain their archetype through handlebar, wheel, brake, gearing, personalization and UI/status changes; a questionnaire frame-direction change or an explicit supported frame-product requirement remains allowed. Component swaps keep the Build identity, answers, Fine-tune, Fit, gearing, kept choices and unrelated products. Compatibility continues to flag real mismatches instead of deleting parts or redesigning the bicycle. Regression tests cover every frame with drop, flat and bullhorn bars, personalized Track swaps, wheel/brake changes, selected-product retention, journey diffs, historical versions and .ybb restoration. All 30 project suites pass. Physical devices and screen readers remain outside this automated verification.

Source: tests/visual-models.cjs; docs/PROJECT_GRAPH.yaml; docs/verification/visual-state-ownership/live.json. Private repository source.

Product

Three bicycle directions with interchangeable parts

I supplied gravel/track bicycles, two extra spoke shapes and bullhorn/flat-bar vectors, and asked for contextual questionnaire selection with modular components. Codex preserved all five source files byte-for-byte, extended the existing SVG renderer around fixed model anchors and retained the same 18 logical components. Road stays the neutral fallback; corroborated terrain or style/aggression selects the other directions. Wheels, bars and reusable rim/disc brakes remain independent. Semantic colours extend the existing editor, Build preferences, .ybb and snapshot-derived journey; saved direction does not change merely because inference weights change. Selected physical specifications outrank cached appearance, and colours/model choice never certify compatibility. The retained overview cache includes visual-model and semantic-colour state, so Apply immediately replaces stale artwork and its saved colour baseline. Reset without an override and simulated storage failure also restore visible saved colours without changing the previous save. Verification includes 30 suites, 96 layout/theme/model cases, 48 status cases, 18 colour-group cases, six modular and six native cable-contact cases, plus ten existing popup cases. Dedicated riser/non-drop lever artwork and physical device/menu-zoom/screen-reader certification remain unavailable; the UI states those artwork limits.

Source: docs/visual-models.md; tests/visual-models.cjs; tests/visual-models-browser.cjs; docs/verification/visual-models/live.json. Private repository source.

Product

Put Kept explanations on the shared popup layer

I reported that the Kept explanation was still clipped by the component panel. Codex traced it to a separate legacy inline disclosure, moved it onto the existing native top-layer status explanation controller and removed the obsolete absolute-position rules. The same controller now clamps both axes, follows viewport changes and synchronizes disclosure state after Escape, outside clicks and another automatic popover. The existing 29 suites pass. Focused browser tests exercise both themes, keyboard controls, an explicitly clipping ancestor, popup exclusivity, viewport resize and component navigation. This verifies the tested Builder explanations, not every future popup or physical screen reader.

Source: tests/explanation-popovers-browser.cjs; docs/verification/explanation-popovers/report.json; docs/verification/explanation-popovers/live.json. Private repository source.

Product

Separate chosen parts from checked evidence and preserve the Build journey

I asked for Build Progress above the bicycle, specifications below, pointers with an air gap, green reserved for checked evidence, continuous questionnaire recovery and a readable journey. Codex used the project graph to target the existing workspace, shared state, collection and version boundaries. Position stays in each Build snapshot and .ybb; Back does not delete answers. Journey derives human differences from existing versions, with bicycle-only optional sharing and read-only history. Targeted tests cover partial recovery, backward position, Build isolation, backup, evidence semantics and privacy. All 29 project suites pass. Browser checks cover 32 theme/viewport combinations, native SVG air-gap probes, questionnaire Back/reload/navigation, journey entry and confirmed/kept physical-colour preservation with active gold priority. Deployed from 238daf46b829fc8683aa9400401512239eed0104: four file hashes verified, temporary installer removed and final PHP compared exactly. Live Progress/specification order, six specs, nine leaders without endpoint dots and existing-version journey confirmed; physical frame fill stays unchanged in both themes. No physical device, screen-reader or real menu-zoom certification is claimed.

Source: tests/journey-questionnaire-state.cjs; tests/modular-bicycle-preview-browser.cjs; docs/PROJECT_GRAPH.yaml; docs/build-continuity-delta.md · 238daf46b. Private repository source.

Product

Keep navigation consistent and polish reading and the Full HD workspace

I asked for stable shared navigation, state-driven saved-build actions, Evidence inside Builder, a dedicated Full HD layout, exterior bicycle callout routes, better light-mode outlines, polished About actions and reliable Blog zoom/TOC. Codex reused the existing collection modal and image dialog, passed the theme navigation definition to Builder, kept saved-build controls hidden at zero, and refined the existing layout and scroll-spy. All 28 project suites and 24 Builder browser cases pass. A focused browser fixture verifies public 0/1 Build state, existing modal entry, 1920x1080 composition, About hierarchy, featured-image zoom/focus, sticky TOC/final section and mobile. Deployed from 1754311e9f4fd66a431d1d8977a2e4f662e4c2d9: eight hashes verified, temporary installer removed and final PHP compared exactly. Live Builder navigation/modal, About 170x48px action hierarchy, first-image viewer/Escape focus, sticky TOC anchor/highlight/header offset and fixed homepage header were checked. Physical devices and screen readers remain unverified.

Source: tests/public-workspace-delta-browser.cjs; docs/shared-header-article-polish.md. Private repository source.

Design

Fill the hero supporting sentence width

I marked the empty leading space before Find the right fit and asked to fill it with the lettering. Codex aligned the desktop sentence first glyph with the headline and distributed its words through the existing width to preserve the CTA right-edge alignment. Copy, font size, CTA position, bicycle crop and mobile behavior are preserved. Responsive checks and live source verification are recorded in the handoff. All 28 project suites pass. Live source matches exactly after save; both themes use the corrected desktop alignment. At 2560px, headline and sentence left edges both measure 627.1875px and the sentence box ends at 1375.9844px versus CTA right 1376px. The isolated Chromium rerun was unavailable because its temporary executable had expired; the 28-case hero test was updated but not reported as rerun.

Source: tests/landing-hero-browser.cjs; docs/landing-hero.md. Private repository source.

Product

Let product cards fill their available space

I asked to remove the visible product scrollbar and enlarge the product boxes into the unused space below them, rather than enlarging View details again. Codex hid the scrollbar while retaining native scrolling and arrow controls, stretched cards through the available desktop product region and kept the details action at its existing size. Responsive verification and live deployment are recorded in the handoff. All 28 project suites and 24 browser viewport/theme cases pass. Additional checks at 1366x768, 1440x900, 1536x864, 1600x900 and 1920x1080 verify card fill, visible action, unchanged 44px button and hidden scrollbar. Live CSS was compared exactly after saving; in both themes the card bottom matches its region bottom at 614.625px and the button remains 44px.

Source: tests/modular-bicycle-preview-browser.cjs; docs/product-card-details.md. Private repository source.

Product

Make product details easier to open

I asked to open details by clicking the product directly and give View details a larger, clearly defined button. Codex reused the existing details action for non-control card clicks, retained keyboard access through the native button and preserved drag suppression. The neutral full-width button has a minimum 44px target in both themes. Verification and production outcome are recorded in the release handoff. All 28 project suites and 24 browser viewport/theme checks pass, including direct image clicks, keyboard Enter, 44px button height and drag suppression. Deployed from 23fab902d9a404d5ef028c248bb70d67a1252e1d with four verified file hashes and installer removal. Live details opening and both themes were checked. The compact desktop card arrangement now applies through 1000px viewport height so the button stays visible; its live bottom is 562.82px inside a product region ending at 614.63px.

Source: tests/modular-bicycle-preview-browser.cjs; docs/product-card-details.md. Private repository source.

Product

Simplify Build controls and finish Evidence deployment

I asked to finish the Evidence route, replace All Parts filters with a grouped Show dropdown, keep Fine-tune navigation visible, fit normal laptops without document scrolling, add a floating frame-colour editor, simplify import layout and refine hero spacing. Codex implemented these controls while preserving rider meaning, saved choices, compatibility rules and independent themes. All 28 project suites pass. Isolated browser checks cover 24 Build viewport/theme combinations and 28 hero combinations; frame hex colour persists across reload. Published as 01936715f4ebd243c3bfd053b57687336175267d and installed on production: all ten fixed-file hashes verified, PHP parsed before writes and the temporary installer was removed. Live checks confirm the grouped dropdown, frame-colour dialog and compact import footer. Evidence has 21 course weeks and no horizontal overflow at 390px in both themes after shrinking grid children. The live 1366px hero CTA centre is exactly 683px; supporting text ends within 0.02px of its right edge. Physical devices, screen readers and actual browser-menu zoom remain unverified.

Source: docs/evidence/deployment.md; tests/modular-bicycle-preview-browser.cjs; tests/landing-hero-browser.cjs. Private repository source.

Process

Make the development Evidence useful as a continuing product record

I asked for an automatically maintained, dated journal of design decisions, implementation, technical breakthroughs and school learning connections rather than assembling evidence manually. This refinement updates the Git baseline, connects each course week to traceable source work or an explicit evidence gap, and separates repository verification from actual production deployment. The work remains source-first until the WordPress Evidence page has been verified on hosting.

Source: docs/evidence/README.md; wp-content/themes/bike-builder/evidence/entries.json; GitHub Evidence validation. Private repository source.

Product

Make Current builds openable and close My Builds safely

I reported the single-Build dead end, blank close screen, zoom overlap, hidden status explanations and compressed Fine-tune choices. The WordPress workspace now includes an openable Current Build, safer modal cleanup, natural bounded bicycle composition, accessible-status popover handling and responsive refinements. The source was completed through follow-up commits on 24 October 2026 and the existing Evidence workflow passed. Earlier isolated tests covered modal close/open/reload and 18 viewport/theme cases; the new live production deployment has not been independently verified for this Evidence record.

Source: docs/my-builds-lifecycle-fix.md; final source af57e8e; Evidence CI passed · af57e8e51. Private repository source.

Product

Preserve physical bicycle colours and logical interactions

I supplied final SVG version 4 and asked for logical component routing and status accents that preserve physical colours. Codex retained the existing state system, updated geometry, mapped internal paths to logical components, added brake-track materials and used outlines and dashed Kept edges. The release and follow-up canvas fixes were subsequently deployed; all three production source hashes were verified. Focused domain tests and browser navigation checks pass. Physical devices and assistive technology remain unverified.

Source: docs/final-svg-interactions.md; tests/canonical-bicycle-model.cjs; tests/modular-bicycle-preview-browser.cjs · 07ff2465f. Private repository source.

Product

Use the supplied canonical SVG as the interactive Build model

I supplied a final named SVG and requested replacement of the generated bicycle with its own geometry. Codex integrated the original paths, 18 component mappings, physical selection/Kept states, valve shortcuts, visual-only colours and controlled gearing/stem/seatpost/crank modifiers. Targeted unit, domain persistence and ten responsive/theme checks pass, including valve click/keyboard navigation, scoped colours, callout bounds and reduced motion. Production verified: three server hashes match, final PHP matches Git, installer absent, and live desktop has 31 targetable parts, nine labels, no overflow and functioning valve-to-Tubes navigation. The cockpit deliberately remains dropbar and no exact product geometry or fit is implied. Final large-desktop review prompted a small uniform placement/scale correction to clear the compact specification band while keeping the wheel baseline. Final placement is deployed and verified with 18.83px clearance below compact specs, no overflow and exact PHP/installer removal.

Source: docs/canonical-bicycle-model.md; tests/canonical-bicycle-model.cjs; tests/modular-bicycle-preview-browser.cjs · 9981e044e. Private repository source.

Design

Integrate the new bicycle into a theme-aware landing hero

I requested one large bicycle, a compact left-aligned headline and CTA, and an exact #161616 dark background while keeping the light canvas independent. Codex integrated the supplied transparent image unchanged, responsive desktop/mobile composition and one hero starting action using the existing theme bootstrap. Twenty-eight targeted theme/viewport checks pass, including exact colours, identical theme geometry and CTA visibility/routing. A follow-up reference aligns copy with the saddle and places a #252525 CTA alongside its tip; numeric alignment checks pass at 1643×844. The final follow-up centres the CTA in both viewport axes and aligns the actual sentence endpoint with its right edge; responsive and admin-bar fixture checks pass. The hero typography is unified in the existing Manrope family, with a larger, tighter 600-weight heading and consistent copy/CTA; actual-font rendering checks pass without changing other-page typography. The user explicitly authorized publication/deployment and requested My build in the header; Codex replaced the header starting CTA with one saved-Build-aware neutral link. Initial production installation verified six file checksums and exact plugin restoration. Live QA found classic-scrollbar and body-level admin-bar offsets; Codex corrected viewport-based anchors and added real-scrollbar/body-wrapper fixtures. Final production verification confirms all server hashes, exact original plugin restoration, exact targeted live functions patch and installer removal. Live CTA centre is (1280,624.5) in a 2560×1249 viewport with matching sentence/button right edges, both exact theme backgrounds, no overflow and functioning My Builds header navigation. Original light preference was restored; saved Build data was not intentionally modified. Physical devices, actual browser-menu zoom and assistive technology remain manual.

Source: docs/landing-hero.md; tests/landing-hero-browser.cjs · 081d2f3b0. Private repository source.

Product

Make the bicycle a modular illustrative Build preview

I requested a clean technical side profile that responds to major Build choices without pretending to reproduce exact products. Codex replaced traced artwork with controlled SVG modules, visual-only frame colours and independent front/rear scope overlays while retaining measured HTML callouts. Targeted archetype, fallback, persistence and scope tests pass alongside the existing project suites; isolated Chromium checks both themes and five sizes. Production verification confirms all three source checksums, exact final PHP and installer removal; live desktop has 17 modules, nine labels, one active label and no overflow. Navigation preserves appearance and refresh retains Tires. Physical devices and assistive technology remain manual.

Source: docs/modular-bicycle-preview.md; tests/modular-bicycle-preview.cjs; tests/modular-bicycle-preview-browser.cjs · 0664a4398. Private repository source.

Product

Keep the rider in context and pause the bicycle during Build management

I requested reliable refresh restoration and a true My Builds modal, with stronger component navigation and progress. Codex added URL-based work context with a separate per-tab navigation cache, a native management dialog that preserves the underlying draft/workspace, explicit Build switching and reused collection/backup actions. Local verification passes 27 suites and isolated Chromium at 13 sizes, including focus, no unrelated writes, CRUD, refresh and bicycle-footprint checks. Production is verified: all three server checksums match, final PHP matches Git and the temporary installer is absent. Live Tires/V3 refresh retains route/component/version; modal background/header inertness, scroll lock and Close/Escape focus return are confirmed without intentionally changing saved product/answer/version/collection records. Physical devices, screen readers and browser-menu zoom remain manual.

Source: docs/build-manager-context.md; tests/build-manager-context.cjs; tests/build-manager-context-browser.cjs · 2e8998836. Private repository source.

Product

Make the Build workspace clearer and Blog discovery useful

I requested independent active, in-build and kept states; readable responsive product and technical views; inline All Parts; focused imports and deletion that stays in My Builds; optional references without false impacts; and native Blog discovery. Codex implemented Main 1.5.7 and regression coverage. Local verification passes 26 suites and isolated Chromium at 13 requested viewports, with zoom-equivalent reflow. Deployment is verified: all seven server checksums matched, final PHP matches Git and the installer is absent. Live Blog search confirms synonym equivalence, title ranking and empty state; editable associations on five posts surface genuine related guides. A title-entity display correction is also verified. Live desktop state/navigation is checked; mobile and zoom checks use isolated Chromium. Actual browser-menu zoom, physical input and assistive technology remain manual. Legacy comparison bindings are normalized when restored so the format change does not create a false recheck; the regression and final guarded deployment are verified.

Source: docs/workspace-continuation.md; tests/workspace-continuation.cjs; tests/workspace-continuation-browser.cjs · 72a06d49e. Private repository source.

Design

Preserve the original 4K landing image

I supplied the original artwork in a ZIP after direct image uploads arrived at 2048×1152. Codex verified the archived WebP at 3841×2161 and 339,568 bytes, preserved its exact bytes and prepared a distinct 4K image URL to avoid the cached smaller copy. Layout and content remain unchanged. Production installation is verified: server SHA-256 3f6f6b7e8394ca33914b6796548042221dd9d52a70df196af10bbb8a55db3134 matches the ZIP image; original PHP is restored and temporary deployment code is absent. All 25 suites pass, with live desktop/mobile layout checks. No new human-work duration is inferred.

Source: Original user ZIP; Pillow dimensions; deployment verification in docs/CODEX_HANDOFF.md · ad08aef58. Private repository source.

Design

Supplied bicycle artwork becomes the landing background

I chose my supplied dark bicycle WebP for the landing background. Codex applied it unchanged with landing-only contrast styling and a mobile crop. The existing content and Start building destination were preserved. All 25 existing suites passed; isolated and live desktop/mobile checks confirmed a visible CTA and no horizontal overflow. Live image/CSS checksums matched, and temporary deployment code was removed. This milestone does not add a measured human-work duration.

Source: docs/CODEX_HANDOFF.md; docs/verification/landing-background-live.png; 25/25 suites and live file checksums · 5baaa5164. Private repository source.

Design

Questionnaire clarity and responsive refinement

I refined the entry flow to keep six initial questions prominent without hiding saved-build access.

Source: Focus six-question entry, progress and saved-build access, Main 1.5.6 · b23802090. Private repository source.

Technical

User control and portable backups

I prioritized rider intent, explicit gearing changes and preserving work across sessions.

Source: Add rider gearing, portable backups and all-component demo dependencies · 389c7c025. Private repository source.

Technical

Multiple builds and kept-part constraints

I wanted people to compare builds while respecting locked choices and real component dependencies.

Source: Add independent local builds and kept-choice product constraints · 4dc1824d3. Private repository source.

Breakthrough

The interactive two-column Build workspace

I redirected the experience around a large bicycle and one focused component area.

Source: Complete interactive bicycle Results workspace, Main 1.4.0 · 64d43a92e. Private repository source.

Realisation

WordPress-native Blog implementation

I ensured the blog was editable in Gutenberg using real Query Loop and Featured Image blocks.

Source: Use native Gutenberg Blog Query Loop and Featured Images · 1540d3347. Private repository source.

Design

Clearer visual hierarchy

I evaluated competing headings and confusing statuses through conversation and used that criticism to revise the interface.

Source: Sprint Day 1: unify Main visual system, fix presentation semantics and document UX audit · 6332c84df. Private repository source.

Technical

Persistent build versions

A rider should be able to revisit or compare decisions without losing a previously saved build.

Source: Ship Day 15 versioned local save/resume with safe migration, recovery and regression coverage · 7e8060a5d. Private repository source.

Technical

Source-backed recommendations

I treated unknown measurements and unsupported mechanical claims as uncertainty rather than confirmed safety.

Source: Ship Day 8 recommendation evidence schema and source audit · a9be8e58f. Private repository source.

Product

Progressive refinement

I kept the initial questionnaire fast and made deeper fit and component questions optional.

Source: Add progressive build and fit refinement · 9d62ccc40. Private repository source.

Process

Thirty-day product roadmap

I moved toward a sustained product-development process rather than an assignment-only deliverable.

Source: Add 30-day product roadmap page · ba5c8fe65. Private repository source.

Marketing

Educational content and technical SEO

I used component explanations and comparison content to help readers make informed decisions.

Source: Add two SEO blog articles · 3fcabd71e. Private repository source.

Breakthrough

WordPress migration and the custom plugin

Instead of abandoning the bicycle logic when moving to WordPress, I challenged myself to build a plugin that would support the engine.

Source: Create WordPress Bike Builder theme and core plugin · d2a8e5350. Private repository source.

Product

Saving the rider's decisions

I wanted progress to survive reloads and interruptions.

Source: Persist questionnaire answers and add saved build shortcut · a49bffbe4. Private repository source.

Product

Guided questions and first recommendation engine

Rider answers were translated into starting recommendations and component states.

Source: Build guided single-speed questionnaire · 2a8d3b5cf. Private repository source.

Product

The original prototype and editorial landing page

The initial concept became a standalone product prototype.

Source: Build responsive Bike Builder landing page · 98cec6d49. Private repository source.

08 / Work and verification

How the time estimate is calculated.

As requested, this working model assigns one provisional hour per distinct documented Codex implementation update, not per Git commit. Historical records were reconstructed from dated commits, release notes and grouped activity; a 75-minute inactivity gap was used as an initial clustering heuristic, then separately directed releases and design iterations were recorded as separate entries. Some records share a commit cluster. These estimates do not measure actual human labour. Microphone-led discussions, manual WordPress actions and unverified overlaps are not included in the numeric total.

Extended, conversational paragraphs may originate from microphone input, according to the creator. Length alone does not prove a recording duration. Voice-led sessions and workday brainstorming shaped requirements, but no exact audio time is claimed.

75 provisional hours across 79 documented activity records. Documentation-only clusters are listed at zero estimated Codex implementation hours; that does not mean the work took no time.

Reconstructed development activity
DateTaskCommitsHours
30 October 2026Homepage product clarity and activation implementation21 h
30 October 2026Search, privacy and trust readiness implementation41 h
30 October 2026Tablet All Parts close-action reachability11 h
29 October 2026Browser manager focus and mobile header parity corrections11 h
29 October 2026Browser status explanation toggle correction11 h
29 October 2026Regression baseline recovery and focused Builder route/height fixes11 h
29 October 2026Remove assignment-only footer navigation11 h
28 October 2026Product-card containment and canvas personalization fix11 h
28 October 2026Product-card and selected-product imagery pass11 h
28 October 2026Beginner-control and purchasing-summary pass11 h
25 October 2026Week 7 backlink evidence gap closure11 h
25 October 2026Week 7 backlink research handoff implementation11 h
25 October 2026Santafixie retailer product and affiliate-ready URL layer11 h
25 October 2026Questionnaire-to-Builder modular Build Reveal11 h
25 October 2026Week 7 backlink acquisition evidence and responsive status model11 h
24 October 2026Frame-model ownership and surgical component-swap regression fix11 h
24 October 2026Contextual road/gravel/track composition and shared semantic visuals21 h
24 October 2026Kept and shared explanation layer regression fix11 h
24 October 2026Progress hierarchy, evidence semantics and questionnaire/journey continuity11 h
24 October 2026Shared navigation, Full HD composition and About/Blog polish11 h
24 October 2026Align both ends of the desktop hero supporting sentence11 h
24 October 2026Fill the product region with larger cards and hide the scrollbar11 h
24 October 2026Make product cards directly clickable and details buttons prominent11 h
24 October 2026Simplify Build controls, refine hero and complete Evidence deployment11 h
24 October 2026Reconcile current source and improve the continuing Evidence case study01 h
24 October 2026Final SVG interactions, physical canvas and Current Build recovery51 h
24 October 2026Swap final SVG and refine logical interactions11 h
24 October 2026Integrate the supplied canonical bicycle SVG41 h
24 October 2026Integrate the responsive two-theme landing hero21 h
23 October 2026Compose a modular illustrative bicycle preview21 h
23 October 2026Restore work context and create modal Build management21 h
23 October 2026Build workspace and Blog discovery continuation21 h
23 October 2026Add rider gearing, portable backups and all-component demo dependencies141 h
23 October 2026Add included parts, progressive discovery and transactional Build editing, Main 1.5.211 h
23 October 2026Align My Build with supplied desktop reference, Main 1.4.761 h
22 October 2026Move My Build tools into workspace views and anchored menus31 h
22 October 2026Complete interactive bicycle Results workspace, Main 1.4.0331 h
22 October 2026Apply fine-tuning consistently across the whole build51 h
22 October 2026Use native Gutenberg Blog Query Loop and Featured Images71 h
21 October 2026Sprint Day 2: clarify Results dashboard hierarchy81 h
21 October 2026Polish Results progressive disclosure and inline component silhouettes181 h
20 October 2026Standardize plain-language Results and planning copy91 h
20 October 2026Fix live refinement rendering with cancellable component previews; production deployment pending31 h
20 October 2026Register five-day presentation polish protocol and pause roadmap after Day 1951 h
19 October 2026Add Start building CTA to Main header with responsive layout and assignment-page exclusion21 h
18 October 2026Day 17: compare gearing, tire and cockpit alternatives without changing saved builds21 h
16 October 2026Ship Day 16 previewable public build summaries with private-fit exclusion and copy fallback21 h
15 October 2026Ship Day 15 versioned local save/resume with safe migration, recovery and regression coverage11 h
14 October 2026Add Day 14 rule/refinement regressions and fix inactive answers, height guards and focused paths21 h
13 October 2026Ship Day 13 compact results hierarchy on Main11 h
12 October 2026Ship Day 12 scoped compatibility comparisons and explanations11 h
11 October 2026Ship Day 11 context-aware professional-fit references11 h
10 October 2026Ship Day 10 fit comparison and self-measurement MVP11 h
10 October 2026Ship Day 9 component dependencies on Main website11 h
9 October 2026Ship Day 8 recommendation evidence schema and source audit11 h
3 October 2026Reduce article header-to-body spacing across blog posts11 h
1 October 2026Complete Day 4 builder journey paths41 h
30 September 2026Reduce component refinement clutter51 h
30 September 2026Expand About page for new and experienced riders81 h
30 September 2026Document Day 3 competitive product gaps20 h
29 September 2026Implement Day 2 customer decision mapping21 h
28 September 2026Complete Day 1 baseline audit10 h
28 September 2026Add Day 1 baseline product audit20 h
28 September 2026Add 30-day product roadmap page41 h
24 September 2026Add two SEO blog articles111 h
17 September 2026Use SEO-friendly WebP blog illustrations31 h
16 September 2026Add section illustrations to beginner guide311 h
16 September 2026Fix theme activation category creation31 h
16 September 2026Add SEO blog architecture: update README.md61 h
16 September 2026Create WordPress Bike Builder theme and core plugin41 h
14 September 2026Add deterministic showcase build shortcut31 h
7 September 2026Add persistent light and dark mode switch41 h
4 September 2026Clarify component states and add sourced compatibility explanations11 h
3 September 2026Add component model and compatibility foundation11 h
3 September 2026Add rule-based build recommendations11 h
3 September 2026Build guided single-speed questionnaire31 h
1 September 2026Configure Vercel build environment51 h
31 August 2026Build responsive Bike Builder landing page11 h
31 August 2026Initial commit10 h
Provisional Codex estimate75 h

Supporting evidence

Historical screenshots and test reports exist in the private repository's verification folder, but are not published here without a privacy and visual review. The Updates page continues to carry detailed release and roadmap records.

Baseline refreshed 30 October 2026. The source snapshot contains 391 reviewed commits; this record is not a live GitHub counter. Upcoming work needs a dated Evidence entry before commit. Course links do not establish formal assessment completion, and this page is not a physical bicycle compatibility certificate.