diff --git a/.auto-claude-status b/.auto-claude-status index d3c20c7..c23d4c6 100644 --- a/.auto-claude-status +++ b/.auto-claude-status @@ -1,10 +1,10 @@ { "active": true, "spec": "032-split-large-jsonld-tsx-component-759-lines-into-se", - "state": "planning", + "state": "building", "subtasks": { - "completed": 0, - "total": 0, + "completed": 1, + "total": 19, "in_progress": 1, "failed": 0 }, @@ -18,8 +18,8 @@ "max": 1 }, "session": { - "number": 2, + "number": 3, "started_at": "2026-01-25T06:23:19.101802" }, - "last_update": "2026-01-25T06:28:11.697923" + "last_update": "2026-01-25T06:29:44.912319" } \ No newline at end of file diff --git a/src/components/seo/schemas/ProfessionalServiceJsonLd.tsx b/src/components/seo/schemas/ProfessionalServiceJsonLd.tsx new file mode 100644 index 0000000..e272b68 --- /dev/null +++ b/src/components/seo/schemas/ProfessionalServiceJsonLd.tsx @@ -0,0 +1,116 @@ +import { type Locale } from '@/i18n/config'; + +interface JsonLdProps { + locale: Locale; +} + +export function ProfessionalServiceJsonLd({ locale }: JsonLdProps) { + const baseUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://damjan-savic.com'; + + const serviceNames = { + de: [ + 'KI-Entwicklung', + 'Prozessautomatisierung', + 'Voice AI Entwicklung', + 'SaaS Entwicklung', + 'Fullstack Webentwicklung', + 'n8n Automatisierung', + ], + en: [ + 'AI Development', + 'Process Automation', + 'Voice AI Development', + 'SaaS Development', + 'Fullstack Web Development', + 'n8n Automation', + ], + sr: [ + 'AI Razvoj', + 'Automatizacija procesa', + 'Voice AI Razvoj', + 'SaaS Razvoj', + 'Fullstack Web Razvoj', + 'n8n Automatizacija', + ], + }; + + const schema = { + '@context': 'https://schema.org', + '@type': 'ProfessionalService', + '@id': `${baseUrl}/#business`, + name: 'Damjan Savić - AI & Automation Specialist', + description: locale === 'de' + ? 'Freelance AI & Automation Specialist aus Köln. Spezialisiert auf KI-Agenten, Voice AI, Prozessautomatisierung und SaaS-Entwicklung.' + : locale === 'sr' + ? 'Freelance AI & Automation Specialist iz Kelna. Specijalizovan za AI agente, Voice AI, automatizaciju procesa i SaaS razvoj.' + : 'Remote AI & Automation Specialist based in Germany, serving clients in USA, UK and Europe. Specialized in AI agents, Voice AI, n8n process automation and custom SaaS development.', + url: baseUrl, + logo: `${baseUrl}/images/og-image.jpg`, + image: `${baseUrl}/images/og-image.jpg`, + email: 'info@damjan-savic.com', + telephone: '+491756950979', + priceRange: '€€€', + address: { + '@type': 'PostalAddress', + streetAddress: 'Rotdornallee', + addressLocality: locale === 'sr' ? 'Keln' : locale === 'en' ? 'Cologne' : 'Köln', + addressRegion: 'NRW', + postalCode: '50769', + addressCountry: 'DE', + }, + geo: { + '@type': 'GeoCoordinates', + latitude: 50.9375, + longitude: 6.9603, + }, + areaServed: [ + // Germany + { '@type': 'City', name: 'Cologne' }, + { '@type': 'City', name: 'Düsseldorf' }, + { '@type': 'City', name: 'Frankfurt' }, + { '@type': 'City', name: 'Munich' }, + { '@type': 'City', name: 'Berlin' }, + { '@type': 'City', name: 'Hamburg' }, + { '@type': 'Country', name: 'Germany' }, + // USA + { '@type': 'City', name: 'New York' }, + { '@type': 'City', name: 'Los Angeles' }, + { '@type': 'City', name: 'San Francisco' }, + { '@type': 'City', name: 'Miami' }, + { '@type': 'City', name: 'Chicago' }, + { '@type': 'Country', name: 'United States' }, + // UK + { '@type': 'City', name: 'London' }, + { '@type': 'Country', name: 'United Kingdom' }, + // Europe + { '@type': 'Country', name: 'Austria' }, + { '@type': 'Country', name: 'Switzerland' }, + ], + hasOfferCatalog: { + '@type': 'OfferCatalog', + name: locale === 'de' ? 'Dienstleistungen' : locale === 'sr' ? 'Usluge' : 'Services', + itemListElement: serviceNames[locale].map((service, index) => ({ + '@type': 'Offer', + itemOffered: { + '@type': 'Service', + name: service, + }, + position: index + 1, + })), + }, + founder: { + '@id': `${baseUrl}/#person`, + }, + sameAs: [ + 'https://www.linkedin.com/in/damjansavic/', + 'https://github.com/damjansavic', + ], + }; + + return ( +