diff --git a/pages/docs/guides/index.mdx b/pages/docs/guides/index.mdx
index 3f697e934..4075c8ca9 100644
--- a/pages/docs/guides/index.mdx
+++ b/pages/docs/guides/index.mdx
@@ -26,7 +26,7 @@ Learn how to build with Inngest:
TODO - Add cool header graphic*/}
-# Introduction to Inngest
+
-Inngest is an open source platform that adds superpowers to serverless functions. {{ className: 'lead' }}
+## Getting Started
-Using our SDK, a single line of code adds retries, queues, sleeps, cron schedules, fan-out jobs, and reliable steps to serverless functions in your existing projects. It's deployable to any platform, without any infrastructure or configuration. And, everything is locally testable via our UI.
-
-Learn how to get started:
+Discover how to get set up with Inngest in just a few minutes:
-
- {/* */}
+
-## A small but powerful example {{ anchor: false }}
-
-Adding sleeps, retries, and reliable steps to a function:
-
-
-```ts
-import { EventSchemas, Inngest } from "inngest";
-
-type Events = {
- "user/new.signup": {
- data: {
- email: string;
- name: string;
- };
- };
-};
-
-const inngest = new Inngest({
- id: "nextjs-shop",
- schemas: new EventSchemas().fromRecord(),
-});
-
-export default inngest.createFunction(
- { id: "signup-flow" }, // Function options
- { event: "user/new.signup" }, // One or more events that trigger this function
- async ({ event, step }) => {
- // ⚡ If this step fails it will retry automatically. It will only run once
- // if it succeeds
- const promo = await step.run("generate-promo-code", async () => {
- const promoCode = await generatePromoCode();
- return promoCode.code;
- });
-
- // ⚡ Again, if the email provider is down this will retry - but we will
- // only generate one promo code
- await step.run("send-a-welcome-promo", () =>
- sendEmail({ email: event.data, promo })
- );
-
- // 😴 You can sleep on any platform!
- await step.sleep("wait-before-followup", "1 day");
-
- // ⏰ This runs exactly 1 day after the user signs up
- await step.run("send-drip-campaign", () => sendDripCampaign());
- }
-);
-```
-
-
-In this example, you can reliably run serverless functions even if external APIs are down. You can also sleep or delay work without configuring queues. Plus, all events, jobs, and functions are strictly typed via TypeScript for maximum correctness.
-Here's how things look when you run locally:
-
-
-
-
-### Comparisons
-
-Without Inngest, you would have to configure several jobs amongst several different queues, then handle retries yourself. There's also a chance that many promo codes are generated depending on the reliability of that API. With Inngest, you can push this function live and everything happens automatically.
-
-{/*
-
- */}
-
-
-### Resources and help
-
-If you have any questions we're always around in our [Discord community](https://www.inngest.com/discord) or on [GitHub](https://github.com/inngest/inngest).
+## Introduction to Inngest
+
+Inngest as a durable workflow engine that enables you to run reliable code on any platform, including serverless.
+
+With any Inngest SDK, you write **Functions** in your codebase and make them available to Inngest using an HTTP endpoint. Functions are triggered by **Events** which can be sent with our SDKs, via a regular POST request, or can come from an external source such as webhooks.
+
+Functions are composed of **Steps**, which decouple parts of your functions into individually retriable blocks. Steps enable yuo to write complex, durable, long-lived workflows, _event on serverless_, in a single function.
+
+## Guides
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Support
+
+If you need help with Inngest, you can reach out to us in the following ways:
+
+* [Open a ticket in our support center](https://app.inngest.com/support)
+* [Ask your questions in our Discord community](/discord)
+* [Contact our sales engineering team](/contact?ref=docs)
diff --git a/pages/docs/sdk/overview.mdx b/pages/docs/sdk/overview.mdx
index 6e5c65728..54af57949 100644
--- a/pages/docs/sdk/overview.mdx
+++ b/pages/docs/sdk/overview.mdx
@@ -1,6 +1,6 @@
-# SDK Overview
+# Installing the SDK
-The Inngest SDK allows you to write reliable, durable functions in your existing projects incrementally. Functions can be automatically triggered by events or run on a schedule without infrastructure, and can be fully serverless or added to your existing HTTP server.
+The Inngest SDK allows you to write reliable, durable functions in your existing projects incrementally. Functions can be automatically triggered by events or run on a schedule without infrastructure, and can be fully serverless or added to your existing HTTP server.
- It works with any framework and platform by using HTTP to call your functions
- It supports serverless providers, without any additional infrastructure
@@ -9,23 +9,22 @@ The Inngest SDK allows you to write reliable, durable functions in your existing
## Getting started
-To get started, install the SDK via npm or Yarn:
+To get started, install the SDK via your favorite package manager:
-```bash
-npm install inngest # or yarn add inngest
+
+```shell {{ title: "npm" }}
+npm install inngest
```
+```shell {{ title: "pnpm" }}
+pnpm add inngest
+```
+```shell {{ title: "yarn" }}
+yarn add inngest
+```
+
-You’ll need to do a few things to get set up, which will only take a few minutes.
+You'll need to do a few things to get set up, which will only take a few minutes.
-1. [Set up and serve the Inngest API](/docs/sdk/serve)
+1. [Set up and serve the Inngest API for your framework](/docs/sdk/serve)
2. [Define and write your functions](/docs/functions)
-3. [Trigger functions with events](/docs/events)
-
-<>
-{/*
-TODO:
-You can skip straight to serving the Inngest API, or read on to learn how the SDK works.
-
-## How the SDK works
-*/}
->
+3. [Trigger functions with events](/docs/events)
\ No newline at end of file
diff --git a/public/assets/textures/wave-gray.svg b/public/assets/textures/wave-gray.svg
new file mode 100644
index 000000000..88f46221f
--- /dev/null
+++ b/public/assets/textures/wave-gray.svg
@@ -0,0 +1,13 @@
+
\ No newline at end of file
diff --git a/shared/Docs/Home.tsx b/shared/Docs/Home.tsx
new file mode 100644
index 000000000..fa45273c9
--- /dev/null
+++ b/shared/Docs/Home.tsx
@@ -0,0 +1,14 @@
+import Link from "next/link";
+import { BoltIcon } from "@heroicons/react/24/outline";
+import Logo from "../Icons/Logo";
+
+export function Home() {
+ return (
+
+
Inngest Documentation
+
+ Learn how to build with Inngest's durable workflow engine.
+
+
+ );
+}
diff --git a/shared/Docs/Layout.tsx b/shared/Docs/Layout.tsx
index 6f462dd37..9e2251964 100644
--- a/shared/Docs/Layout.tsx
+++ b/shared/Docs/Layout.tsx
@@ -6,6 +6,7 @@ import { motion } from "framer-motion";
import * as mdxComponents from "src/shared/Docs/mdx";
import { Footer } from "./Footer";
+import { Home } from "./Home";
import { Header } from "./Header";
import Logo from "../Icons/Logo";
import { Navigation } from "./Navigation";
diff --git a/shared/Docs/Navigation.tsx b/shared/Docs/Navigation.tsx
index b5c6c0ff2..e7c4e4e23 100644
--- a/shared/Docs/Navigation.tsx
+++ b/shared/Docs/Navigation.tsx
@@ -165,7 +165,11 @@ function NavigationGroup({ group, className = "" }) {