diff --git a/website/public/llms-full.txt b/website/public/llms-full.txt
index 326df2442c..7a570e3bc4 100644
--- a/website/public/llms-full.txt
+++ b/website/public/llms-full.txt
@@ -3682,11 +3682,6 @@ The `setupTest` function automatically calls `vi.useFakeTimers()`, allowing you
4. **Use realistic data**: Test with data that resembles production scenarios.
Rivet's testing framework automatically handles server setup and teardown, so you can focus on writing effective tests for your business logic.
-## API Reference
-
-# API Reference
-
-This is where the technical API docs live.
## Node.js & Bun
# Node.js & Bun
@@ -6165,6 +6160,8 @@ docker run -d \
Rivet consists of several core components that work together to provide a complete actor orchestration platform. The Rivet Engine is the core of self-hosting and is used for orchestrating actors at scale:
+ Self-hosting is not required to deploy Rivet applciations in your own cloud. Please see the [deploy documentation](/docs/deploy) if trying to deploy a Rivet application.
+
## Core Components
- **Your Backend** - Your application server that handles user requests and includes a runner component that executes actor code
diff --git a/website/public/llms.txt b/website/public/llms.txt
index 213416054c..64d0f30c89 100644
--- a/website/public/llms.txt
+++ b/website/public/llms.txt
@@ -86,7 +86,6 @@ https://rivet.dev/docs/actors/schedule
https://rivet.dev/docs/actors/sharing-and-joining-state
https://rivet.dev/docs/actors/state
https://rivet.dev/docs/actors/testing
-https://rivet.dev/docs/api
https://rivet.dev/docs/clients/javascript
https://rivet.dev/docs/clients/next-js
https://rivet.dev/docs/clients/openapi
diff --git a/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/database-sharp-regular-full.svg b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/database-sharp-regular-full.svg
new file mode 100644
index 0000000000..af98bd5a33
--- /dev/null
+++ b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/database-sharp-regular-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/diagram-next-sharp-regular-full.svg b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/diagram-next-sharp-regular-full.svg
new file mode 100644
index 0000000000..b9f25f7b42
--- /dev/null
+++ b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/diagram-next-sharp-regular-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/file-pen-sharp-regular-full.svg b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/file-pen-sharp-regular-full.svg
new file mode 100644
index 0000000000..37bb0b4978
--- /dev/null
+++ b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/file-pen-sharp-regular-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/gears-sharp-light-full.svg b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/gears-sharp-light-full.svg
new file mode 100644
index 0000000000..6a74040060
--- /dev/null
+++ b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/gears-sharp-light-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/globe-sharp-regular-full.svg b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/globe-sharp-regular-full.svg
new file mode 100644
index 0000000000..66fabfa19b
--- /dev/null
+++ b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/globe-sharp-regular-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/rotate-sharp-regular-full.svg b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/rotate-sharp-regular-full.svg
new file mode 100644
index 0000000000..e2897e066e
--- /dev/null
+++ b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/rotate-sharp-regular-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/sparkles-sharp-regular-full.svg b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/sparkles-sharp-regular-full.svg
new file mode 100644
index 0000000000..8cad7b9ad2
--- /dev/null
+++ b/website/src/app/(v2)/(marketing)/(index)/images/raw-icon-svgs/sparkles-sharp-regular-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/website/src/app/(v2)/(marketing)/(index)/page.tsx b/website/src/app/(v2)/(marketing)/(index)/page.tsx
index fdc8eb5a87..3419b1d7a6 100644
--- a/website/src/app/(v2)/(marketing)/(index)/page.tsx
+++ b/website/src/app/(v2)/(marketing)/(index)/page.tsx
@@ -1,12 +1,14 @@
import { HeroBackground } from "./components/HeroBackground";
import { HeroSection } from "./sections/HeroSection";
+import { UseCases } from "./sections/UseCases";
+import { PlatformSection } from "./sections/PlatformSection";
import { CodeSnippetsSection } from "./sections/CodeSnippetsSection";
import { FeaturesSection } from "./sections/FeaturesSection";
import { TechSection } from "./sections/TechSection";
+import { DeploymentOptionsSection } from "./sections/DeploymentOptionsSection";
import { StudioSection } from "./sections/StudioSection";
import { CommunitySection } from "./sections/CommunitySection";
import { CTASection } from "./sections/CTASection";
-import { PlatformIcons } from "./components/PlatformIcons";
export default function IndexPage() {
return (
@@ -19,18 +21,30 @@ export default function IndexPage() {
-
-
+
+
+
+
+
+
-
+
+ {/*
+
+
*/}
+
+
+
+
+
diff --git a/website/src/app/(v2)/(marketing)/(index)/sections/CodeSnippetsSection.tsx b/website/src/app/(v2)/(marketing)/(index)/sections/CodeSnippetsSection.tsx
index 9336fd25ed..7b14c3352d 100644
--- a/website/src/app/(v2)/(marketing)/(index)/sections/CodeSnippetsSection.tsx
+++ b/website/src/app/(v2)/(marketing)/(index)/sections/CodeSnippetsSection.tsx
@@ -3,14 +3,14 @@ import CodeSnippets from "../components/code-snippets";
export function CodeSnippetsSection() {
return (
- {/*
+
- Reconsider What Your Backend Can Do
+ See It In Action
- Build powerful applications with Rivet Actors
+ Real-world examples showing how Rivet Actors simplify complex backends
-
*/}
+
diff --git a/website/src/app/(v2)/(marketing)/(index)/sections/DeploymentOptionsSection.tsx b/website/src/app/(v2)/(marketing)/(index)/sections/DeploymentOptionsSection.tsx
new file mode 100644
index 0000000000..be72ca6e6f
--- /dev/null
+++ b/website/src/app/(v2)/(marketing)/(index)/sections/DeploymentOptionsSection.tsx
@@ -0,0 +1,91 @@
+import Link from "next/link";
+import { CopyCommand } from "../components/CopyCommand";
+
+interface DeploymentOptionProps {
+ title: string;
+ description: string;
+ children?: React.ReactNode;
+}
+
+function DeploymentOption({ title, description, children }: DeploymentOptionProps) {
+ return (
+
+ Deploy Rivet however works best for your team, from local development to production at scale.
+
+
+
+
+
+
+
+
+
+ Sign In with Rivet
+ →
+
+
+ View Pricing
+ →
+
+
+
+
+
+
+
+ View Self-Hosting Docs
+ →
+
+
+
+
+
+
+
+
+
+
Hybrid Deployment
+
+ Run in Rivet Cloud for production, use self-hosting for on-premises deployments
+
+
+
+
+ );
+}
diff --git a/website/src/app/(v2)/(marketing)/(index)/sections/HeroSection.tsx b/website/src/app/(v2)/(marketing)/(index)/sections/HeroSection.tsx
index a074198dfa..d783e3de4c 100644
--- a/website/src/app/(v2)/(marketing)/(index)/sections/HeroSection.tsx
+++ b/website/src/app/(v2)/(marketing)/(index)/sections/HeroSection.tsx
@@ -1,4 +1,3 @@
-import { PlatformIcons } from "../components/PlatformIcons";
import { MarketingButton } from "../components/MarketingButton";
import { CopyCommand } from "../components/CopyCommand";
import Link from "next/link";
@@ -7,7 +6,7 @@ import { WithTooltip } from "@rivet-gg/components";
export function HeroSection() {
return (
-
+
{/* Main content centered vertically */}
@@ -17,11 +16,39 @@ export function HeroSection() {
{/*Lightweight library for building modern backends*/}
{/*Library for building stateful applications and distributed systems*/}
- Build and scale stateful workloads
+ {/*Build and scale stateful workloads*/}
+ State + Compute = Less Complexity
+
+ Rivet Actors merge state and compute in to a primitive that scales effortlessly with less complex infrastructure.
+ Easily self-hostable and works with your infrastructure.
+
+
+ {/*
+ Rivet Actors are lightweight processes that unite state and compute. Scales effortlessly with less complex infrastructure.
+ Easily{" "}
+ self-hostable{" "}
+ and works with{" "}
+
+ your infrastructure
+
+ .
+
*/}
+
+ {/*
+ Rivet Actors are lightweight processes that merge state and compute{" "} in to a primitive that scales effortlessly with less complex infrastructure.
+ Easily{" "}
+ self-hostable{" "}
+ and works with{" "}
+
+ your infrastructure
+
+ .
+
*/}
+
{/*
Rivet is a library for{" "}
long-lived processes{" "} with{" "}
@@ -40,7 +67,7 @@ export function HeroSection() {
*/}
-
+ {/*
Rivet is an open-source library for{" "}
long-lived processes.
@@ -56,7 +83,7 @@ export function HeroSection() {
your infrastructure
.
-
+ */}
@@ -88,10 +115,6 @@ export function HeroSection() {