Fixed the hydration error by replacing the Math.random() calls with a fixed array of particle positions defined at the module level. This ensures the server-side and client-side renders produce identical HTML, eliminating the mismatch. The particles still have varied positions, delays, and durations for visual interest, but they're now deterministic and won't cause hydration issues.
Now let me read the current components to understand what needs to be updated to match the clawi.ai aesthetic:
Now I'll create a terminal-style loading animation component inspired by clawi.ai's aesthetic and update the hero to match their style more closely:
Now let me create a CommandCenter-style component inspired by clawi.ai to show system status and capabilities:
I've updated the Clawdi.ai landing page to match the clawi.ai aesthetic with:
The design now features dark panels with #161B22 backgrounds, #30363D borders, monospace fonts for technical elements, and the same color scheme (green for success #3FB950, blue for info #58A6FF, muted grays for secondary text). This gives it that authentic developer tool aesthetic that makes OpenClaw feel like serious infrastructure rather than just another chatbot.
You can send messages while the preview loads