diff --git a/app/[locale]/(website)/about/page.tsx b/app/[locale]/(website)/about/page.tsx index bee9f05..96a1f9b 100644 --- a/app/[locale]/(website)/about/page.tsx +++ b/app/[locale]/(website)/about/page.tsx @@ -62,8 +62,12 @@ export default async function AboutPage({ params }: { params: Promise<{ locale: jobTitle: 'Co-Founder & Senior Product Engineer', description: 'Berlin-based Senior Product Engineer with 10+ years building and operating production software across full-stack products, commerce, APIs, integrations and cloud systems, with recent work in AI-assisted products.', - url: `${siteUrl}/${locale}/cv`, + url: `${siteUrl}/${locale}/yotam`, image: '/images/portfolio-v2/hero-art.webp', + sameAs: [ + 'https://linkedin.com/in/yotam-faraggi', + 'https://github.com/yotamon', + ], }); const adiSchema = generatePersonSchema({ diff --git a/components/ui/Counter.tsx b/components/ui/Counter.tsx index 94377c3..6646977 100644 --- a/components/ui/Counter.tsx +++ b/components/ui/Counter.tsx @@ -23,7 +23,10 @@ export const Counter: React.FC = ({ damping: 20, mass: 1, }); - const [displayValue, setDisplayValue] = useState(0); + // Render the real value in the server HTML so crawlers and no-JS clients + // receive meaningful content. Once the section enters view, the spring + // takes over and animates from zero to the target value. + const [displayValue, setDisplayValue] = useState(value); useMotionValueEvent(motionValue, 'change', latest => { setDisplayValue(Math.round(latest)); diff --git a/lib/seo.ts b/lib/seo.ts index aeccfa6..f1bc4ec 100644 --- a/lib/seo.ts +++ b/lib/seo.ts @@ -171,7 +171,7 @@ export function generateOrganizationSchema() { sameAs: [ 'https://twitter.com/cartshiftstudio', 'https://linkedin.com/company/cartshift-studio', - 'https://github.com/cartshift-studio', + 'https://github.com/CartShift', 'https://www.facebook.com/cartshiftstudio', 'https://www.instagram.com/cartshiftstudio', ], diff --git a/messages/en.json b/messages/en.json index 61b7584..2aa44d4 100644 --- a/messages/en.json +++ b/messages/en.json @@ -3824,9 +3824,9 @@ "members": [ { "name": "Yotam Faraggi", - "role": "Co-Founder & Developer", - "bio": "I started as a frontend developer and gradually fell in love with the full stack. These days, I build Shopify stores and WordPress sites that are fast, reliable, and actually fun to maintain. I'm a bit obsessed with clean code and performance – probably because I've seen too many slow sites lose customers. When I'm not coding, I'm usually exploring new e-commerce tools or figuring out how to solve tricky technical problems that most people avoid.", - "expertise": "Shopify, WordPress, Custom Development, Performance Optimization, Full-Stack Development, API Integration" + "role": "Co-Founder & Senior Product Engineer", + "bio": "Berlin-based Senior Product Engineer with 10+ years building and operating production software. I work best where product decisions and technical depth have to move together, across full-stack systems, commerce, APIs, integrations, data, cloud and AI. At CartShift, I bring that same end-to-end ownership to both client work and the products we build ourselves.", + "expertise": "Product Engineering, Full-Stack, Shopify, APIs & Integrations, AI-assisted Products, Performance & Reliability" }, { "name": "Adi Zelter", diff --git a/messages/he.json b/messages/he.json index f786c25..d42e738 100644 --- a/messages/he.json +++ b/messages/he.json @@ -3830,9 +3830,9 @@ }, { "name": "יותם פרג'י", - "role": "שותף מייסד ומפתח", - "bio": "התחלתי כמפתח פרונטאנד והתאהבתי בפול-סטאק. היום אני בונה חנויות שופיפיי ואתרי וורדפרס מהירים, אמינים וממש כיף לתחזק. קצת אובססיבי לגבי קוד נקי וביצועים – כנראה כי ראיתי יותר מדי אתרים איטיים שמאבדים לקוחות. כשאני לא מקודד, בדרך כלל אני חוקר כלים חדשים או מנסה לפתור בעיות טכניות מסובכות שרוב האנשים נמנעים מהן.", - "expertise": "שופיפיי, וורדפרס, פיתוח מותאם, אופטימיזציית ביצועים, פיתוח Full-Stack, אינטגרציית API" + "role": "Co-Founder & Senior Product Engineer", + "bio": "Senior Product Engineer בברלין עם יותר מ-10 שנות ניסיון בתוכנה לפרודקשן. אני עובד על מוצרים שבהם צריך לחבר החלטות מוצריות לעומק טכני, כולל Full-Stack, מסחר, APIs, אינטגרציות, דאטה, cloud ו-AI. ב-CartShift אני מביא את אותו סטנדרט של ownership מקצה לקצה גם לעבודה עם לקוחות וגם למוצרים שאנחנו בונים בעצמנו.", + "expertise": "Product Engineering, Full-Stack, Shopify, APIs & Integrations, AI-assisted Products, Performance & Reliability" } ] }, diff --git a/messages/src/en/website.json b/messages/src/en/website.json index 5608605..af72d6a 100644 --- a/messages/src/en/website.json +++ b/messages/src/en/website.json @@ -110,9 +110,9 @@ "members": [ { "name": "Yotam Faraggi", - "role": "Co-Founder & Developer", - "bio": "I started as a frontend developer and gradually fell in love with the full stack. These days, I build Shopify stores and WordPress sites that are fast, reliable, and actually fun to maintain. I'm a bit obsessed with clean code and performance – probably because I've seen too many slow sites lose customers. When I'm not coding, I'm usually exploring new e-commerce tools or figuring out how to solve tricky technical problems that most people avoid.", - "expertise": "Shopify, WordPress, Custom Development, Performance Optimization, Full-Stack Development, API Integration" + "role": "Co-Founder & Senior Product Engineer", + "bio": "Berlin-based Senior Product Engineer with 10+ years building and operating production software. I work best where product decisions and technical depth have to move together, across full-stack systems, commerce, APIs, integrations, data, cloud and AI. At CartShift, I bring that same end-to-end ownership to both client work and the products we build ourselves.", + "expertise": "Product Engineering, Full-Stack, Shopify, APIs & Integrations, AI-assisted Products, Performance & Reliability" }, { "name": "Adi Zelter", diff --git a/messages/src/he/website.json b/messages/src/he/website.json index 75ba728..cc7d485 100644 --- a/messages/src/he/website.json +++ b/messages/src/he/website.json @@ -116,9 +116,9 @@ }, { "name": "יותם פרג'י", - "role": "שותף מייסד ומפתח", - "bio": "התחלתי כמפתח פרונטאנד והתאהבתי בפול-סטאק. היום אני בונה חנויות שופיפיי ואתרי וורדפרס מהירים, אמינים וממש כיף לתחזק. קצת אובססיבי לגבי קוד נקי וביצועים – כנראה כי ראיתי יותר מדי אתרים איטיים שמאבדים לקוחות. כשאני לא מקודד, בדרך כלל אני חוקר כלים חדשים או מנסה לפתור בעיות טכניות מסובכות שרוב האנשים נמנעים מהן.", - "expertise": "שופיפיי, וורדפרס, פיתוח מותאם, אופטימיזציית ביצועים, פיתוח Full-Stack, אינטגרציית API" + "role": "Co-Founder & Senior Product Engineer", + "bio": "Senior Product Engineer בברלין עם יותר מ-10 שנות ניסיון בתוכנה לפרודקשן. אני עובד על מוצרים שבהם צריך לחבר החלטות מוצריות לעומק טכני, כולל Full-Stack, מסחר, APIs, אינטגרציות, דאטה, cloud ו-AI. ב-CartShift אני מביא את אותו סטנדרט של ownership מקצה לקצה גם לעבודה עם לקוחות וגם למוצרים שאנחנו בונים בעצמנו.", + "expertise": "Product Engineering, Full-Stack, Shopify, APIs & Integrations, AI-assisted Products, Performance & Reliability" } ] },