MILESTONESeptember 16, 2026

From Fed-day feedback to Build 50

A day of using, reviewing, and revising the clock: clearer navigation, more readable research, and earnings that keep their sources attached.

Build 50ReviewEDGESchedule

Yesterday ended with Build 28 ready for Wednesday. Today turned that preparation into a long review loop: use the app, notice what gets in the way, make a focused change, and look again.

The goal stayed the same: keep useful information at the edge of my view without making the display another thing to manage. By evening, Build 50 was running for review. That is progress, but it is not the same as accepting the whole build or declaring a new stable release.

A passing build is the start of review, not the end.

Morning feedback, closer to the research

The first rounds refined arrival notices, audio balance, and Read/Unread controls. New research belongs where I can notice it, with its source and an obvious way to acknowledge it. The notification ping was reduced relative to the spoken arrival clip, and Fed Day information was brought into NOW without taking over the whole layout.

EDGE grew toward three distinct research categories: Glick’s Picks, HTB Watchlist, and ChatGPT Earnings Review. Compact categories start collapsed; widening opens their contents into columns. Each category retains its own read state and source details.

The email-routing work is still experimental. Separate messages must remain separate, unsupported mentions must not turn into recommendations, and empty results must not trigger an arrival alert. Live ingestion still needs Thursday’s follow-up; automatic ChatGPT report delivery is not complete.

Actual Wednesday morning review upload. Earlier compact EDGE headers and read controls; no email contents shown.
BEFORE · Wednesday morning uploadActual Wednesday morning review upload. Earlier compact EDGE headers and read controls; no email contents shown.
Fresh native render from the verified current source. Sanitized sample data; not actual email analysis or live recommendations. Compact and expanded views have different widths.
AFTER · Current UI, synthetic sample researchFresh native render from the verified current source. Sanitized sample data; not actual email analysis or live recommendations. Compact and expanded views have different widths.

One change went backward

Build 35 tried to make ordinary NOW content wait for the intro to finish. It passed technical checks and still broke the animation sequence in use. I rejected it and restored Build 34.

The restored Build 34 was accepted and merged as the preserved baseline. The lesson is worth keeping: a few correct still frames do not establish a correct moving sequence. Broader intro timing changes remain deferred until the complete transition can be reviewed in motion.

Project Day Break: one place to move around

The afternoon’s navigation work brought NOW, Full Day Schedule, Next Trading Day, and Upcoming Week into one group. It replaced scattered return controls and made the selected view easier to recognize. Browsing a future schedule should not change what NOW says about the current session.

On Deck became a compact preview of upcoming information, with readable headlines, overflow counts, and a whole-card link to the week. It went through several density and placement revisions before I accepted the navigation and On Deck components in Build 43. That acceptance was specific to those components, not every later change.

A separate after-hours layout path needed its own correction. Review fixtures were expanded to exercise that path rather than assuming the ordinary demo represented every live layout.

Original upload displaying 4:00:29 AM on September 16. Lower outlook links and separate Full Schedule link. Candle is explicitly in Demo; this is not all-live market evidence.
BEFORE · Start of Wednesday reviewOriginal upload displaying 4:00:29 AM on September 16. Lower outlook links and separate Full Schedule link. Candle is explicitly in Demo; this is not all-live market evidence.
Fresh native render of the end-of-day candidate. Top navigation and On Deck show implemented layout; all prices, dates and events here are synthetic.
AFTER · Build 50 review renderingFresh native render of the end-of-day candidate. Top navigation and On Deck show implemented layout; all prices, dates and events here are synthetic.
Fresh synthetic Build 50 rendering of Today; illustrates shared navigation and event organization.
AFTER · Full Day ScheduleFresh synthetic Build 50 rendering of Today; illustrates shared navigation and event organization.
Fresh synthetic Build 50 rendering. Demo dates are scenario dates, not a September 17 forecast.
AFTER · Next Trading DayFresh synthetic Build 50 rendering. Demo dates are scenario dates, not a September 17 forecast.

Give color a consistent job

Event cards now use neutral backgrounds, category accents, and a distinct HIGH IMPACT badge. Labels, scheduled times, descriptions, and countdowns belong together in the same event block. Narrow headers wrap into a deliberate second row instead of splitting category words or shrinking them beyond easy reading.

Build 47’s event-card treatment was accepted. The following EDGE pass separated category identity from read status: mint, turquoise, and rose distinguish sources, while white and muted text distinguish unread and read. The existing Members Only artwork was preserved. Later combined-build acceptance is still pending.

Original uploaded detail with filled purple event block and interleaved warning rows. Historical UI evidence, not a current schedule.
BEFORE · Wednesday morning detailOriginal uploaded detail with filled purple event block and interleaved warning rows. Historical UI evidence, not a current schedule.
Fresh synthetic render: outlined category labels, white impact badges and grouped neutral event cards. Different scenarios demonstrate layout, not market changes.
AFTER · Build 50 event stylingFresh synthetic render: outlined category labels, white impact badges and grouped neutral event cards. Different scenarios demonstrate layout, not market changes.

Earnings: less repetition without losing the evidence

Build 49 separated After Hours, Time Unconfirmed, and Needs Review. Unknown-session reports stay explicitly unconfirmed, and source conflicts keep their explanations. Repeated ordinary caveats moved into shared context so the cards are easier to scan.

Build 50 then addressed a narrower kind of duplicate: a unique company-reviewed record and a current Finnhub record that agree on ticker, date, and supplied session, with compatible scheduled and confirmation states. The display can show that pair once while retaining both sources and their full details.

Conflicting, stale, unavailable, ambiguous, alternate-listing, and unknown-time records stay separate. Raw source records are unchanged. This is a carefully bounded display rule, not general report reconciliation, proof that earnings have been released, or an earnings-reversal qualification.

Actual afternoon upload before the final earnings cleanup, not the morning baseline. Repeated ALMU listings remain visible; Candle is in Demo.
INTERMEDIATE · Wednesday 3:08 PM uploadActual afternoon upload before the final earnings cleanup, not the morning baseline. Repeated ALMU listings remain visible; Candle is in Demo.
Fresh synthetic render with After Hours and Time Unconfirmed sections. Stale-source labels are test data, not evidence about current provider health.
AFTER · Build 50 after-hours fixtureFresh synthetic render with After Hours and Time Unconfirmed sections. Stale-source labels are test data, not evidence about current provider health.

What the checks establish—and what they do not

The final Build 50 record reports 474 app tests passed, with six live-provider tests skipped, and 43 workflow tests passed. The Release build and optimized dashboard build with its fixture checks passed. The latest 35-test EDGE pass belongs to Build 49; Build 50 did not change the EDGE implementation.

Synthetic native renders were inspected for layout and source grouping. One intermediate fixture failed because it expected an older label without the stale-data qualifier; the expectation was corrected and the final checks passed. Signature, source-integrity, secret-scan, and whitespace checks also passed.

The aggregate validation command still stops at an unrelated worktree safety blocker. Direct checks were completed, but that is not an aggregate pass. Synthetic evidence also does not replace live-provider testing or my acceptance of the exact candidate.

The Fed Day notice was observed to disappear, but its precise ten-minute expiry still needs verification. It remains a timing check, not a confirmed permanent-notice failure.

The website keeps the development story attached

Since the previous entry, journal pages gained a prominent route back to the homepage. The hardware story also expanded to explain the XENEON EDGE’s role on the desk, with display information, compatibility context, and a product link.

That update displaced the original n + 1 story. It was recovered and restored beside the hardware details. The personal explanation belongs with the specifications: the extra screen still has to earn its place.

Sharing the work, carefully

I also considered what it would take to share the native project for collaboration. The discussion covered a private source repository versus a packaged app, choosing a tested baseline, and reviewing files and history before sharing. It remained planning; no native repository was uploaded or connected as part of that discussion.

Leave tomorrow a clear starting point

Build 50 was launched for review and preserved with its source and validation evidence. The later development changes remain uncommitted, and there was no new stable promotion.

Thursday’s checklist separates live observations from synthetic fixtures: email routing, independent read state, event-source details, earnings consistency across views, uncertain timing, and notice expiry. The aim is to continue from a known candidate instead of reconstructing the day from memory.

WHAT WE LEARNED

Less clutter. More trustworthy context.

  • Review moving interfaces in motion; still frames can miss the failure.
  • Keep navigation, event importance, research categories, and read status visually distinct.
  • Combine matching earnings displays only when the source evidence supports it.
  • Preserve a known-good baseline before exploring the next idea.
NEXT

Use it through another morning.

  1. Review Build 50 through Thursday morning, including schedule consistency, source labels, and unknown timing.
  2. Continue live email-routing and arrival checks with independent read states.
  3. Verify the Fed Day notice’s exact ten-minute behavior in an appropriate test context.
  4. Keep broader intro changes, automatic AI-report delivery, general earnings reconciliation, content packs, and a future settings panel deferred.
BUILD STATUS

Preserved baselineBuild 34 · accepted and merged

Latest candidateBuild 50 · running for review; not yet accepted

Development sourceLater changes remain uncommitted

Stable releaseNo new stable promotion