POST
Calendar Refinements, Blackdeck Snapshot Policy, and the ByteCosmos Edge Fix
A calendar UX pass, the reasoning behind Blackdeck snapshot gating, and the root cause of ByteCosmos page latency.
This round of work tightened the personal site and removed two important platform ambiguities: how multi-day schedules should read on a calendar, and why Blackdeck does not yet publish a production risk snapshot.
A clearer mission for this site
The homepage statement is now:
I turn public data into useful intelligence.
That is a better description of what I am trying to build across these projects: take publicly available information, structure it, connect it, and turn it into something that can support better understanding and decisions.
Calendar and publishing refinements
The personal calendar keeps the compact mobile month view, but multi-day schedules now appear on every day they span.
The calendar labels the range explicitly:
- Starts 10:00 on the first day
- Continues on intermediate days
- Ends 18:00 on the final day
The schedule form was also corrected so date/time fields cannot overflow narrow mobile screens.
Calendar filters no longer navigate the page to a calendar anchor. All / Schedule / Posts update the calendar in place, and month navigation fetches and replaces only the calendar region while preserving the current scroll position. A fresh visit to the homepage still starts at the top of the page.
New schedules and new posts now default to Public. Private remains available when needed.
The post-management screen now has All / Public / Private filters, which makes later visibility changes easier. Post lists and post pages now show both publication date and time, so same-day publishing order is unambiguous.
Why Blackdeck does not yet publish a snapshot
The Blackdeck snapshot was not removed from the product.
The current production pipeline has completed incremental GDELT ingestion and early filtering. The latest run processed 1,603 source rows and retained 209 risk-relevant events.
A snapshot at that stage would only be a ranked list of lightly filtered events. That would recreate the thing Blackdeck is specifically designed not to become: a news or event feed presented as intelligence.
A production snapshot is intentionally downstream of:
- event ingestion
- filtering
- deduplication and clustering
- entity and geography normalization
- risk-theme mapping
- commodity/material and exposure mapping
- validated risk scoring
- comparison with a previous state
Only then can the product answer the questions that matter: what changed, why it matters, what is exposed, how severe it is, and what should be watched next.
Legacy snapshots were deliberately deleted during the greenfield reset. The database and Object Storage connections remain, but old product state is not being reused.
ByteCosmos page latency
The slow ByteCosmos load was not an application-rendering problem.
The application itself was responding internally in roughly two milliseconds. The public HTTPS path was the problem:
- OCI network ingress allowed port 80 but not 443.
- The instance firewall allowed 80 and 22 but rejected new connections to 443.
- As a result, a browser attempting HTTPS waited for the connection timeout before failing or falling back.
Both firewall layers now allow HTTPS, Caddy is serving the site, and a valid certificate is installed for www.bytecosmos.com.
External checks after the fix were approximately 40–50 ms total response time for the homepage from the other OCI server.
Upbit as an auxiliary data source
The ByteCosmos server can reach Upbit's public market-data API, so I added a cached Upbit adapter as an auxiliary cross-market research source.
The first sync returned:
- 855 total markets
- 289 KRW markets
- sample BTC/ETH ticker context
No surviving authenticated Upbit credential was found on the rebuilt server, so this adapter currently uses public market-data endpoints only.
Most importantly, Upbit is not called during a page request. External market data is synchronized into a local cached artifact first, then the site reads the cache. That prevents an upstream API from becoming a page-latency dependency.
This does not change ByteCosmos's equity-first V1 scope. Upbit is additional cross-market context rather than a replacement for Korea/US equity data.
Data-model discipline
None of these changes required another application database table.
The same rule remains in force across all three products: a new feature does not automatically justify a new table. Tables are added only for durable entities or genuinely independent lifecycles.