// Round Clock Support — landing page app
const { useState, useEffect } = React;
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"accent": "#2A5FC4",
"typePairing": "Editorial",
"showClocks": true,
"footerTheme": "Ink",
"footerNewsletter": true
}/*EDITMODE-END*/;
const RC_ACCENTS = ["#2A5FC4", "#1F7A57", "#B85C38"];
/* ── Small live analog clock (circle + hands only) ── */
function ClockFace({ timeZone, size = 56 }) {
const [now, setNow] = useState(() => new Date());
useEffect(() => {
const id = setInterval(() => setNow(new Date()), 1000);
return () => clearInterval(id);
}, []);
const parts = new Intl.DateTimeFormat("en-US", {
timeZone, hour12: false, hour: "numeric", minute: "numeric", second: "numeric",
}).formatToParts(now);
const get = (t) => parseInt(parts.find((p) => p.type === t).value, 10) || 0;
const h = get("hour") % 12, m = get("minute"), s = get("second");
const c = size / 2;
const hourAngle = (h + m / 60) * 30;
const minAngle = (m + s / 60) * 6;
const rad = (deg) => ((deg - 90) * Math.PI) / 180;
const tip = (deg, len) => [c + len * Math.cos(rad(deg)), c + len * Math.sin(rad(deg))];
const [hx, hy] = tip(hourAngle, c * 0.45);
const [mx, my] = tip(minAngle, c * 0.7);
return (
);
}
function DigitalTime({ timeZone }) {
const [now, setNow] = useState(() => new Date());
useEffect(() => {
const id = setInterval(() => setNow(new Date()), 1000);
return () => clearInterval(id);
}, []);
return new Intl.DateTimeFormat("en-US", {
timeZone, hour12: false, hour: "2-digit", minute: "2-digit", second: "2-digit",
}).format(now);
}
function Wordmark() {
return (
);
}
const RC_CLOCK_CITIES = [
{ city: "New York", tz: "America/New_York" },
{ city: "London", tz: "Europe/London" },
{ city: "Singapore", tz: "Asia/Singapore" },
];
const RC_CHANNELS = [
{
num: "01", name: "Live chat",
desc: "Trained agents on your website and in-app messenger, resolving pre-sale questions, order issues, and returns in real time.",
meta: "median reply 47s",
},
{
num: "02", name: "Email",
desc: "Every ticket answered in your brand voice, around the clock — with escalation paths you define and full conversation history.",
meta: "resolved < 4h",
},
{
num: "03", name: "Phone",
desc: "A real human picks up, day or night. Inbound order support, dedicated lines, and overflow coverage for your in-house team.",
meta: "24/7 pickup",
},
];
const RC_STEPS = [
{
num: "Step 01", title: "We learn your business",
desc: "Share your help docs, policies, and tone of voice. We build a playbook and train a dedicated agent pod on your products.",
},
{
num: "Step 02", title: "We plug into your stack",
desc: "Zendesk, Gorgias, Intercom, Shopify — we work inside the tools you already use. No migration, no new software.",
},
{
num: "Step 03", title: "We answer everything",
desc: "From day one, every chat, email, and call is covered. You watch quality through weekly reports and live CSAT dashboards.",
},
];
const RC_INDUSTRIES = [
{ label: "Ecommerce & DTC", featured: true },
{ label: "Marketplaces" },
{ label: "SaaS" },
{ label: "Subscriptions" },
{ label: "Logistics & delivery" },
{ label: "Travel & bookings" },
{ label: "Fintech" },
];
function App() {
const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);
useEffect(() => {
const root = document.documentElement;
root.style.setProperty("--accent", t.accent);
if (t.typePairing === "Grotesk") {
root.style.setProperty("--font-display", '"Space Grotesk", "Helvetica Neue", sans-serif');
} else {
root.style.setProperty("--font-display", '"Instrument Serif", Georgia, serif');
}
}, [t.accent, t.typePairing]);
return (
Round Clock Support runs your chat, email, and phone support around the clock — trained agents who know your products, working inside your tools, answering every customer at any hour.
{t.showClocks && (One team, one playbook, one quality bar — across all three channels.
Most support requests arrive outside business hours. That's exactly when carts get abandoned.
{s.desc}
“We switched our overnight queue to Round Clock and our response time went from twelve hours to under a minute. Customers noticed in week one.”
Tell us about your volume and channels — we'll send a coverage plan and quote within one business day.
Book a call