diff --git a/README.md b/README.md
index 4d3e467..59c5571 100644
--- a/README.md
+++ b/README.md
@@ -1,30 +1 @@
# Personal website redesign
-
-*Automatically synced with your [v0.app](https://v0.app) deployments*
-
-[](https://vercel.com/jeff-emmetts-projects/v0-personal-website-redesign)
-[](https://v0.app/chat/c8jGR8t3eSX)
-
-## Overview
-
-This repository will stay in sync with your deployed chats on [v0.app](https://v0.app).
-Any changes you make to your deployed app will be automatically pushed to this repository from [v0.app](https://v0.app).
-
-## Deployment
-
-Your project is live at:
-
-**[https://vercel.com/jeff-emmetts-projects/v0-personal-website-redesign](https://vercel.com/jeff-emmetts-projects/v0-personal-website-redesign)**
-
-## Build your app
-
-Continue building your app on:
-
-**[https://v0.app/chat/c8jGR8t3eSX](https://v0.app/chat/c8jGR8t3eSX)**
-
-## How It Works
-
-1. Create and modify your project using [v0.app](https://v0.app)
-2. Deploy your chats from the v0 interface
-3. Changes are automatically pushed to this repository
-4. Vercel deploys the latest version from this repository
diff --git a/app/presentations/page.tsx b/app/presentations/page.tsx
index 18f32d2..e9f2ed7 100644
--- a/app/presentations/page.tsx
+++ b/app/presentations/page.tsx
@@ -1,261 +1,15 @@
"use client"
import { useEffect } from "react"
-import { Link2, ExternalLink, ArrowLeft } from "lucide-react"
-import { Card } from "@/components/ui/card"
-import { CursorEffect } from "@/components/cursor-effect"
-import { toast } from "sonner"
-const presentations = [
- {
- id: "osmotic-governance",
- title: "Osmotic Governance",
- description: "Exploring the intersection of mycelium and emancipatory technologies",
- embedUrl: "https://slides.jeffemmett.com/osmotic-governance",
- venue: "Team Human with Douglas Rushkoff",
- videoUrl: "https://www.teamhuman.fm/episodes/238-jeff-emmett",
- videoLabel: "Listen to the full episode",
- tags: ["Mycelium", "Governance", "Emancipatory Tech"],
- },
- {
- id: "exploring-mycofi",
- title: "Exploring MycoFi",
- description: "Mycelial design patterns for Web3 and beyond",
- embedUrl: "https://slides.jeffemmett.com/exploring-mycofi",
- venue: "DevCon 7 in Bangkok",
- videoUrl: "https://www.youtube.com/watch?v=0A4jXL5eBaI",
- videoLabel: "Watch the full talk",
- tags: ["MycoFi", "Web3", "Biomimicry"],
- },
- {
- id: "mycofi-cofi-gathering",
- title: "MycoFi talk at CoFi Gathering",
- description: "Mycelial design patterns for Web3 and beyond",
- embedUrl: "https://slides.jeffemmett.com/mycofi-cofi-gathering",
- venue: "Greenpill Network",
- videoUrl: "https://www.youtube.com/watch?v=AFJFDajuCSg",
- videoLabel: "Watch the full talk",
- tags: ["MycoFi", "Greenpill", "CoFi"],
- },
- {
- id: "myco-mutualism",
- title: "Myco-Mutualism",
- description: "Exploring mutualistic relationships in mycelial networks and their applications to human systems",
- embedUrl: "https://slides.jeffemmett.com/myco-mutualism",
- venue: "The Mutualist Society",
- tags: ["Mutualism", "Mycelium", "Systems Design"],
- },
- {
- id: "psilocybernetics",
- title: "Psilocybernetics: The Emergence of Institutional Neuroplasticity",
- description: "Exploring the intersection of mycelium and cybernetic institutional design",
- embedUrl: "https://slides.jeffemmett.com/psilocybernetics",
- venue: "General Forum for Ethereum Localism",
- tags: ["Cybernetics", "Institutions", "Neuroplasticity"],
- },
- {
- id: "move-slow-fix-things",
- title: "Move Slow & Fix Things: The Commons Stack Design Pattern",
- description: "Design patterns for sustainable commons infrastructure",
- embedUrl: "https://slides.jeffemmett.com/move-slow-fix-things",
- venue: "ReFi Unconf @ the Commons Hub Austria",
- videoUrl: "https://www.youtube.com/live/i8qcg7FfpLM?si=onLcl8q5rz7cMViO&t=1362",
- videoLabel: "Watch the full talk",
- tags: ["Commons Stack", "ReFi", "Design Patterns"],
- },
- {
- id: "commons-stack-launch",
- title: "Commons Stack Launch & Open Sourcing cadCAD",
- description: "The launch of Commons Stack and the open sourcing of cadCAD for token engineering",
- embedUrl: "https://slides.jeffemmett.com/commons-stack-launch",
- venue: "Token Engineering Global Gathering (TEGG)",
- videoUrl: "https://youtu.be/qjdjX2m_p0Q?si=r2AXVnVyzCIxIOSc&t=20",
- videoLabel: "Watch the full talk",
- tags: ["Commons Stack", "cadCAD", "Token Engineering"],
- },
- {
- id: "conviction-voting",
- title: "New Tools for Dynamic Collective Intelligence: Conviction Voting & Variations",
- description: "Exploring innovative voting mechanisms for collective decision-making in decentralized systems",
- embedUrl: "https://slides.jeffemmett.com/conviction-voting",
- venue: "Conviction Voting Presentation",
- tags: ["Conviction Voting", "Governance", "Collective Intelligence"],
- },
- {
- id: "polycentric-governance",
- title: "Exploring Polycentric Governance in Web3 Ecosystems",
- description: "Understanding multi-level governance structures in decentralized networks",
- embedUrl: "https://slides.jeffemmett.com/polycentric-governance",
- venue: "OpenWeb Hackathon",
- videoUrl: "https://youtu.be/ZIWskNogafg?si=DmUbOQJaSRE1rdzq",
- videoLabel: "Watch the full talk",
- tags: ["Polycentric Governance", "Web3", "Ostrom"],
- },
- {
- id: "mycofi-myco-munnities",
- title: "MycoFi for Myco-munnities",
- description: "Exploring mycelial financial systems for community-based organizations",
- embedUrl: "https://slides.jeffemmett.com/mycofi-myco-munnities",
- venue: "CoFi Gathering in Liege",
- tags: ["MycoFi", "Community Finance", "CoFi"],
- },
- {
- id: "community-resilience",
- title: "Building Community Resilience in an Age of Crisis",
- description: "Internet outages during crises can disrupt communication, education, and access to vital information. Preparing for such disruptions is essential for communities operating in challenging environments.",
- embedUrl: "https://slides.jeffemmett.com/community-resilience",
- venue: "re:publica conference, May 2025",
- videoUrl: "https://www.youtube.com/watch?v=rTOLk7k9Ad8",
- videoLabel: "Watch the full talk",
- tags: ["Resilience", "Crisis Response", "Community Networks"],
- },
-]
-
-function copyLink(id: string) {
- const url = `${window.location.origin}/presentations#${id}`
- navigator.clipboard.writeText(url).then(() => {
- toast.success("Link copied to clipboard")
- })
-}
-
-export default function PresentationsPage() {
+export default function PresentationsRedirect() {
useEffect(() => {
- if (window.location.hash) {
- const id = window.location.hash.slice(1)
- const el = document.getElementById(id)
- if (el) {
- setTimeout(() => {
- el.scrollIntoView({ behavior: "smooth", block: "start" })
- }, 100)
- }
- }
+ window.location.replace(`https://slides.jeffemmett.com/${window.location.hash}`)
}, [])
return (
- <>
-
-
- {/* Animated background blobs */}
-
-
- {/* Header */}
-
-
- {/* Hero */}
-
-
Presentations
-
- Research into the intersection of mycelium networks, emancipatory technologies,
- and convivial tooling. Designing systems that support collective action and
- community self-organization.
-
-
-
- {/* Presentations grid */}
-
-
- {presentations.map((p) => (
-
-
-
-
{p.description}
- {p.tags && (
-
- {p.tags.map((tag, i) => (
-
- {tag}
-
- ))}
-
- )}
-
-
-
-
-
-
- ))}
-
-
-
- {/* Footer */}
-
-
-
- © 2025 Jeff Emmett. Built with Next.js & TailwindCSS
-
-
-
-
- >
+
+
Redirecting to slides.jeffemmett.com...
+
)
}
diff --git a/components/hero-section.tsx b/components/hero-section.tsx
index 5cef2ed..adad181 100644
--- a/components/hero-section.tsx
+++ b/components/hero-section.tsx
@@ -63,7 +63,7 @@ export function HeroSection() {
Presentations
diff --git a/next.config.mjs b/next.config.mjs
index 8f9dc9b..090c16b 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -7,6 +7,20 @@ const nextConfig = {
images: {
unoptimized: true,
},
+ async redirects() {
+ return [
+ {
+ source: '/presentations',
+ destination: 'https://slides.jeffemmett.com',
+ permanent: true,
+ },
+ {
+ source: '/presentations/:path*',
+ destination: 'https://slides.jeffemmett.com/:path*',
+ permanent: true,
+ },
+ ]
+ },
}
export default nextConfig
diff --git a/package.json b/package.json
index f34b692..9065e52 100644
--- a/package.json
+++ b/package.json
@@ -37,7 +37,6 @@
"@radix-ui/react-toggle": "1.1.1",
"@radix-ui/react-toggle-group": "1.1.1",
"@radix-ui/react-tooltip": "1.1.6",
- "@vercel/analytics": "latest",
"autoprefixer": "^10.4.20",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
@@ -70,4 +69,4 @@
"tw-animate-css": "1.3.3",
"typescript": "^5"
}
-}
\ No newline at end of file
+}