- {frontmatter.title} -
- - {/* Description */} -- {frontmatter.description} -
- - {/* Meta */} -diff --git a/app/(marketing)/blog/page.tsx b/app/(marketing)/blog/page.tsx deleted file mode 100644 index e50f785..0000000 --- a/app/(marketing)/blog/page.tsx +++ /dev/null @@ -1,169 +0,0 @@ -/** - * Blog Overview Page - * - * Landing page with series cards and recent posts - */ - -import Link from 'next/link' -import { getAllPosts, getSeriesWithCounts, type BlogSeries } from '@/lib/mdx/blog' - -export const metadata = { - title: 'Blog - AI Speedrun', - description: 'Artikelen over AI-gestuurde software ontwikkeling, healthcare IT en het bouwen van een EPD.', - openGraph: { - title: 'Blog - AI Speedrun', - description: 'Artikelen over AI-gestuurde software ontwikkeling, healthcare IT en het bouwen van een EPD.', - type: 'website', - siteName: 'AI Speedrun', - locale: 'nl_NL', - }, - twitter: { - card: 'summary', - title: 'Blog - AI Speedrun', - description: 'Artikelen over AI-gestuurde software ontwikkeling, healthcare IT en het bouwen van een EPD.', - }, - alternates: { - canonical: `${process.env.NEXT_PUBLIC_APP_URL || 'https://aispeedrun.vercel.app'}/blog`, - }, -} - -export default async function BlogPage() { - const series = await getSeriesWithCounts() - const posts = await getAllPosts() - - return ( -
- Artikelen over AI-gestuurde ontwikkeling en de reis van het bouwen van een EPD. -
-- Nog geen blogposts gepubliceerd. -
- ) : ( -- {post.frontmatter.description} -
- {post.frontmatter.tags && post.frontmatter.tags.length > 0 && ( -{series.description}
-- {frontmatter.description} -
- - {/* Meta */} -- {series.description} -
-- Nog geen posts in deze serie. -
- ) : ( -- {post.frontmatter.description} -
-- {feature.description} -
- {feature.time && feature.traditional && ( -- {data.description} -
-- {week.description} -
- - {/* Features */} - {week.features.length > 0 && ( -- “{content.quote}” -- -
- {content.subtitle} -
-- {children} -
-- {section.content} -
-- {content.error.message} -
- -- We zijn bezig met het bouwen van deze pagina. Kom binnenkort terug! -
- - - Terug naar home - -- {frontmatter.description} -
-
- {children}
-
- ),
- code: ({ children, ...props }) => (
-
- {children}
-
- ),
-
- // Blockquote
- blockquote: ({ children, ...props }) => (
- - {children} -- ), - - // Horizontal rule - hr: (props) => ( -
- Uitgebreide documentatie van alle gebouwde functionaliteit. Build in public met transparantie over features, implementatie en kosten. -
-- {release.frontmatter.description} -
-- Het probleem: Enterprise software kost €100.000+ per jaar - en implementaties duren 12-24 maanden. Je betaalt voor potentieel, niet voor werkelijke waarde. - Vendors optimaliseren voor meer seats, meer modules, meer lock-in. -
- -- De oplossing: AI-powered development verkort dit naar - 4 weken en €200 totale kosten. Niet omdat AI magisch is, maar omdat je 80% van de standaard-code - niet meer hoeft te schrijven. De kostenbasis verschuift compleet - geen armies van consultants, - geen jarenlange developmenttrajecten. -
- -- Het bewijs: Dit EPD prototype is het levende bewijs. - Gebouwd in 4 weken, volledig transparant, build in public. Infrastructuur die schaalt met gebruik, - AI die de heavy lifting doet. En het belangrijkste: je bezit de code, je controleert de roadmap. -
- -- Volg de voortgang hieronder en zie hoe elk onderdeel tot leven komt → -
-- Login om toegang te krijgen tot de EPD applicatie en zie AI-gestuurde workflows in actie -
- - -- Overzicht van alle intakes -
-- SMART doelen en interventies -
-- AI-gegenereerde behandelplannen met SMART doelen en evidence-based - interventies worden toegevoegd in Week 3. -
- - {/* Feature Preview */} -- Specifieke, Meetbare, Acceptabele, Realistische en - Tijdgebonden behandeldoelen -
-- Evidence-based behandelmethoden (CGT, ACT, EMDR, etc.) -
-- Sessie planning en behandelintensiteit -
-- Evaluatie en voortgangsmetingen -
-- DSM-light categorisatie en ernst indicatie -
-- AI-gestuurde probleemclassificatie met DSM-light categorieën wordt - toegevoegd in Week 3. -
- - {/* Feature Preview */} -- DSM-light Categorieën -
-- 6 categorieën met severity indicators (Laag/Middel/Hoog) -
-- Epic 4 - Placeholder for future content -
-- Wijzig de gegevens van {client.first_name} {client.last_name} -
-- Intake Notities -
-- TipTap editor, CRUD voor intakes, slide-in detail panel -
-- Epic 3 - Placeholder for future content -
-{intake.title}
-{intake.department}
-{intake.status}
-{intake.start_date}
-{intake.department}
-- Start een nieuwe intake om te beginnen. -
-- Vul de basisgegevens in om een nieuwe intake te starten. -
-- SMART Doelen & Interventies -
-- Treatment plan met versioning (v1, v2, concept/gepubliceerd) -
-- Epic 5 - Placeholder for future content -
-- Client Voortgang -
-- Behandelduur, sessies, doelvoortgang tracking -
-- Placeholder - Not designed yet -
-- Het EPD wordt gebouwd in 4 weken -
-- Van €100.000+ en 12-24 maanden → €200 + 4 weken -
- - {/* Build in Public Badge */} -- Volg de voortgang van dit experiment -
-{week.title}
-- Volg de build op LinkedIn voor real-time updates -
- - Volg op LinkedIn - → - -- {searchQuery - ? 'Probeer een andere zoekopdracht' - : 'Voeg uw eerste cliënt toe om te beginnen'} -
- {!searchQuery && ( - - Nieuwe cliënt toevoegen - - )} -| - Naam - | -- Leeftijd - | -- Geboortedatum - | -- Toegevoegd - | -- Acties - | -
|---|---|---|---|---|
|
-
-
-
-
-
-
- {client.first_name[0]}
- {client.last_name[0]}
-
-
-
-
-
- {client.full_name}
-
- |
- - {client.age} jaar - | -- {new Date(client.birth_date).toLocaleDateString('nl-NL')} - | -- {new Date(client.created_at).toLocaleDateString('nl-NL')} - | -
- e.stopPropagation()}
- >
-
-
- |
-
- {client.age} jaar -
-- Voeg een nieuwe cliënt toe aan het systeem -
-- {subtitle} -
- -{paragraph}
- ))} -- De tools en methoden waarmee ik jouw AI-uitdaging aanpak -
-$1')
-}
-
diff --git a/lib/mdx/blog.ts b/lib/mdx/blog.ts
deleted file mode 100644
index 612c0b9..0000000
--- a/lib/mdx/blog.ts
+++ /dev/null
@@ -1,259 +0,0 @@
-/**
- * Blog MDX Utilities
- *
- * Functions for loading and parsing blog MDX files with series support
- * Based on lib/mdx/documentatie.ts
- */
-
-import fs from 'fs'
-import path from 'path'
-import matter from 'gray-matter'
-
-const BLOG_DIR = path.join(process.cwd(), 'content/nl/blog')
-
-// ============================================================================
-// Types
-// ============================================================================
-
-export interface BlogSeries {
- id: string
- title: string
- description: string
- color: 'teal' | 'amber' | 'slate'
- order: number
- status: 'active' | 'completed' | 'planned'
-}
-
-export interface BlogFrontmatter {
- title: string
- description: string
- date: string
- published?: boolean
- seriesOrder: number
- tags?: string[]
- image?: string // Optional OG image path (relative to /public, e.g. "/images/blog/my-post.png")
-}
-
-export interface BlogPost {
- slug: string
- seriesId: string
- frontmatter: BlogFrontmatter
- content: string
- readingTime: number
-}
-
-export interface SeriesNavigation {
- previous: { slug: string; title: string } | null
- next: { slug: string; title: string } | null
- current: number
- total: number
-}
-
-// ============================================================================
-// Helper Functions
-// ============================================================================
-
-function calculateReadingTime(content: string): number {
- const wordsPerMinute = 200
- const wordCount = content.split(/\s+/).length
- return Math.ceil(wordCount / wordsPerMinute)
-}
-
-// ============================================================================
-// Series Functions
-// ============================================================================
-
-/**
- * Get all series metadata
- */
-export async function getAllSeries(): Promise