Every database connection now checks who is on the other end

Every page you can read here — the portfolio, the posts, the changelog — and every lookup behind the assistant reaches a hosted PostgreSQL server over the network. That connection has always been encrypted, but encryption alone only keeps the traffic private; it says nothing about who is on the other end. Until this release, a connection would have been accepted from anything presenting some certificate.

The identity is now verified. The host's certificate is pinned, and both halves of the site check the server against it before sending anything: the content side and the assistant's knowledge and coding-history lookups. If the endpoint ever presents a different certificate, the connection is refused rather than trusted. Verified against the live endpoint: the correct certificate connects, and a wrong one fails closed.

The database can no longer be oversubscribed

The hosted database accepts a fixed number of simultaneous connections, and every warm serverless instance keeps its own small pool of them. Those pools had been sized for a single instance, so two busy instances could take the database to its ceiling — and requests start failing when the ceiling is reached. Each pool now holds a share of the budget, so three warm instances stay comfortably under the limit. The assistant's lookups run one at a time, so the smaller pools are headroom, not contention.

The contact window explains itself again

The contact page keeps its "what happens next" and first-message guidance out of sight until the window is maximized, while leaving the text in the page for search engines either way. A recent layout pass dropped the line that told visitors maximizing would reveal it, so the guidance became discoverable by crawlers but not by people. The hint is back, in the same style as the about window, and it names what the hidden panels hold: what happens next, and how to write a first message that gets an answer.

Smaller things

  • The assistant's lookups run on the runtime's native database driver. Knowledge search and coding history now use the built-in client instead of a separate Postgres library.
  • The site is built on Bun 1.4.3. Type-checking now uses the runtime's built-in checker, so the toolchain carries one less compiler.
  • Internal content and knowledge scripts use native APIs for files, environment values, and waits where they previously relied on compatibility shims or shell helpers.

Full technical detail, including the verification behind the certificate change, is in the v0.6.1 release notes.