import React, { useEffect, useState } from "react";
import { motion } from "framer-motion";
import { ArrowUpRight, Mail, Instagram, Music, Heart, Star, Sparkles } from "lucide-react";
const projectImages = [
"https://images.unsplash.com/photo-1542038784456-1ea8e935640e?auto=format&fit=crop&w=900&q=80",
"https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=900&q=80",
"https://images.unsplash.com/photo-1490750967868-88aa4486c946?auto=format&fit=crop&w=900&q=80",
"https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=900&q=80",
];
const projects = [
["NIGHT DRIVE", "poster design"],
["DON'T OVERTHINK IT", "editorial design"],
["FLEUR", "magazine layout"],
["DIGITAL DREAMS", "web design"],
];
function TornPaper({ children, className = "" }) {
return
{children}
;
}
function Tape({ className = "" }) {
return ;
}
function Scribble({ children, className = "" }) {
return {children};
}
function ProjectCard({ title, type, img, i }) {
return (
0{i + 1}
☆
{title}
);
}
export default function PinkDigitalArchivePortfolio() {
const [xy, setXy] = useState({ x: 0, y: 0 });
useEffect(() => {
const move = (e) => setXy({ x: e.clientX, y: e.clientY });
window.addEventListener("mousemove", move);
return () => window.removeEventListener("mousemove", move);
}, []);
return (
visual artist & designer
MEL
Grace
I create visual stories that feel like memories
welcome to my digital archive
now playing ☆
pink archive radio
soft grunge mix
take up space baby
☆
chaos is beautiful
dream
create
inspire
repeat
{projects.map(([title, type], i) =>
)}
a few words
about me
I'm Mel, a visual artist and designer who loves mixing emotion, stories, aesthetics and beautiful chaos into meaningful visuals.
my philosophy
observe — find beauty in tiny details
imagine — let ideas bloom from daydreams
create — make work with intention
from the diary ♡
{["creative block & self doubt", "little things that inspire me", "learning to romanticize the ordinary"].map((entry, i) => (
{entry}
apr {16 + i}, 2026
))}
);
}