> ## Documentation Index
> Fetch the complete documentation index at: https://site.aspect.build/llms.txt
> Use this file to discover all available pages before exploring further.

# Try Aspect Workflows for Free

> Sign up for a 30-day free trial of Aspect Workflows. Choose Self-hosted or Aspect-hosted to get started with the developer productivity platform for Bazel.

export const MarketingPage = () => <div className="marketing-page-marker" style={{
  display: "none"
}} />;

export const TrialForm = () => <form id="trial-form" name="Free Trial Form" method="POST" onSubmit={e => {
  e.preventDefault();
  const form = e.currentTarget;
  try {
    const guid = "fe0345d0-4df3-4a0f-8d3d-a6795b5e7bc9";
    const fsid = "maqzpkgk";
    const fields = Array.from(new FormData(form).entries()).map(([name, value]) => ({
      name,
      value: String(value)
    }));
    const hutk = (document.cookie.match(/hubspotutk=([^;]+)/) || [])[1];
    if (guid) fetch("https://api.hsforms.com/submissions/v3/integration/submit/46621241/" + guid, {
      method: "POST",
      keepalive: true,
      headers: {
        "Content-Type": "application/json"
      },
      body: JSON.stringify({
        fields,
        context: {
          pageUri: window.location.href,
          pageName: document.title,
          ...hutk ? {
            hutk
          } : {}
        }
      })
    }).catch(() => {});
    if (fsid) fetch("https://formspree.io/f/" + fsid, {
      method: "POST",
      keepalive: true,
      headers: {
        Accept: "application/json",
        "Content-Type": "application/json"
      },
      body: JSON.stringify(Object.fromEntries(new FormData(form)))
    }).catch(() => {});
  } catch (err) {}
  setTimeout(() => {
    window.location.href = "/thank-you";
  }, 400);
}}>
   <div className="mt-8 space-y-4">
    <select name="hosting" placeholder="Hosting" required className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition">
      <option value="">Select Hosting *</option>
      <option value="Aspect-hosted">Aspect-hosted</option>
      <option value="Self-hosted">Self-hosted</option>
    </select>
    <div className="grid md:grid-cols-2 gap-3">
      <input type="text" name="cloud_provider" placeholder="Cloud Provider" className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
      <select name="cloud_region" className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition">
        <option value="">Aspect-hosted Cloud Region</option>
        <option value="US East">US East</option>
        <option value="US West">US West</option>
        <option value="US Government">US Government</option>
        <option value="Canada">Canada</option>
        <option value="South America">South America</option>
        <option value="Ireland">Ireland</option>
        <option value="UK">UK</option>
        <option value="Europe">Europe</option>
        <option value="Asia Pacific">Asia Pacific</option>
        <option value="Middle East">Middle East</option>
        <option value="Africa">Africa</option>
      </select>
    </div>
    <div className="grid md:grid-cols-2 gap-3">
      <input type="text" name="firstname" placeholder="First Name" required className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
      <input type="text" name="lastname" placeholder="Last Name" required className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
    </div>
    <div className="grid md:grid-cols-2 gap-3">
      <input type="email" name="email" placeholder="Company Email" required className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
      <input type="text" name="company" placeholder="Company Name" className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
    </div>
    <div className="grid md:grid-cols-2 gap-3">
      <input type="text" name="ci_system" placeholder="CI System" className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
      <input type="text" name="developer_count" placeholder="Number of developers using bazel?" className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
    </div>
    <textarea name="comments" placeholder="Comments" rows={4} className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition resize-y" />
    <label className="flex items-start gap-3 text-sm text-zinc-600 dark:text-zinc-300">
      <input type="checkbox" name="agree" placeholder="Agree" required className="mt-1 w-4 h-4 rounded border-zinc-300 text-blue-600 focus:ring-blue-500/20" />
      <span>
        I agree with the{" "}
        <a href="/terms" target="_blank" className="text-blue-600 dark:text-blue-400 hover:underline">Terms</a>
        {" "}and{" "}
        <a href="/privacy-policy" target="_blank" className="text-blue-600 dark:text-blue-400 hover:underline">Privacy Policy</a>.
      </span>
    </label>
    <div className="flex items-center gap-4">
      <button type="submit" className="inline-flex items-center px-8 py-3 rounded-lg bg-blue-600 text-white font-semibold hover:bg-blue-700 transition shadow-sm">Send →</button>
    </div>
   </div>
  </form>;

export const Section = ({children, className = "", gray = false, dark = false, id}) => <section id={id} className={`w-full flex justify-center px-4 py-16 md:py-24 ${gray ? "bg-gray-50 dark:bg-zinc-900" : dark ? "bg-zinc-900 dark:bg-zinc-950" : ""} ${className}`}>
    <div className="w-full" style={{
  maxWidth: "1140px"
}}>
      {children}
    </div>
  </section>;

<MarketingPage />

<Section>
  <div className="grid md:grid-cols-2 gap-12">
    <div>
      <h1 className="text-3xl md:text-4xl font-semibold text-zinc-900 dark:text-white">Try for free</h1>

      <p className="mt-4 text-lg text-zinc-600 dark:text-zinc-300">
        Sign up for a 30-day free trial of Aspect Workflows. Tell us about your stack and our engineers will reach out to schedule your white-glove deployment, on your cloud or ours.
      </p>

      <TrialForm />
    </div>

    <div>
      <div className="p-8 rounded-2xl bg-gradient-to-br from-zinc-50 to-blue-50 dark:from-zinc-800/60 dark:to-blue-900/10 border border-zinc-200 dark:border-zinc-700 sticky top-24">
        <h2 className="text-2xl font-semibold text-zinc-900 dark:text-white">What's included in the trial</h2>

        <ul className="mt-6 space-y-4">
          <li className="flex items-start gap-3">
            <span className="flex-shrink-0 w-6 h-6 rounded-full bg-blue-600 text-white text-sm font-bold flex items-center justify-center mt-0.5">✓</span>

            <div>
              <p className="font-semibold text-zinc-900 dark:text-white">Bazel-tuned CI Runners</p>
              <p className="text-sm text-zinc-500 dark:text-zinc-400">Warm, auto-scaling runners on the CI you already use: GitHub Actions, CircleCI, GitLab, or Buildkite. Pick the exact hardware, including GPU instance types.</p>
            </div>
          </li>

          <li className="flex items-start gap-3">
            <span className="flex-shrink-0 w-6 h-6 rounded-full bg-blue-600 text-white text-sm font-bold flex items-center justify-center mt-0.5">✓</span>

            <div>
              <p className="font-semibold text-zinc-900 dark:text-white">Remote Cache</p>
              <p className="text-sm text-zinc-500 dark:text-zinc-400">Deployed in your VPC, right next to your runners, so artifacts never cross the internet.</p>
            </div>
          </li>

          <li className="flex items-start gap-3">
            <span className="flex-shrink-0 w-6 h-6 rounded-full bg-blue-600 text-white text-sm font-bold flex items-center justify-center mt-0.5">✓</span>

            <div>
              <p className="font-semibold text-zinc-900 dark:text-white">Remote Execution</p>
              <p className="text-sm text-zinc-500 dark:text-zinc-400">In the deployment from day one. Adopt it at your own pace, when you're ready for it.</p>
            </div>
          </li>

          <li className="flex items-start gap-3">
            <span className="flex-shrink-0 w-6 h-6 rounded-full bg-blue-600 text-white text-sm font-bold flex items-center justify-center mt-0.5">✓</span>

            <div>
              <p className="font-semibold text-zinc-900 dark:text-white">Build & Test UI</p>
              <p className="text-sm text-zinc-500 dark:text-zinc-400">Triage build and test failures fast, behind your own SSO (OIDC or SAML).</p>
            </div>
          </li>

          <li className="flex items-start gap-3">
            <span className="flex-shrink-0 w-6 h-6 rounded-full bg-blue-600 text-white text-sm font-bold flex items-center justify-center mt-0.5">✓</span>

            <div>
              <p className="font-semibold text-zinc-900 dark:text-white">White-glove installation</p>
              <p className="text-sm text-zinc-500 dark:text-zinc-400">Aspect engineers deploy and tune everything end to end. You don't need Bazel infrastructure expertise on staff.</p>
            </div>
          </li>

          <li className="flex items-start gap-3">
            <span className="flex-shrink-0 w-6 h-6 rounded-full bg-blue-600 text-white text-sm font-bold flex items-center justify-center mt-0.5">✓</span>

            <div>
              <p className="font-semibold text-zinc-900 dark:text-white">Dedicated Slack channel</p>
              <p className="text-sm text-zinc-500 dark:text-zinc-400">A direct line to Aspect's Bazel experts for the length of your trial.</p>
            </div>
          </li>

          <li className="flex items-start gap-3">
            <span className="flex-shrink-0 w-6 h-6 rounded-full bg-blue-600 text-white text-sm font-bold flex items-center justify-center mt-0.5">✓</span>

            <div>
              <p className="font-semibold text-zinc-900 dark:text-white">Your hosting choice</p>
              <p className="text-sm text-zinc-500 dark:text-zinc-400">Deploy into your own AWS or GCP account, or let us run it Aspect-hosted. Either way it's yours alone.</p>
            </div>
          </li>
        </ul>

        <div className="mt-8 pt-6 border-t border-zinc-200 dark:border-zinc-700">
          <p className="font-semibold text-zinc-900 dark:text-white">The real thing, not a shared sandbox</p>

          <p className="mt-2 text-sm text-zinc-500 dark:text-zinc-400">
            Every trial runs on dedicated, single-tenant, isolated infrastructure. Your source, artifacts, and build metadata never touch shared systems, so the deployment you evaluate is the same one that passes your security and compliance review, and the same one you'd run in production.
          </p>

          <p className="mt-2 text-sm text-zinc-500 dark:text-zinc-400">
            Unusual infrastructure constraints are welcome: GovCloud, air-gapped networks, and strict security postures are environments we deploy into routinely.
          </p>
        </div>

        <p className="mt-6 text-sm text-zinc-500 dark:text-zinc-400">
          Want to see it before deploying?{" "}
          <a href="/request-demo" className="text-blue-600 dark:text-blue-400 font-semibold hover:underline">Request a demo →</a>
        </p>

        <p className="mt-2 text-sm text-zinc-500 dark:text-zinc-400">
          Questions first?{" "}
          <a href="/contact" className="text-blue-600 dark:text-blue-400 font-semibold hover:underline">Talk with us →</a>
        </p>
      </div>
    </div>
  </div>
</Section>
