/* TransDecode root app — composes all sections, nav, hero, stats, CTA, tweaks. */ const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "amber", "density": 0.7, "navCompact": false, "showSimulation": true, "tone": "ink", "logoVariant": "ligature" }/*EDITMODE-END*/; const ACCENTS = { amber: { signal: "oklch(0.82 0.165 85)", deep: "oklch(0.72 0.17 60)" }, cyan: { signal: "oklch(0.78 0.15 200)", deep: "oklch(0.62 0.14 200)" }, green: { signal: "oklch(0.78 0.15 145)", deep: "oklch(0.62 0.14 150)" }, red: { signal: "oklch(0.72 0.18 25)", deep: "oklch(0.55 0.20 25)" }, }; const TONES = { ink: { ink: "oklch(0.16 0.025 250)", ink2: "oklch(0.22 0.025 250)" }, black: { ink: "oklch(0.12 0.005 250)", ink2: "oklch(0.18 0.005 250)" }, forest:{ ink: "oklch(0.20 0.04 160)", ink2: "oklch(0.26 0.04 160)" }, }; function Nav({ compact, logoVariant }) { const [open, setOpen] = React.useState(false); return (
); } function Hero({ density, showSim, logoVariant }) { return (
Studio · Hauz Khas, New Delhi EST. 2022

Decoding traffic.
Designing solutions{" "} {logoVariant !== "none" && ( )}

A small, technical studio out of IIT Delhi. We build the simulation, the safety case and the signal plan that lets your project clear review and ship.

Schedule a 30-min consult See the work
79+
Projects shipped
8
States · India
100%
First-cycle approvals
{showSim && }
); } function StripBar() { const items = ["IRC SP-88", "MoRTH 2019", "ITDP", "URDPFI", "VISSIM 2024", "AIMSUN NEXT", "SYNCHRO 12", "QGIS", "OPEN STREETS DATA"]; const dup = [...items, ...items]; return (
{dup.map((s, i) =>
{s}
)}
); } function StatsBanner() { const stats = [ { v: "12.4", small: "M", l: "Vehicle-trips modelled", sub: "Across active engagements" }, { v: "2.1", small: "K KM", l: "Highway corridor audited", sub: "Pan-India · 2022 — 2026" }, { v: "184", small: "", l: "Signal junctions designed", sub: "Tier-1 + Tier-2 cities" }, { v: "0", small: "", l: "Reports rejected at review", sub: "First-cycle clearance, every time" }, ]; return (
Track record

The numbers, audited.

We publish these honestly because the work is the work. Every figure is auditable against signed deliverables.

{stats.map(s => (
{s.v}{s.small}
{s.l}
{s.sub}
))}
); } function MapSection() { return (
Coverage

On-ground, where you build.

We deploy survey teams and signal engineers anywhere in India. Hover the list to inspect an active region, or talk to us about a corridor we don't yet show.

); } function SignalDemoSection() { return (
Sandbox

A working sliver of our signal model.

This is a stripped-down version of the simulation we run for full junction redesigns. The full model adds turning movements, saturation flow, pedestrian phases and corridor coordination.

); } function CTABanner() { return (

Ready when you are One call. Survey, simulation,
signal plan — all in motion by Friday.

Schedule a call +91 99602 51525
); } /* ---- Reveal-on-scroll observer ---- */ function useReveal() { React.useEffect(() => { const els = document.querySelectorAll(".reveal"); const io = new IntersectionObserver((entries) => { for (const e of entries) { if (e.isIntersecting) { e.target.classList.add("in"); io.unobserve(e.target); } } }, { threshold: 0.12 }); els.forEach(el => io.observe(el)); return () => io.disconnect(); }, []); } function App() { const [tweaks, setTweak] = useTweaks(TWEAK_DEFAULTS); useReveal(); // Apply tweaks to CSS vars React.useEffect(() => { const root = document.documentElement; const acc = ACCENTS[tweaks.accent] || ACCENTS.amber; root.style.setProperty("--signal", acc.signal); root.style.setProperty("--signal-deep", acc.deep); const tone = TONES[tweaks.tone] || TONES.ink; root.style.setProperty("--ink", tone.ink); root.style.setProperty("--ink-2", tone.ink2); }, [tweaks.accent, tweaks.tone]); return ( <>