first commit

This commit is contained in:
“dongming”
2025-12-18 12:22:21 +08:00
commit b422c43928
69 changed files with 6247 additions and 0 deletions

137
src/data/blog.json Normal file
View File

@@ -0,0 +1,137 @@
[
{
"id": 1,
"slug": "designing-for-speed",
"category": "Performance",
"title": "Designing for Speed: Faster UI, Happier Users",
"excerpt": "Practical ways to make interfaces feel instant—perceived performance, skeletons, and optimistic updates.",
"body": "We explore perceived performance techniques, including skeleton screens, optimistic actions, and prefetching routes. We also cover image strategy, font loading, and micro-interactions that mask latency.",
"coverImage": "https://images.unsplash.com/photo-1498050108023-c5249f4df085?q=80&w=1600&auto=format&fit=crop",
"images": [
"https://images.unsplash.com/photo-1519389950473-47ba0277781c?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1498050108023-c5249f4df085?q=80&w=1600&auto=format&fit=crop"
],
"author": "Priscy",
"date": "2025-03-06",
"url": "https://example.com/blog/designing-for-speed"
},
{
"id": 2,
"slug": "color-systems-in-2025",
"category": "Design",
"title": "Color Systems in 2025: Tokens, Modes, and Contrast",
"excerpt": "Dark mode, high contrast themes, and how to structure tokens so brand changes are painless.",
"body": "We map semantic tokens to modes, discuss WCAG contrast, and show how to keep brand palettes flexible without breaking components.",
"coverImage": "https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?q=80&w=1600&auto=format&fit=crop",
"images": [
"https://images.unsplash.com/photo-1512496015851-a90fb38ba796?q=80&w=1600&auto=format&fit=crop"
],
"author": "Priscy",
"date": "2025-02-14",
"url": "https://example.com/blog/color-systems-in-2025"
},
{
"id": 3,
"slug": "portfolio-case-study-template",
"category": "Process",
"title": "A Reusable Portfolio Case Study Template",
"excerpt": "Tell a tight story: problem → approach → impact. A simple outline you can reuse across projects.",
"body": "This template keeps you focused on outcomes. We include example sections, asset checklists, and metrics to highlight.",
"coverImage": "https://images.unsplash.com/photo-1493666438817-866a91353ca9?q=80&w=1600&auto=format&fit=crop",
"images": [],
"author": "Priscy",
"date": "2025-01-22",
"url": "https://example.com/blog/portfolio-case-study-template"
},
{
"id": 4,
"slug": "microinteractions-that-delight",
"category": "UI/UX",
"title": "Micro-interactions That Delight (Without Being Noisy)",
"excerpt": "Small, purposeful animations that guide attention and communicate state.",
"body": "We cover duration, easing, and how to use motion as feedback rather than decoration. Includes examples and do/don'ts.",
"coverImage": "https://images.unsplash.com/photo-1550565118-3a14e8d038d9?q=80&w=1600&auto=format&fit=crop",
"images": [],
"author": "Priscy",
"date": "2024-12-11",
"url": "https://example.com/blog/microinteractions-that-delight"
},
{
"id": 5,
"slug": "building-accessible-modals",
"category": "Accessibility",
"title": "Building Accessible Modals in React",
"excerpt": "Focus traps, aria labels, scroll locking, and escape hatches.",
"body": "A checklist and code snippets for modals that work for everyone—including keyboard and screen reader users.",
"coverImage": "https://images.unsplash.com/photo-1518779578993-ec3579fee39f?q=80&w=1600&auto=format&fit=crop",
"images": [],
"author": "Priscy",
"date": "2024-11-05",
"url": "https://example.com/blog/building-accessible-modals"
},
{
"id": 6,
"slug": "image-loading-strategies",
"category": "Performance",
"title": "Smart Image Loading for Portfolio Sites",
"excerpt": "When to use `object-fit`, responsive sources, and lazy loading to keep pages snappy.",
"body": "We compare techniques for art direction and bandwidth savings: `srcset`, `sizes`, `loading=lazy`, and preloading hero assets.",
"coverImage": "https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?q=80&w=1600&auto=format&fit=crop",
"images": [],
"author": "Priscy",
"date": "2024-10-10",
"url": "https://example.com/blog/image-loading-strategies"
},
{
"id": 7,
"slug": "design-handoff-checklist",
"category": "Process",
"title": "Design → Dev Handoff Checklist",
"excerpt": "Everything devs need: tokens, states, empty/error screens, and motion specs.",
"body": "Use this checklist before handoff to reduce rework and mismatches in production.",
"coverImage": "https://images.unsplash.com/photo-1519389950473-47ba0277781c?q=80&w=1600&auto=format&fit=crop",
"images": [],
"author": "Priscy",
"date": "2024-08-28",
"url": "https://example.com/blog/design-handoff-checklist"
},
{
"id": 8,
"slug": "grid-layouts-that-scale",
"category": "CSS",
"title": "Grid Layouts That Scale Across Breakpoints",
"excerpt": "Fluid columns, minmax, clamp, and intrinsic sizing patterns.",
"body": "We show common responsive patterns that keep content readable at any width.",
"coverImage": "https://images.unsplash.com/photo-1491884662610-dfcd28f30cf5?q=80&w=1600&auto=format&fit=crop",
"images": [],
"author": "Priscy",
"date": "2024-07-17",
"url": "https://example.com/blog/grid-layouts-that-scale"
},
{
"id": 9,
"slug": "navbars-that-dont-annoy",
"category": "UI/UX",
"title": "Sticky Navbars That Dont Annoy Users",
"excerpt": "When to use sticky vs fixed, and how to keep them out of the way.",
"body": "Tradeoffs, safe areas, and scroll-aware patterns that balance access with focus.",
"coverImage": "https://images.unsplash.com/photo-1520975916090-3105956dac38?q=80&w=1600&auto=format&fit=crop",
"images": [],
"author": "Priscy",
"date": "2024-06-02",
"url": "https://example.com/blog/navbars-that-dont-annoy"
},
{
"id": 10,
"slug": "writing-case-studies-people-read",
"category": "Content",
"title": "Writing Case Studies People Actually Read",
"excerpt": "Short intros, visuals first, and clear outcomes—skip the fluff.",
"body": "How to structure, what to cut, and quick heuristics to keep readers engaged.",
"coverImage": "https://images.unsplash.com/photo-1493666438207-1c01b1c1b6b6?q=80&w=1600&auto=format&fit=crop",
"images": [],
"author": "Priscy",
"date": "2024-05-01",
"url": "https://example.com/blog/writing-case-studies-people-read"
}
]

82
src/data/brands.json Normal file
View File

@@ -0,0 +1,82 @@
[
{
"name": "Acme Studios",
"image": "https://placehold.co/320x160?text=Acme+Studios+Logo"
},
{
"name": "Northstar Labs",
"image": "https://placehold.co/320x160?text=Northstar+Labs+Logo"
},
{
"name": "Aurora Apparel",
"image": "https://placehold.co/320x160?text=Aurora+Apparel+Logo"
},
{
"name": "Pixel Forge",
"image": "https://placehold.co/320x160?text=Pixel+Forge+Logo"
},
{
"name": "Summit Health",
"image": "https://placehold.co/320x160?text=Summit+Health+Logo"
},
{
"name": "Blue Harbor",
"image": "https://placehold.co/320x160?text=Blue+Harbor+Logo"
},
{
"name": "Zenith Finance",
"image": "https://placehold.co/320x160?text=Zenith+Finance+Logo"
},
{
"name": "Ember Coffee",
"image": "https://placehold.co/320x160?text=Ember+Coffee+Logo"
},
{
"name": "Lighthouse Travel",
"image": "https://placehold.co/320x160?text=Lighthouse+Travel+Logo"
},
{
"name": "Nimbus Cloud",
"image": "https://placehold.co/320x160?text=Nimbus+Cloud+Logo"
},
{
"name": "Terra Foods",
"image": "https://placehold.co/320x160?text=Terra+Foods+Logo"
},
{
"name": "Silverline Media",
"image": "https://placehold.co/320x160?text=Silverline+Media+Logo"
},
{
"name": "Echo Fitness",
"image": "https://placehold.co/320x160?text=Echo+Fitness+Logo"
},
{
"name": "Horizon Motors",
"image": "https://placehold.co/320x160?text=Horizon+Motors+Logo"
},
{
"name": "Atlas Outdoor",
"image": "https://placehold.co/320x160?text=Atlas+Outdoor+Logo"
},
{
"name": "Velvet Cosmetics",
"image": "https://placehold.co/320x160?text=Velvet+Cosmetics+Logo"
},
{
"name": "Quantum Learning",
"image": "https://placehold.co/320x160?text=Quantum+Learning+Logo"
},
{
"name": "Drift Bikes",
"image": "https://placehold.co/320x160?text=Drift+Bikes+Logo"
},
{
"name": "Sunbeam Energy",
"image": "https://placehold.co/320x160?text=Sunbeam+Energy+Logo"
},
{
"name": "Meadow Petcare",
"image": "https://placehold.co/320x160?text=Meadow+Petcare+Logo"
}
]

View File

@@ -0,0 +1,34 @@
[
{
"id": 1,
"title": "Cousera UI/UX Design",
"year": "2022 - 2023",
"status": "Completed",
"link": "#",
"image": "/assets/facebook.svg"
},
{
"id": 2,
"title": "Adobe UI/UX Master Class",
"year": "2022 - 2023",
"status": "Completed",
"link": "#",
"image": "/assets/instagram.svg"
},
{
"id": 3,
"title": "Figma UI/UX Design",
"year": "2022 - 2023",
"status": "Completed",
"link": "#",
"image": "/assets/facebook.svg"
},
{
"id": 4,
"title": "DevOps UI/UX Master Class",
"year": "2022 - 2023",
"status": "Completed",
"link": "#",
"image": "/assets/instagram.svg"
}
]

27
src/data/faq.json Normal file
View File

@@ -0,0 +1,27 @@
[
{
"id": 1,
"question": "What does a product designer need to know?",
"answer": "I'm here to help if you're searching for a product designer to bring your idea to life or a design partner to help take your business to the next level."
},
{
"id": 2,
"question": "What does a product designer need to know?",
"answer": "I'm here to help if you're searching for a product designer to bring your idea to life or a design partner to help take your business to the next level."
},
{
"id": 3,
"question": "What does a product designer need to know?",
"answer": "I'm here to help if you're searching for a product designer to bring your idea to life or a design partner to help take your business to the next level."
},
{
"id": 4,
"question": "What does a product designer need to know?",
"answer": "I'm here to help if you're searching for a product designer to bring your idea to life or a design partner to help take your business to the next level."
},
{
"id": 5,
"question": "What does a product designer need to know?",
"answer": "I'm here to help if you're searching for a product designer to bring your idea to life or a design partner to help take your business to the next level."
}
]

40
src/data/menu.json Normal file
View File

@@ -0,0 +1,40 @@
{
"data": [
{
"id": 1,
"title": "Home",
"link": "/",
"image": "/assets/house.svg"
},
{
"id": 2,
"title": "About",
"link": "/about",
"image": "/assets/user.svg"
},
{
"id": 3,
"title": "Services",
"link": "/services",
"image": "/assets/layers.svg"
},
{
"id": 4,
"title": "Portfolio",
"link": "/portfolio",
"image": "/assets/briefcase.svg"
},
{
"id": 5,
"title": "Blog",
"link": "/blog",
"image": "/assets/pencil.svg"
},
{
"id": 6,
"title": "Contact",
"link": "/contact",
"image": "/assets/message.svg"
}
]
}

80
src/data/projects.json Normal file
View File

@@ -0,0 +1,80 @@
[
{
"id": 1,
"category": "Web Design",
"title": "Minimal Furniture Shop",
"body": "A clean e-commerce concept focusing on crisp typography and generous whitespace. Built with React and a headless cart pattern to keep interactions snappy.",
"images": [
"https://images.unsplash.com/photo-1493666438817-866a91353ca9?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1524758631624-e2822e304c36?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1493666438207-1c01b1c1b6b6?q=80&w=1600&auto=format&fit=crop"
],
"coverImage": "https://images.unsplash.com/photo-1493666438817-866a91353ca9?q=80&w=1200&auto=format&fit=crop",
"url": "https://example.com/projects/minimal-furniture"
},
{
"id": 2,
"category": "Branding",
"title": "Cold Brew Identity",
"body": "Logo, color system, and can label layout for a small-batch cold brew startup. The palette leans into deep blues and copper accents.",
"images": [
"https://images.unsplash.com/photo-1511920170033-f8396924c348?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1453614512568-c4024d13c247?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?q=80&w=1600&auto=format&fit=crop"
],
"coverImage": "https://images.unsplash.com/photo-1519389950473-47ba0277781c?q=80&w=1200&auto=format&fit=crop",
"url": "https://example.com/projects/cold-brew-identity"
},
{
"id": 3,
"category": "UI/UX",
"title": "Wellness Mobile App",
"body": "Meditation and habit-tracking flows with gentle micro-interactions. Focused on clarity and accessibility with large tap targets and calm motion.",
"images": [
"https://images.unsplash.com/photo-1550565118-3a14e8d038d9?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1512496015851-a90fb38ba796?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?q=80&w=1600&auto=format&fit=crop"
],
"coverImage": "https://images.unsplash.com/photo-1493666438817-866a91353ca9?q=80&w=1200&auto=format&fit=crop",
"url": "https://example.com/projects/wellness-app"
},
{
"id": 4,
"category": "Development",
"title": "SaaS Dashboard",
"body": "Admin dashboard with role-based access, dark mode, and lightweight charts. Emphasis on performance and a cohesive component system.",
"images": [
"https://images.unsplash.com/photo-1551281044-8d8e8aa0f0a8?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1519389950473-47ba0277781c?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1498050108023-c5249f4df085?q=80&w=1600&auto=format&fit=crop"
],
"coverImage": "https://images.unsplash.com/photo-1519389950473-47ba0277781c?q=80&w=1200&auto=format&fit=crop",
"url": "https://example.com/projects/saas-dashboard"
},
{
"id": 5,
"category": "Illustration",
"title": "City Nights Poster Series",
"body": "A trio of vector posters exploring neon-lit cityscapes. Strong geometry, halftone textures, and a vibrant, high-contrast palette.",
"images": [
"https://images.unsplash.com/photo-1508057198894-247b23fe5ade?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1491884662610-dfcd28f30cf5?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1469474968028-56623f02e42e?q=80&w=1600&auto=format&fit=crop"
],
"coverImage": "https://images.unsplash.com/photo-1508057198894-247b23fe5ade?q=80&w=1200&auto=format&fit=crop",
"url": "https://example.com/projects/city-nights"
},
{
"id": 6,
"category": "Photography",
"title": "Analog Portraits",
"body": "A study in natural light and grain shot on 35mm film. Subtle color grading to preserve the character of the stock.",
"images": [
"https://images.unsplash.com/photo-1524504388940-b1c1722653e1?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1520975916090-3105956dac38?q=80&w=1600&auto=format&fit=crop",
"https://images.unsplash.com/photo-1494790108377-be9c29b29330?q=80&w=1600&auto=format&fit=crop"
],
"coverImage": "https://images.unsplash.com/photo-1524504388940-b1c1722653e1?q=80&w=1200&auto=format&fit=crop",
"url": "https://example.com/projects/analog-portraits"
}
]

View File

@@ -0,0 +1,50 @@
[
{
"id": 1,
"name": "Amara O.",
"role": "Head of Product, Nebula Pay",
"rating": 5,
"quote": "Priscy delivered beyond expectations. The UX flow cut our onboarding time by 37% and customers noticed immediately.",
"avatar": "https://i.pravatar.cc/120?img=1"
},
{
"id": 2,
"name": "David K.",
"role": "Founder, CraftCart",
"rating": 5,
"quote": "Clean code, crisp design, and excellent communication. Launch went smoothly and the site is blazing fast.",
"avatar": "https://i.pravatar.cc/120?img=2"
},
{
"id": 3,
"name": "Lina P.",
"role": "Marketing Lead, Oceanic",
"rating": 4,
"quote": "Our rebrand looks modern and consistent across channels. The design system has been a game changer for our team.",
"avatar": "https://i.pravatar.cc/120?img=3"
},
{
"id": 4,
"name": "Zach M.",
"role": "CTO, ByteForge",
"rating": 5,
"quote": "Delivered a robust dashboard with thoughtful accessibility. Dark mode is immaculate.",
"avatar": "https://i.pravatar.cc/120?img=4"
},
{
"id": 5,
"name": "Chidera N.",
"role": "Ops Manager, FreshHub",
"rating": 5,
"quote": "From kickoff to handoff, everything was clear and on schedule. Mobile conversion improved noticeably.",
"avatar": "https://i.pravatar.cc/120?img=5"
},
{
"id": 6,
"name": "Marco S.",
"role": "CEO, AtlasLabs",
"rating": 4,
"quote": "Reliable partner. The team understood our constraints and shipped a polished MVP on time.",
"avatar": "https://i.pravatar.cc/120?img=6"
}
]

37
src/data/work.json Normal file
View File

@@ -0,0 +1,37 @@
[
{
"id": 1,
"year": "2020 - Present",
"position": "Frontend Developer",
"company": "Jive",
"image": "/assets/facebook.svg"
},
{
"id": 2,
"year": "2018 - 2020",
"position": "UI/UX Designer",
"company": "Figma",
"image": "/assets/figma.svg"
},
{
"id": 3,
"year": "2016 - 2018",
"position": "Intern Developer",
"company": "Web Startup",
"image": "/assets/instagram.svg"
},
{
"id": 4,
"year": "2015 - 2016",
"position": "Junior Developer",
"company": "Code Factory",
"image": "/assets/linkedin.svg"
},
{
"id": 5,
"year": "2014 - 2015",
"position": "Trainee",
"company": "DevWorks",
"image": "/assets/facebook.svg"
}
]