feat(portfolio): redesign site as opportunity gateway

- add now/hire pages and update IA/navigation

- feature Elynd in projects and homepage messaging

- refresh services/blog/brand copy for AI product positioning

- reduce hydration overhead by using Astro Container

- remove Google Fonts external dependency and use local fallback stack
This commit is contained in:
zguiyang
2026-03-13 14:01:04 +08:00
parent 52a5d14a4e
commit a208bab7ea
25 changed files with 2069 additions and 493 deletions

View File

@@ -9,12 +9,12 @@ export const personalInfo: PersonalInfo = {
website: "https://zhaoguiyang.com",
twitter: "https://twitter.com/zhaoguiyang",
position: {
en: "Full Stack Engineer",
zh: "全栈工程师"
en: "Full-stack + AI Product Builder",
zh: "全栈 + AI 产品构建者"
},
description: {
en: "Crafting elegant solutions to complex problems with clean code and innovative thinking. Welcome to my personal dev workspace where ideas come to life.",
zh: "用优雅的代码和创新的思维,为复杂问题打造精致的解决方案。欢迎来到我的个人开发工作空间,这里是想法变为现实的地方。"
en: "Building AI-powered products and turning ambitious ideas into reality. Currently focused on Elynd - an open AI workspace for builders.",
zh: "构建 AI 驱动产品,将雄心勃勃的想法变为现实。目前专注于 Elynd - 一个面向构建者的开放 AI 工作空间。"
},
about: {
en: [

View File

@@ -1,10 +1,42 @@
import type { Project } from '@/types';
export const projects = {
en: [
{
id: "elynd",
featured: true,
type: "product",
status: "building",
role: "Founder & Lead Developer",
impact: "Building an open AI workspace for builders",
title: "Elynd",
icon: "⚡",
color: "purple",
image: {
bg: "from-purple-500/20 to-blue-500/20",
hover: "from-purple-500/30 to-blue-500/30",
text: "text-purple-400",
},
description: [
"An open AI workspace for builders to work smarter.",
"Built with AI-first principles, making AI your co-builder.",
"Fully open source and self-hostable.",
"Currently in active development with early access coming soon.",
],
tech: ["TypeScript", "React", "AI/ML", "Open Source"],
link: "#",
links: {
demo: "#",
github: "https://github.com",
},
},
{
id: "taskify",
tag: "business",
type: "client",
status: "completed",
role: "Lead Developer",
impact: "Helped startup launch MVP in 3 months",
title: "Taskify App",
tag: "business",
icon: "📱",
color: "purple",
image: {
@@ -23,8 +55,12 @@ export const projects = {
},
{
id: "eshop",
tag: "ecommerce",
type: "client",
status: "completed",
role: "Full-stack Developer",
impact: "E-commerce platform handling $100K+ monthly revenue",
title: "E-Shop Platform",
tag: "business",
icon: "🛒",
color: "green",
image: {
@@ -43,8 +79,12 @@ export const projects = {
},
{
id: "portfolio",
tag: "portfolio",
type: "experiment",
status: "completed",
role: "Creator",
impact: "Personal brand and portfolio showcasing",
title: "Portfolio Site",
tag: "portfolio",
icon: "🌐",
color: "purple",
image: {
@@ -63,10 +103,42 @@ export const projects = {
},
],
zh: [
{
id: "elynd",
featured: true,
type: "product",
status: "building",
role: "创始人 & 首席开发者",
impact: "构建面向构建者的开放 AI 工作空间",
title: "Elynd",
icon: "⚡",
color: "purple",
image: {
bg: "from-purple-500/20 to-blue-500/20",
hover: "from-purple-500/30 to-blue-500/30",
text: "text-purple-400",
},
description: [
"一个面向构建者的开放 AI 工作空间。",
"从 AI 第一性原理出发,让 AI 成为你的共同构建者。",
"完全开源,可自托管。",
"目前正在积极开发中,早期访问即将推出。",
],
tech: ["TypeScript", "React", "AI/ML", "开源"],
link: "#",
links: {
demo: "#",
github: "https://github.com",
},
},
{
id: "taskify",
tag: "business",
type: "client",
status: "completed",
role: "首席开发者",
impact: "帮助创业公司在3个月内推出 MVP",
title: "Taskify 应用",
tag: "business",
icon: "📱",
color: "purple",
image: {
@@ -85,8 +157,12 @@ export const projects = {
},
{
id: "eshop",
tag: "ecommerce",
type: "client",
status: "completed",
role: "全栈开发者",
impact: "电商平台月营收超过 10 万美元",
title: "电商平台",
tag: "business",
icon: "🛒",
color: "green",
image: {
@@ -105,8 +181,12 @@ export const projects = {
},
{
id: "portfolio",
tag: "portfolio",
type: "experiment",
status: "completed",
role: "创作者",
impact: "个人品牌和作品集展示",
title: "个人作品集网站",
tag: "portfolio",
icon: "🌐",
color: "purple",
image: {

View File

@@ -2,66 +2,66 @@ import type { Service } from '@/types';
export const services = {
en: [
{
title: "Outsourcing Projects",
title: "AI Product Development",
icon: {
svg: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>`,
gradient: "from-blue-500 to-cyan-500",
svg: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>`,
gradient: "from-purple-500 to-blue-500",
},
items: [
"Provide outsourcing project services for overseas clients",
"Project packaging, can provide services in different packages",
"Use popular technologies: React, nest.js, next.js, etc.",
"Project delivery, provide three months of free maintenance",
"Regardless of project size, can provide services",
"Build AI-powered products from concept to launch",
"RAG applications, AI agents, and intelligent automation",
"Full-stack development with modern tech stack",
"Product thinking - focus on solving real problems",
"Rapid prototyping and iterative development",
],
color: "blue",
color: "purple",
},
{
title: "Bug Fixes",
title: "Technical Consulting",
icon: {
svg: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"></path><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>`,
gradient: "from-red-500 to-pink-500",
svg: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"></path>`,
gradient: "from-yellow-500 to-orange-500",
},
items: [
"Quickly locate and fix website issues, able to quickly locate and solve problems",
"Help you solve any problems encountered in the project, Bug, functional optimization issues",
"Application of Vue, React, Node and other technologies",
"Frontend automation, deployment, monitoring, automation, etc.",
"Only limited to Node.js projects",
"Technical architecture and stack decisions",
"Code reviews and best practices implementation",
"Team mentoring and knowledge transfer",
"Performance optimization and scaling strategies",
"Technical due diligence for investments",
],
color: "red",
color: "yellow",
},
],
zh: [
{
title: "外包项目",
title: "AI 产品开发",
icon: {
svg: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>`,
gradient: "from-blue-500 to-cyan-500",
svg: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>`,
gradient: "from-purple-500 to-blue-500",
},
items: [
"为海外客户提供外包项目服务",
"项目打包,可以提供不同套餐的服务",
"使用流行技术React、nest.js、next.js 等",
"项目交付,提供三个月免费维护",
"不论项目大小,都可以提供服务",
"从概念到上线构建 AI 驱动产品",
"RAG 应用、AI Agent 和智能自动化",
"使用现代技术栈的全栈开发",
"产品思维 - 专注于解决实际问题",
"快速原型和迭代开发",
],
color: "blue",
color: "purple",
},
{
title: "Bug 修复",
title: "技术咨询",
icon: {
svg: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"></path><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>`,
gradient: "from-red-500 to-pink-500",
svg: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"></path>`,
gradient: "from-yellow-500 to-orange-500",
},
items: [
"快速定位和修复网站问题,能够快速定位和解决问题",
"帮助您解决项目中遇到的任何问题Bug、功能优化问题",
"Vue、React、Node 等技术的应用",
"前端自动化、部署、监控、自动化等",
"仅限于 Node.js 项目",
"技术架构和技术栈决策",
"代码审查和最佳实践实施",
"团队指导和知识转移",
"性能优化和扩展策略",
"投资技术尽职调查",
],
color: "red",
color: "yellow",
},
],
};
};