diff --git a/website/docs/main/home/overview/getting-started.mdx b/website/docs/main/home/overview/getting-started.mdx
new file mode 100644
index 000000000..ce45c6c18
--- /dev/null
+++ b/website/docs/main/home/overview/getting-started.mdx
@@ -0,0 +1,439 @@
+---
+slug: /getting-started
+title: Getting Started with SignalWire
+description: Learn what SignalWire is, understand the core concepts, and find the right path for your project.
+sidebar_position: 2
+---
+
+import { FaServer, FaRobot, FaCloud, FaExchangeAlt, FaPhone, FaVideo, FaComments, FaFax } from "react-icons/fa";
+import { MdWeb, MdCode, MdMessage } from "react-icons/md";
+import { SiPython } from "react-icons/si";
+
+# Getting Started with SignalWire
+
+Whether you're building your first communications app or migrating from another provider, this guide will help you understand SignalWire and get you building quickly.
+
+---
+
+## What is SignalWire?
+
+SignalWire is a programmable unified communications platform that lets you add voice calling, video, messaging, and AI to your applications.
+We handle the complex telecom infrastructure for you so you have more time to focus on building great experiences for your users.
+
+With SignalWire, you can:
+- **Make and receive phone calls** programmatically or through your own interfaces
+- **Send and receive SMS/MMS** messages at scale
+- **Build video conferencing** directly into your apps
+- **Create AI-powered voice agents** that handle phone calls autonomously
+- **Build IVR systems** (phone menus) and call routing logic
+
+Everything runs on SignalWire's cloud infrastructure, so there's no telecom equipment to manage.
+
+---
+
+## Product Offerings
+
+SignalWire provides numerous ways to build, depending on your needs and how you prefer to work.
+
+
+ }
+ >
+ A simple markup language (JSON/YAML) for defining call flows. Respond to webhooks or host scripts directly in your Dashboard.
+
+ }
+ >
+ Node.js SDK with persistent WebSocket connections for real-time control over calls, messages, and video.
+
+ }
+ >
+ JavaScript SDK for building WebRTC voice, video, and chat experiences directly in the browser.
+
+ }
+ >
+ Python framework for building AI-powered voice agents with LLM integration and custom functions.
+
+ }
+ >
+ Visual drag-and-drop interface for building call handling logic without writing code.
+
+ }
+ >
+ Twilio-compatible REST API and cXML for easy migration from other providers.
+
+
+
+---
+
+## Your SignalWire Space
+
+When you [create a SignalWire account](https://signalwire.com/signup), you get access to your **Space** - that's your [Dashboard](https://my.signalwire.com) where you can quickly:
+
+- Buy and configure phone numbers
+- Create and manage your applications
+- View call logs and analytics
+- Access your API credentials
+- Set up AI agents, call flows, and more
+
+Think of your Space as your home base for everything SignalWire.
+
+---
+
+## Core Concepts
+
+Before you start building, it helps to understand a few key concepts.
+
+### Communication Channels
+
+SignalWire supports the following communication channels:
+
+
+ }>
+ Phone calls, IVRs, recording, conferencing
+
+ }>
+ Video rooms, screen sharing, recordings
+
+ }>
+ SMS and MMS text messages
+
+ }>
+ Real-time chat for web and mobile apps
+
+ }>
+ Intelligent voice agents powered by LLMs
+
+ }>
+ Send and receive faxes programmatically
+
+
+
+Most channels can work over different **transports** depending on how you want to connect:
+
+| Transport | What it is | Common uses |
+|-----------|-----------|-------------|
+| **PSTN** | The traditional phone network | Calling regular phone numbers, receiving calls from landlines and cell phones |
+| **SIP** | Voice over IP protocol | Connecting PBX systems, desk phones, softphones, and VoIP carriers |
+| **WebRTC** | Browser-based real-time communication | In-app calling, video conferencing, browser-based contact centers |
+
+For example, a voice call could come in via PSTN (someone dialing your number), SIP (from a desk phone), or WebRTC (from your web app) - and SignalWire will handle all three.
+
+### Phone Numbers
+
+To make or receive calls and messages through the phone network, you'll need SignalWire phone numbers.
+You can buy local numbers, toll-free numbers, or short codes directly from your Dashboard.
+
+Each number can be configured to handle incoming calls and messages differently - whether that's forwarding to another number, running a script, connecting to an AI agent, or triggering your own application.
+
+
+ How to buy, configure, and manage your numbers
+
+
+We also offer the option of purchasing phone numbers programmatically via our [Purchase a Phone Number](rest/signalwire-rest/endpoints/space/purchase-phone-number) API Endpoint.
+
+### Resources
+
+In SignalWire, a **Resource** is anything that can handle communications - an AI agent, a script, a SIP connection, or your own application.
+When a call or message comes in, you tell SignalWire which Resource should handle it.
+
+Common resource types include:
+- **SWML Scripts** - Simple JSON/YAML instructions hosted in your Dashboard
+- **AI Agents** - Conversational AI that handles calls autonomously
+- **Call Flows** - Visual drag-and-drop call routing
+- **Relay Applications** - Your own server applications connected via WebSocket
+
+
+ Understanding the different resource types
+
+
+### Addresses
+
+Every Resource has an **Address**.
+This is a unique identifier that lets you target and interact with it.
+Think of addresses as the **phone number** for any resource, but broader in scope.
+
+Addresses can be:
+- **Phone numbers** - Traditional numbers like `+14155551234` for PSTN calls
+- **SIP addresses** - For VoIP connections like `sip:user@domain.com`
+- **Aliases** - Custom names like `/support-queue` or `/main-conference` that are easy to remember
+
+A single Resource can have multiple addresses, and you can change them anytime.
+For example, you might point both a phone number and a custom alias to the same AI agent.
+
+
+ How addressing works in SignalWire
+
+
+### Subscribers
+
+**Subscribers** are end users who authenticate with SignalWire to make and receive calls.
+If you're building a contact center, business phone system, or video conferencing app for example, your users become Subscribers.
+
+SignalWire manages these users for you. You create, update, and delete them through our REST APIs, and each Subscriber gets:
+- **Authentication** - Secure credentials and tokens for logging in
+- **A callable address** - They can be reached directly at `/private/username`
+- **Multi-device support** - They can answer calls from a browser, mobile app, or desk phone
+
+This means you don't have to build user management, authentication, or device registration yourself - SignalWire handles it.
+
+
+ User management and authentication
+
+
+
+---
+
+## Ready to Start Building?
+
+Now that you understand the basics, let's figure out the best way for you to build.
+The right approach depends on what you're creating and how you prefer to work.
+
+### What are you trying to build?
+
+
+
+
+**You want to build an AI-powered voice agent that handles phone calls.**
+
+This is common for:
+- Automated customer service
+- Appointment scheduling and reminders
+- FAQ bots and information lines
+- Lead qualification and surveys
+- Virtual receptionists
+
+#### Your best options:
+
+**[Agents SDK](/sdks/agents-sdk)** - A Python framework for building sophisticated AI voice agents.
+You get full control over prompts, custom functions (SWAIG) dedicated to AI, customizeable conversation flow, and seamless LLM integration.
+Best for complex agents that need to perform actions like booking appointments, looking up data, or integrating with your systems.
+
+
+**[AI Agent (Dashboard)](/ai/get-started)** - Configure an AI agent directly in your Dashboard without writing code.
+Set up prompts, choose a voice, add functions, and connect it to a phone number.
+Great for getting started quickly or simpler use cases.
+
+NOTE: Commenting this out as we need to have a discussion on if this should be recommended to users.
+It's extremely buggy, and I'm pretty sure is out of date.
+
+
+**[SWML with AI](/swml/methods/ai)** - Add AI capabilities to your SWML scripts using the `ai` method.
+Good when you want AI as part of a larger call flow that includes other logic.
+
+
+
+ Python, full control
+
+
+
+ No-code setup
+
+
+
+ AI in call flows
+
+
+
+#### Quick start with Agents SDK:
+
+```bash
+pip install signalwire-agents
+```
+
+```python
+from signalwire_agents import AgentBase
+
+class MyAgent(AgentBase):
+ def __init__(self):
+ super().__init__(name="Assistant", route="/agent")
+ self.prompt_add_section("main", body="You are a helpful assistant for Acme Corp.")
+
+agent = MyAgent()
+agent.serve()
+```
+
+
+ Build your first AI voice agent
+
+
+
+
+
+**You want voice, video, or chat directly in a web browser or mobile app.**
+
+This is common for:
+- Click-to-call buttons on websites
+- In-app voice or video calling
+- Browser-based contact centers
+- Video conferencing applications
+
+#### Your best options:
+
+**[Browser SDK](/sdks/browser-sdk)** - Our JavaScript SDK for building custom WebRTC experiences.
+You get full control over the UI and user experience. Best when you need video conferencing, custom calling interfaces, or real-time chat.
+
+**[Click-to-Call](/tools/c2c)** - A pre-built widget you can drop onto any website.
+Users click a button and call you directly from their browser. Minimal code required - great for adding a "call us" button quickly.
+
+
+ Build voice, video, and chat in the browser
+
+
+
+
+
+**You're building a backend service that handles calls or messages.**
+
+This is common for:
+- IVR systems and phone menus
+- Automated call routing
+- SMS notifications and two-factor auth
+- Call centers and support systems
+- AI voice agents
+
+#### First question: Do you need real-time control?
+
+**If you need simple call handling** (IVRs, call forwarding, playing messages), use **[SWML](/swml)**.
+Your server responds to webhooks with JSON/YAML instructions. It's stateless, works with any programming language, and is the simplest approach for most use cases.
+
+**If you need real-time control** (live call monitoring, mid-call transfers, complex orchestration), use the **[Realtime SDK](/sdks/realtime-sdk)**.
+It maintains a persistent WebSocket connection for instant, bi-directional communication.
+Best for applications that need to react to events as they happen.
+
+**If you're building AI voice agents**, use the **[Agents SDK](/sdks/agents-sdk)**.
+It's a Python framework specifically designed for creating conversational AI that handles phone calls.
+It handles the complexity of integrating with LLMs and managing conversations.
+
+
+
+ HTTP webhooks, any language
+
+
+ WebSocket, Node.js
+
+
+ AI voice agents, Python
+
+
+
+
+
+
+**You want to build without writing much (or any) code.**
+
+This is common for:
+- Quick prototypes
+- Simple IVR systems
+- Small businesses needing basic call handling
+- Testing ideas before building full applications
+
+#### Your best options:
+
+**[Call Flow Builder](/call-flow-builder)** - A visual, drag-and-drop interface for building call handling logic. No code required.
+You connect nodes to define what happens when someone calls - play a message, gather input, route to different people, etc.
+
+**[SWML Scripts](/swml)** - Write simple JSON or YAML scripts directly in your Dashboard.
+It's not quite "no code" but it's very low code, and you don't need to run any servers. SignalWire hosts the scripts for you.
+
+**[AI Agent](/ai/get-started)** - Configure a conversational AI agent through your Dashboard. Set up prompts, choose a voice, and connect it to a phone number.
+The AI handles conversations autonomously.
+
+
+
+ Visual drag-and-drop
+
+
+ Simple JSON/YAML
+
+
+ Dashboard AI setup
+
+
+
+#### Quick start for no-code:
+
+1. **Buy a phone number** - Go to Phone Numbers in your Dashboard
+2. **Create a Call Flow** - Use Call Flow Builder to design what happens when someone calls
+3. **Assign it to your number** - Edit the number settings and select your Call Flow
+4. **Call your number** - Test it out!
+
+
+ Step-by-step walkthrough with screenshots
+
+
+
+
+
+**You have an existing Twilio application and want to move to SignalWire.**
+
+Good news, SignalWire's **[Compatibility API](/compatibility-api)** is designed as a drop-in replacement.
+In most cases, you can switch by changing a few lines of code.
+
+#### What's compatible:
+
+| Twilio | SignalWire |
+|--------|------------|
+| TwiML | [cXML](/compatibility-api/cxml) (same syntax) |
+| REST API | [Compatibility REST API](/rest/compatibility-api/overview) |
+| Helper Libraries | [Compatibility SDKs](/compatibility-api/sdks) (Node, Python, Ruby, C#) |
+| Account SID | Project ID |
+| Auth Token | API Token |
+
+#### Migration steps:
+
+1. **Create a SignalWire account** at [signalwire.com/signup](https://signalwire.com/signup)
+2. **Get your credentials** from Dashboard > API > API Tokens
+3. **Update your code** to use SignalWire's SDK and credentials
+4. **Update webhook URLs** if needed (cXML syntax is identical to TwiML)
+5. **Buy or port phone numbers** to SignalWire
+6. **Test** your application
+
+```javascript
+// Change from this (Twilio)
+const twilio = require("twilio");
+const client = twilio(ACCOUNT_SID, AUTH_TOKEN);
+
+// To this (SignalWire)
+const { RestClient } = require("@signalwire/compatibility-api");
+const client = RestClient(PROJECT_ID, API_TOKEN, {
+ signalwireSpaceUrl: "your-space.signalwire.com"
+});
+```
+
+
+ Complete migration documentation
+
+
+
+
+
+---
+
+## Next Steps
+
+Once you've chosen your path, here are some resources to help you along the way:
+
+- **[Discord Community](https://discord.com/invite/F2WNYTNjuF)** - Join 8,000+ developers. Great for questions and sharing what you're building.
+- **[GitHub](https://github.com/signalwire/)** - Example code, SDKs, and open source tools.
+- **[API Reference](/rest)** - Detailed documentation for all our APIs.
+
+If you get stuck or have questions, our support team is here to help at [support@signalwire.com](mailto:support@signalwire.com).
+
+Happy building!
diff --git a/website/docs/main/home/overview/homepage.mdx b/website/docs/main/home/overview/homepage.mdx
index f92f943ed..c737c0504 100644
--- a/website/docs/main/home/overview/homepage.mdx
+++ b/website/docs/main/home/overview/homepage.mdx
@@ -9,7 +9,7 @@ import UseCases from "./_usecases/_useCases.mdx";
import Admonition from '@theme/Admonition';
import ProductButtons from "./_products.mdx"
import Tools from "./_tools.mdx"
-import { FaGithub, FaDiscord, FaRobot } from "react-icons/fa";
+import { FaGithub, FaDiscord, FaRobot, FaRocket } from "react-icons/fa";
import { MdBuild } from "react-icons/md";
@@ -34,15 +34,22 @@ import Sigmond from "@site/src/components/Sigmond"
-
-
+ }
+ href="/getting-started"
+ >
+ Find your path: server, browser, serverless, no-code, or migrating from Twilio.
+
+ }
>
Talk to Sigmond! He is a helpful assistant that can answer questions and help you get started, and
he's built using SignalWire APIs.
- }
href="https://signalwire.com/signup"
diff --git a/website/docs/main/home/platform/sdks-overview.mdx b/website/docs/main/home/platform/sdks-overview.mdx
index ec22a4298..e409447a8 100644
--- a/website/docs/main/home/platform/sdks-overview.mdx
+++ b/website/docs/main/home/platform/sdks-overview.mdx
@@ -9,8 +9,11 @@ import { MdWeb } from "react-icons/md"
import { FaRobot } from "react-icons/fa"
import { LuCodeXml } from "react-icons/lu"
-SignalWire offers a range of SDKs to help you build applications using the SignalWire platform.
+SignalWire offers a range of SDKs to help you build applications using the SignalWire platform.
+:::tip New to SignalWire?
+Check out our [Getting Started Guide](/getting-started) to find the right SDK and development approach for your project.
+:::