thalida

Plans

Claude's design docs and implementation plans for thalida.com.

101 items

Chat  / Client Identity

Mar 2026

Signed Client Identity

Client identity (clientId) is currently generated on the frontend and trusted blindly by the API. A malicious user can send any clientId to impersonate another user.

design

Code Quality  / Api Code Audit

Mar 2026

API Code & Security Audit

The API is a Cloudflare Workers application with Durable Objects for real-time chat, serving ~1,400 lines of TypeScript across 6 source files. It handles WebSocket chat, authentication, geolocation, and weather endpoints.

implementation

Code Quality  / App Code Audit

Mar 2026

App Audit Fixes Implementation Plan

Fix the top 5 priority findings from the app code and security audit (docs/plans/2026-03-05-app-code-audit.md).

implementation

Code Quality  / App Code Audit

Mar 2026

App Code & Security Audit

The app is well-architected for its purpose — an Astro 5 SSG personal site with a real-time chat feature and an interactive live-window web component. The codebase demonstrates strong engineering in several areas:

implementation

Content  / Version Post

Mar 2026

Design: v2026 Version Post — "2026: Neon Playground"

A version post for thalida.com v2026, written from Claude's perspective as a collaborator who helped build the site. Fun, friendly, witty — a highlight reel of the major features.

design

Live Window  / Weather Api Proxy

Mar 2026

Weather API Proxy Implementation Plan

Move the OpenWeather API call from the client-side app to the Cloudflare Worker backend, removing the exposed API key.

implementation

Live Window  / Weather Api Proxy

Mar 2026

Design: Proxy OpenWeather API through Cloudflare Worker

The OpenWeather API key is exposed client-side via `PUBLIC_OPENWEATHER_KEY`. Move the call behind the Cloudflare Worker, matching the pattern used for IP Registry geolocation.

design

Chat  / Idle Websocket Disconnect

Mar 2026

Idle WebSocket Disconnect Design

The ChatRoom Durable Object accumulates wall-clock duration as long as any WebSocket is connected. Idle browser tabs keep connections open indefinitely, which exceeded the Cloudflare free tier limit (2,147,483,647 ms/day).

design

Chat  / Idle Websocket Disconnect

Mar 2026

Idle WebSocket Disconnect Implementation Plan

Disconnect idle chat WebSockets after 5 minutes to reduce Cloudflare Durable Object duration usage on the free tier.

implementation

Layout  / Info Panel

Mar 2026

Info Panel Design

Replace `WeatherTextComponent` with a combined `InfoPanelComponent` that displays location, coordinates/timezone, and weather info inside the live-window shadow DOM. Use static white text instead of the current dynamic WCAG-contrast color.

design

Layout  / Info Panel

Mar 2026

Info Panel Implementation Plan

Replace `WeatherTextComponent` with a combined `InfoPanelComponent` that displays location name, coordinates/timezone, and weather info inside the live-window shadow DOM with static white text.

implementation

Live Window  / Live Window Test Page

Mar 2026

Live Window Test Page — Implementation Plan

Add optional `latitude`/`longitude`/`timezone` attributes to `<live-window>` so it can render any location, then create a test page displaying 8 world cities side-by-side.

implementation

Live Window  / Live Window Test Page

Mar 2026

Live Window Test Page — Design

Add optional `latitude`/`longitude`/`timezone` attributes to `<live-window>` so it can render any location without IP geolocation. Create a test page displaying 8 world cities side-by-side with real weather data and local clocks.

design

Live Window  / Sun Moon Layers

Mar 2026

Sun & Moon Layers Implementation Plan

Add sun and moon celestial bodies to the live window sky using the celestial circle model.

implementation

Live Window  / Sun Moon Layers

Mar 2026

Sun & Moon Layers — Design

Add sun and moon celestial bodies to the live window sky, using simple geometric CSS shapes that move realistically across the sky based on time of day and lunar phase.

design

Live Window  / Stars Layer

Mar 2026

Stars Layer Implementation Plan

Add a stars layer to the live window that displays varied, realistic stars at night, fading in/out with the sky phase system.

implementation

Live Window  / Stars Layer

Mar 2026

Stars Layer Design

Add a stars layer to the live window that displays varied, realistic stars at night. Stars gradually appear during dusk and fade during dawn, synced to the existing 16-phase sky system. Star positions are seeded-random (consistent within a day, fresh each day).

design

Live Window  / Live Window Refactor

Mar 2026

Live Window Class-Based Refactor Implementation Plan

Refactor `<live-window>` into self-contained SceneComponent classes (sky, blinds, clock, weather text) with a unified LiveWindowState and utils/ folder.

implementation

Live Window  / Live Window Refactor

Mar 2026

Live Window Class-Based Refactor Design

Refactor the `<live-window>` web component into a class-based architecture where each scene part (sky, blinds, clock, weather text) is a self-contained class implementing a shared `SceneComponent` interface. Move utilities (color, phase calculations, sky gradient math) into a `utils/` folder. Merge state into a single `LiveWindowState` with clearly separated sections.

design

Live Window  / Live Window Refactor

Mar 2026

Live Window Refactor Implementation Plan

Refactor the monolithic `<live-window>` web component into focused modules with a `SkyLayer` interface for extensibility.

implementation

Live Window  / Live Window Refactor

Mar 2026

Live Window Refactor Design

Refactor the `<live-window>` web component from a monolithic 700-line class into focused modules with a `SkyLayer` interface, making it easy to add time-aware celestial features (stars, moon, sun) in the future.

design

Live Window  / Sky Gradient

Mar 2026

Sky Gradient Revamp Implementation Plan

Replace the live window's 8-color flat gradient with a 16-phase, 4-stop vertical gradient that matches real-world sky appearance based on sunrise, sunset, and twilight phases.

implementation

Live Window  / Sky Gradient

Mar 2026

Sky Gradient Revamp — Design

Replace the live window's 8-color flat gradient system with a 16-phase, 4-stop vertical gradient that matches real-world sky appearance based on sunrise, sunset, and twilight phases.

design

Content  / Meta Seo

Mar 2026

Meta Card Image Implementation Plan

Replace the outdated OG/social card image with a neon-glow `<3` mark on midnight background, matching the site's current design.

implementation

Content  / Meta Seo

Mar 2026

Meta Card Image Redesign

The current OG/social card image (`card-512x512.png`) features a lime-to-teal gradient background with purple text and a Memoji avatar. This no longer matches the site's design, which uses a dark midnight theme with neon/teal accents and monospace typography.

design

Content  / Meta Seo

Mar 2026

Meta Tags & SEO Implementation Plan

Add comprehensive meta tags, OpenGraph, Twitter Cards, structured data, favicons, sitemap, and robots.txt so thalida.com shows up well in search and looks great when shared.

implementation

Content  / Meta Seo

Mar 2026

Meta Tags, SEO & Social Sharing Design

Add comprehensive meta tags, OpenGraph, Twitter Cards, structured data, and SEO infrastructure so thalida.com shows up well in search results and looks great when links are shared on social media.

design

Code Quality  / Css Audit

Mar 2026

CSS Audit Implementation Plan

Remove all HTML IDs, inline styles, and hardcoded JS styles — replacing them with data attributes (JS targeting), CSS classes (styling), and Tailwind utilities.

implementation

Code Quality  / Css Audit

Mar 2026

CSS Audit Design

Establish clear separation of concerns across HTML, CSS, and JS:

design

Chat  / Client Identity

Mar 2026

clientId-Based Identity Implementation Plan

Replace IP-based identity with clientId throughout the chat system so flag, block, delete-by-user, and rename operate per-browser, and users on the same network are independent.

implementation