/* global React */ // ============================================================ // Sample resume data + template metadata + icon set // ============================================================ // ---- sample resume the prototype boots with ---- const SAMPLE_RESUME = { name: "Mira Calloway", title: "Product Designer → Design Engineer", location: "Brooklyn, NY", email: "mira.calloway@email.com", phone: "(347) 555-0182", website: "miracalloway.com", photo: "https://randomuser.me/api/portraits/women/68.jpg", summary: "Product designer with 6 years shipping consumer apps, now building the interfaces I used to hand off. I pair systems thinking with front-end craft to take ideas from sketch to production, and I care about the details users never consciously notice but always feel.", skills: [ { name: "Figma", level: 5 }, { name: "React", level: 4 }, { name: "Design Systems", level: 5 }, { name: "Prototyping", level: 5 }, { name: "TypeScript", level: 3 }, { name: "User Research", level: 4 }, { name: "Motion", level: 4 }, { name: "Accessibility", level: 4 }, { name: "Framer", level: 4 }, { name: "CSS Architecture", level: 4 }, { name: "Design Tokens", level: 5 }, { name: "Usability Testing", level: 3 }, { name: "Storybook", level: 4 }, { name: "Product Strategy", level: 3 }, ], experience: [ { id: "e1", role: "Senior Product Designer", company: "Lumen Labs", start: "2022", end: "Present", location: "Remote", bullets: [ "Led the redesign of the onboarding flow, lifting activation by 34% across 1.2M monthly users.", "Built and maintained the company design system adopted by 40+ engineers across six product squads.", "Prototyped in code to validate motion and micro-interactions before handoff, cutting design-to-ship time by half.", "Mentored three junior designers and ran the weekly design critique that set the bar for craft across the org.", ], }, { id: "e2", role: "Product Designer", company: "Northwind", start: "2019", end: "2022", location: "New York, NY", bullets: [ "Owned end-to-end design for the mobile checkout, reducing cart abandonment by 21%.", "Ran a weekly research cadence with 200+ customer interviews over two years.", "Partnered with engineering to ship a component library that became the team's source of truth.", ], }, { id: "e3", role: "Product Designer", company: "Fathom Analytics", start: "2018", end: "2019", location: "New York, NY", bullets: [ "Designed the dashboard and reporting suite used daily by 8,000+ paying teams.", "Established the first set of data-visualization patterns and charting guidelines for the product.", ], }, { id: "e4", role: "Junior Designer", company: "Studio Mercer", start: "2017", end: "2018", location: "Providence, RI", bullets: [ "Produced brand identities and marketing sites for early-stage startups and local businesses.", "Shipped 20+ client projects spanning logo systems, type, and responsive web.", ], }, ], education: [ { id: "ed1", school: "Rhode Island School of Design", degree: "BFA, Graphic Design", start: "2013", end: "2017", }, { id: "ed2", school: "General Assembly", degree: "Front-End Web Development", start: "2018", end: "2018", }, ], projects: [ { id: "p1", name: "Cadence", desc: "Open-source motion library for React, 4k+ stars on GitHub." }, { id: "p2", name: "Typescale", desc: "A small tool for generating accessible modular type scales." }, { id: "p3", name: "Field Notes", desc: "A weekly newsletter on design engineering, 6k subscribers." }, ], certifications: [ { id: "c1", name: "Google UX Design Certificate", issuer: "Google", year: "2021" }, { id: "c2", name: "Certified Professional in Accessibility (CPACC)", issuer: "IAAP", year: "2023" }, ], languages: [ { id: "l1", name: "English", level: "Native" }, { id: "l2", name: "Spanish", level: "Professional" }, { id: "l3", name: "Portuguese", level: "Conversational" }, ], awards: [ { id: "a1", name: "Webby Award — Best Visual Design", issuer: "IADAS", year: "2023" }, { id: "a2", name: "Design Lead of the Year", issuer: "Lumen Labs", year: "2022" }, ], interests: ["Typography", "Generative art", "Trail running", "Film photography"], courses: ["Human–Computer Interaction", "Color Theory", "Data Visualization", "Front-End Architecture"], volunteer: [ { id: "v1", role: "Design Mentor", company: "Out in Tech", start: "2020", end: "Present", location: "", bullets: ["Mentor early-career LGBTQ+ designers through portfolio reviews and 1:1 coaching."], }, ], publications: [ { id: "pub1", title: "Designing Motion That Means Something", venue: "Smashing Magazine", year: "2023" }, { id: "pub2", title: "A Systems Approach to Color Tokens", venue: "A List Apart", year: "2022" }, ], references: [ { id: "r1", name: "Dr. Elena Ruiz", title: "VP Design, Lumen Labs", contact: "elena@lumenlabs.com" }, ], sectionOrder: ["summary", "experience", "projects", "skills", "certifications", "awards", "languages", "education"], }; // ---- résumé templates ---------------------------------------------------- // Each template is a layout descriptor consumed by the unified render engine // (see ResumePreview.jsx). arch: "stack" (header on top) | "sidebar" (left // rail). side: section keys routed to the rail / side column (the rest flow // in the main column, honoring the user's drag-and-drop section order). // skills: how the Skills section renders — tags | pills | bars | rings | list. // -------------------------------------------------------------------------- const TEMPLATES = [ // ===== creative / general ===== { id: "spectrum", name: "Spectrum", tag: "Creative", blurb: "Bold colored sidebar with a confident two-column body.", accent: "#6d5cff", accent2: "#ff5ca8", swatch: ["#6d5cff", "#ff5ca8", "#0f1020"], arch: "sidebar", photo: true, skills: "tags", side: ["skills", "education", "languages", "certifications", "interests"], }, { id: "aurora", name: "Aurora", tag: "Modern", blurb: "Gradient banner header with airy, modern sections.", accent: "#13b6a8", accent2: "#5b8cff", swatch: ["#13b6a8", "#5b8cff", "#f7fbfb"], arch: "stack", head: "banner", skills: "pills", side: ["skills", "education", "languages"], }, { id: "ember", name: "Ember", tag: "Editorial", blurb: "Warm editorial layout with a striking display name.", accent: "#f4663a", accent2: "#ffb43d", swatch: ["#f4663a", "#ffb43d", "#fffaf4"], arch: "stack", head: "editorial", skills: "tags", side: ["skills", "education", "certifications", "languages"], }, { id: "mono", name: "Mono", tag: "Minimal", blurb: "Minimal typographic single column. Ultra ATS-friendly.", accent: "#111111", accent2: "#6b6b6b", swatch: ["#111111", "#6b6b6b", "#ffffff"], arch: "stack", head: "labeled", skills: "list", side: [], }, { id: "prism", name: "Prism", tag: "Playful", blurb: "Playful color-blocked grid for design & creative roles.", accent: "#7c3aed", accent2: "#06b6d4", swatch: ["#7c3aed", "#06b6d4", "#fef9c3"], arch: "stack", head: "card", skills: "pills", side: ["skills", "education", "languages"], }, { id: "atlas", name: "Atlas", tag: "Modern", blurb: "Oversized letter-spaced name, photo & skill bars. Refined.", accent: "#e0b020", accent2: "#2b2b2f", swatch: ["#e0b020", "#1c1c20", "#f5f5f3"], arch: "sidebar", photo: true, skills: "bars", rail: "light", side: ["skills", "education", "languages", "certifications"], }, { id: "onyx", name: "Onyx", tag: "Creative", blurb: "Premium dark résumé with skill rings and glass cards.", accent: "#7c6cff", accent2: "#3ad6c0", swatch: ["#7c6cff", "#3ad6c0", "#161b29"], arch: "stack", head: "dark", photo: true, skills: "rings", side: ["education", "projects", "awards", "languages"], }, { id: "quill", name: "Quill", tag: "Editorial", blurb: "Refined magazine layout with a serif name and drop-cap intro.", accent: "#7a2e3a", accent2: "#b08a5a", swatch: ["#7a2e3a", "#b08a5a", "#fbf9f5"], arch: "stack", head: "serifCenter", skills: "tags", side: ["skills", "education", "languages", "projects"], }, // ===== finance & business ===== { id: "wolfe", name: "Wolfe", tag: "Finance", blurb: "Investment-banking standard. Centered serif, dense, one-page, no graphics — exactly what Wall Street recruiters expect.", accent: "#14233f", accent2: "#5a6678", swatch: ["#14233f", "#5a6678", "#ffffff"], arch: "stack", head: "ibank", skills: "list", side: [], }, { id: "ledger", name: "Ledger", tag: "Finance", blurb: "Corporate finance & accounting. Conservative two-tone layout with a crisp credentials column.", accent: "#20493f", accent2: "#6f8a82", swatch: ["#20493f", "#6f8a82", "#ffffff"], arch: "stack", head: "ruled", skills: "list", side: ["skills", "certifications", "languages"], }, { id: "beacon", name: "Beacon", tag: "Consulting", blurb: "Management consulting (MBB). Structured, achievement-first, navy and clean.", accent: "#15425c", accent2: "#3f7da0", swatch: ["#15425c", "#3f7da0", "#ffffff"], arch: "stack", head: "centered", skills: "list", side: [], }, { id: "summit", name: "Summit", tag: "Executive", blurb: "C-suite & senior leadership. Elegant serif header with a leadership-forward layout.", accent: "#2a2a2e", accent2: "#b8924f", swatch: ["#2a2a2e", "#b8924f", "#faf9f6"], arch: "stack", head: "exec", skills: "list", side: ["skills", "awards", "education", "languages"], }, { id: "bolt", name: "Bolt", tag: "Sales", blurb: "Sales & business development. Metrics-forward with a bold accent band and quota highlights.", accent: "#ef5b2b", accent2: "#ffb020", swatch: ["#ef5b2b", "#ffb020", "#0e0f14"], arch: "stack", head: "band", skills: "bars", side: ["skills", "awards", "languages"], }, // ===== tech & engineering ===== { id: "cobalt", name: "Cobalt", tag: "Tech", blurb: "FAANG-ready & ATS-safe. Clean single column, literal headers, grouped skills — no columns to confuse the parser.", accent: "#2563eb", accent2: "#475569", swatch: ["#2563eb", "#0f172a", "#ffffff"], arch: "stack", head: "ats", skills: "list", side: [], }, { id: "terminal", name: "Terminal", tag: "Tech", blurb: "Monospace developer résumé with command-line section headers.", accent: "#1f8a5b", accent2: "#0f8a7a", swatch: ["#1f8a5b", "#0f1b14", "#f3f6f3"], arch: "stack", head: "codecard", skills: "tags", side: ["skills", "education", "languages"], }, { id: "forge", name: "Forge", tag: "Engineering", blurb: "Mechanical, civil & hardware engineering. Industrial layout foregrounding skills & certifications.", accent: "#c2691c", accent2: "#2b2f36", swatch: ["#c2691c", "#2b2f36", "#f5f5f3"], arch: "sidebar", skills: "bars", rail: "light", side: ["skills", "certifications", "languages", "education"], }, { id: "vertex", name: "Vertex", tag: "Bold", blurb: "Bold electric header band with a geometric edge and two-column body.", accent: "#2f4bff", accent2: "#00c2ff", swatch: ["#2f4bff", "#00c2ff", "#0a0e1f"], arch: "stack", head: "band", skills: "pills", side: ["skills", "education", "projects"], }, // ===== academic, legal, healthcare, government ===== { id: "scholar", name: "Scholar", tag: "Academic", blurb: "Academic CV for research roles & foreign universities. Serif, multi-page, publications & teaching.", accent: "#5b2333", accent2: "#8a6d4f", swatch: ["#5b2333", "#8a6d4f", "#fbf9f6"], arch: "stack", head: "cv", skills: "list", side: [], }, { id: "statute", name: "Statute", tag: "Legal", blurb: "Law & legal practice. Formal centered serif with bar-admission and credentials emphasis.", accent: "#20283f", accent2: "#7a3b46", swatch: ["#20283f", "#7a3b46", "#fbfaf7"], arch: "stack", head: "legal", skills: "list", side: [], }, { id: "vitals", name: "Vitals", tag: "Healthcare", blurb: "Medical, nursing & allied health. Clean clinical layout with licenses & certifications up front.", accent: "#117a8b", accent2: "#3aa7a0", swatch: ["#117a8b", "#3aa7a0", "#f4fbfb"], arch: "stack", head: "clinical", skills: "tags", side: ["certifications", "skills", "languages"], }, { id: "federal", name: "Federal", tag: "Government", blurb: "Government & public sector. Detailed, formal long-form layout built for federal-style applications.", accent: "#13315c", accent2: "#8a1f2b", swatch: ["#13315c", "#8a1f2b", "#ffffff"], arch: "stack", head: "formal", skills: "list", side: [], }, // ===== marketing, design, service, international ===== { id: "canvas", name: "Canvas", tag: "Marketing", blurb: "Marketing, brand & growth. Vibrant two-column layout with room for campaigns and metrics.", accent: "#c026d3", accent2: "#f97316", swatch: ["#c026d3", "#f97316", "#fff7fb"], arch: "stack", head: "vivid", skills: "pills", side: ["skills", "awards", "interests", "languages"], }, { id: "pixel", name: "Pixel", tag: "Design", blurb: "UX & product design. Modern, minimal and portfolio-friendly.", accent: "#5b5bd6", accent2: "#00b3a4", swatch: ["#5b5bd6", "#00b3a4", "#ffffff"], arch: "stack", head: "designer", skills: "tags", side: ["skills", "education", "interests"], }, { id: "connect", name: "Connect", tag: "BPO", blurb: "BPO & customer support. Friendly, easy-to-scan layout with languages and skills front and center.", accent: "#0e8aa0", accent2: "#16b3b0", swatch: ["#0e8aa0", "#16b3b0", "#f3fbfb"], arch: "sidebar", photo: true, skills: "tags", side: ["skills", "languages", "certifications", "interests"], }, { id: "globe", name: "Globe", tag: "International", blurb: "Europass-style international CV. Photo, prominent languages and a structured rail.", accent: "#2557a7", accent2: "#2aa39a", swatch: ["#2557a7", "#2aa39a", "#f5f8fc"], arch: "sidebar", photo: true, skills: "tags", side: ["languages", "skills", "certifications", "interests"], }, // ===== more general layouts ===== { id: "slate", name: "Slate", tag: "Professional", blurb: "Traditional centered layout for finance, law & consulting. Conservative and ATS-safe.", accent: "#1f3a5f", accent2: "#5a7a9c", swatch: ["#1f3a5f", "#5a7a9c", "#ffffff"], arch: "stack", head: "centered", skills: "list", side: [], }, // ===== scale-forward layouts (proficiency "vectors") ===== { id: "meridian", name: "Meridian", tag: "Modern", blurb: "Skill-scale showcase. Colored rail with dot-rated tools and languages, photo, and a clean body.", accent: "#4f46e5", accent2: "#06b6d4", swatch: ["#4f46e5", "#06b6d4", "#f6f7fb"], arch: "sidebar", photo: true, skills: "dots", scaleWord: true, side: ["skills", "languages", "certifications", "education", "interests"], }, { id: "quartz", name: "Quartz", tag: "Minimal", blurb: "Swiss-minimal single column with quiet segmented proficiency meters. Restrained and precise.", accent: "#2d2d33", accent2: "#8a8a94", swatch: ["#2d2d33", "#8a8a94", "#ffffff"], arch: "stack", head: "swiss", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, { id: "helix", name: "Helix", tag: "Tech", blurb: "Startup-engineer résumé with signal-bar skill ratings and a sharp two-column body.", accent: "#6d28d9", accent2: "#14b8a6", swatch: ["#6d28d9", "#14b8a6", "#f7f7fb"], arch: "stack", head: "techband", skills: "signal", scaleWord: true, side: ["skills", "languages", "education"], }, { id: "marigold", name: "Marigold", tag: "Bold", blurb: "Warm, confident banner with segmented skill meters. Great for creative & growth roles.", accent: "#ea8c00", accent2: "#e0492b", swatch: ["#ea8c00", "#e0492b", "#fffaf2"], arch: "stack", head: "warmband", skills: "segments", scaleWord: true, side: ["skills", "languages", "interests"], }, { id: "veritas", name: "Veritas", tag: "Professional", blurb: "Compact two-column professional layout with dot-rated competencies and credentials.", accent: "#0e7490", accent2: "#155e75", swatch: ["#0e7490", "#155e75", "#ffffff"], arch: "stack", head: "ruledpro", skills: "dots", scaleWord: true, side: ["skills", "certifications", "languages", "education"], }, { id: "cascade", name: "Cascade", tag: "Modern", blurb: "Timeline experience with a connected spine, paired with dot-rated skills.", accent: "#2563eb", accent2: "#7c3aed", swatch: ["#2563eb", "#7c3aed", "#f7f9fc"], arch: "stack", head: "timeline", skills: "dots", side: ["skills", "education", "languages"], }, // ===== Horizon — accent header band ===== { id: "horizon-azure", name: "Horizon Azure", tag: "Modern", blurb: "Bold gradient header band with a crisp two-column body. Confident and current.", accent: "#2563eb", accent2: "#06b6d4", swatch: ["#2563eb", "#06b6d4", "#ffffff"], arch: "stack", head: "hzn", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, { id: "horizon-plum", name: "Horizon Plum", tag: "Bold", blurb: "Violet-to-pink header band for creative and product roles with a modern edge.", accent: "#7c3aed", accent2: "#db2777", swatch: ["#7c3aed", "#db2777", "#ffffff"], arch: "stack", head: "hzn", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, { id: "horizon-pine", name: "Horizon Pine", tag: "Modern", blurb: "Green gradient banner with a grounded, trustworthy feel. Great for ops & impact.", accent: "#0f766e", accent2: "#22c55e", swatch: ["#0f766e", "#22c55e", "#ffffff"], arch: "stack", head: "hzn", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, // ===== Margin — left accent rule ===== { id: "margin-slate", name: "Margin Slate", tag: "Professional", blurb: "A quiet left accent rule and underlined headings. Corporate and composed.", accent: "#334155", accent2: "#0ea5e9", swatch: ["#334155", "#0ea5e9", "#ffffff"], arch: "stack", head: "mgn", skills: "bars", side: ["skills", "certifications", "languages"], }, { id: "margin-clay", name: "Margin Clay", tag: "Professional", blurb: "Warm clay accent margin with skill bars. Approachable yet structured.", accent: "#b45309", accent2: "#ea580c", swatch: ["#b45309", "#ea580c", "#fffdf8"], arch: "stack", head: "mgn", skills: "bars", side: ["skills", "certifications", "languages"], }, { id: "margin-berry", name: "Margin Berry", tag: "Professional", blurb: "Berry accent rule with confident underlined sections. Distinctive but clean.", accent: "#9d174d", accent2: "#db2777", swatch: ["#9d174d", "#db2777", "#fff8fb"], arch: "stack", head: "mgn", skills: "bars", side: ["skills", "certifications", "languages"], }, // ===== Tabbed — soft tinted rail ===== { id: "tabbed-indigo", name: "Tabbed Indigo", tag: "Modern", blurb: "Soft tinted sidebar with photo and dot-rated skills. Friendly and organized.", accent: "#4f46e5", accent2: "#06b6d4", swatch: ["#4f46e5", "#06b6d4", "#f4f5fd"], arch: "sidebar", head: "tab", photo: true, skills: "dots", scaleWord: true, rail: "light", side: ["skills", "education", "languages", "certifications", "interests"], }, { id: "tabbed-teal", name: "Tabbed Teal", tag: "Modern", blurb: "Calm teal-tinted rail with photo. Clean scan for service & support roles.", accent: "#0d9488", accent2: "#14b8a6", swatch: ["#0d9488", "#14b8a6", "#f1faf9"], arch: "sidebar", head: "tab", photo: true, skills: "dots", scaleWord: true, rail: "light", side: ["skills", "education", "languages", "certifications", "interests"], }, { id: "tabbed-graphite", name: "Tabbed Graphite", tag: "Professional", blurb: "Neutral graphite rail with photo. Understated and broadly appropriate.", accent: "#374151", accent2: "#6b7280", swatch: ["#374151", "#6b7280", "#f5f6f7"], arch: "sidebar", head: "tab", photo: true, skills: "dots", scaleWord: true, rail: "light", side: ["skills", "education", "languages", "certifications", "interests"], }, // ===== Underscore — minimal underline ===== { id: "underscore-ink", name: "Underscore Ink", tag: "Minimal", blurb: "Minimal single column with short accent underlines. Quiet and ATS-friendly.", accent: "#111827", accent2: "#6b7280", swatch: ["#111827", "#6b7280", "#ffffff"], arch: "stack", head: "usc", skills: "tags", side: ["skills", "education", "interests"], }, { id: "underscore-blue", name: "Underscore Blue", tag: "Minimal", blurb: "Minimal layout with a single blue accent. Modern, restrained, readable.", accent: "#1d4ed8", accent2: "#3b82f6", swatch: ["#1d4ed8", "#3b82f6", "#ffffff"], arch: "stack", head: "usc", skills: "tags", side: ["skills", "education", "interests"], }, { id: "underscore-rose", name: "Underscore Rose", tag: "Minimal", blurb: "Minimal type with a warm rose accent. Personable without losing polish.", accent: "#be123c", accent2: "#fb7185", swatch: ["#be123c", "#fb7185", "#fffafb"], arch: "stack", head: "usc", skills: "tags", side: ["skills", "education", "interests"], }, // ===== Postcard — serif display ===== { id: "postcard-bordeaux", name: "Postcard Bordeaux", tag: "Editorial", blurb: "Centered serif name framed by hairlines. Editorial warmth with structure.", accent: "#7a2e3a", accent2: "#b08a5a", swatch: ["#7a2e3a", "#b08a5a", "#fbf9f5"], arch: "stack", head: "pcd", skills: "tags", side: ["skills", "education", "languages", "interests"], }, { id: "postcard-forest", name: "Postcard Forest", tag: "Editorial", blurb: "Refined serif letterhead in deep green. Calm, considered, classic.", accent: "#1f4d3a", accent2: "#6f8a82", swatch: ["#1f4d3a", "#6f8a82", "#ffffff"], arch: "stack", head: "pcd", skills: "tags", side: ["skills", "education", "languages", "interests"], }, { id: "postcard-navy", name: "Postcard Navy", tag: "Editorial", blurb: "Serif display in navy with framed contacts. Traditional and trusted.", accent: "#1e293b", accent2: "#64748b", swatch: ["#1e293b", "#64748b", "#ffffff"], arch: "stack", head: "pcd", skills: "tags", side: ["skills", "education", "languages", "interests"], }, // ===== Signal — marker + experience spine ===== { id: "signal-violet", name: "Signal Violet", tag: "Tech", blurb: "Dotted section markers and a timeline spine, paired with signal-bar skills.", accent: "#6d28d9", accent2: "#14b8a6", swatch: ["#6d28d9", "#14b8a6", "#f8f7fc"], arch: "stack", head: "sig", skills: "signal", scaleWord: true, side: ["skills", "languages", "education"], }, { id: "signal-amber", name: "Signal Amber", tag: "Bold", blurb: "Warm amber markers with an experience spine. Energetic and easy to follow.", accent: "#d97706", accent2: "#f59e0b", swatch: ["#d97706", "#f59e0b", "#fffdf7"], arch: "stack", head: "sig", skills: "signal", scaleWord: true, side: ["skills", "languages", "education"], }, { id: "signal-cyan", name: "Signal Cyan", tag: "Tech", blurb: "Cyan markers and a connected spine. Sharp and contemporary for tech roles.", accent: "#0891b2", accent2: "#22d3ee", swatch: ["#0891b2", "#22d3ee", "#f4fdff"], arch: "stack", head: "sig", skills: "signal", scaleWord: true, side: ["skills", "languages", "education"], }, // ===== FLAMBOYANT — bold, expressive statement designs ===== { id: "nova-magenta", name: "Nova Magenta", tag: "Flamboyant", blurb: "Full-bleed gradient masthead with an oversized name and photo. Loud, confident, unforgettable.", accent: "#d6249f", accent2: "#fd5949", swatch: ["#d6249f", "#fd5949", "#ffffff"], arch: "stack", head: "nova", photo: true, skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, { id: "nova-electric", name: "Nova Electric", tag: "Flamboyant", blurb: "Electric indigo-to-cyan masthead with a photo and big display name. Modern and high-energy.", accent: "#5b3df5", accent2: "#11d0e6", swatch: ["#5b3df5", "#11d0e6", "#ffffff"], arch: "stack", head: "nova", photo: true, skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, { id: "luxe-gold", name: "Luxe Gold", tag: "Flamboyant", blurb: "Dramatic dark sheet with a gradient-gold serif name and glass cards. Pure premium.", accent: "#f0c040", accent2: "#e0872f", swatch: ["#f0c040", "#e0872f", "#141019"], arch: "stack", head: "luxe", photo: true, skills: "rings", side: ["education", "projects", "awards", "languages"], }, { id: "luxe-orchid", name: "Luxe Orchid", tag: "Flamboyant", blurb: "Near-black sheet with a neon violet-to-pink serif name. Bold luxury for creative leaders.", accent: "#b66bff", accent2: "#ff5cc0", swatch: ["#b66bff", "#ff5cc0", "#141019"], arch: "stack", head: "luxe", photo: true, skills: "rings", side: ["education", "projects", "awards", "languages"], }, { id: "pop-punch", name: "Pop Punch", tag: "Flamboyant", blurb: "Pop-art color tabs and a giant uppercase name. Playful, bold, impossible to ignore.", accent: "#ff2e63", accent2: "#ffb703", swatch: ["#ff2e63", "#ffb703", "#fffdf8"], arch: "stack", head: "pop", skills: "pills", side: ["skills", "education", "languages"], }, { id: "pop-cyan", name: "Pop Cyan", tag: "Flamboyant", blurb: "Cyan-and-pink pop tabs with a bold display name. Fresh, fun and confident.", accent: "#08a6c2", accent2: "#ff4d8d", swatch: ["#08a6c2", "#ff4d8d", "#fffdf8"], arch: "stack", head: "pop", skills: "pills", side: ["skills", "education", "languages"], }, { id: "mirage", name: "Mirage", tag: "Flamboyant", blurb: "Holographic mesh-gradient rail with an oversized photo. A statement sidebar that glows.", accent: "#7c3aed", accent2: "#14b8a6", swatch: ["#7c3aed", "#14b8a6", "#14121f"], arch: "sidebar", head: "mirage", rail: "color", photo: true, skills: "dots", scaleWord: true, side: ["skills", "languages", "certifications", "education", "interests"], }, // ===== NEW-AGE — contemporary statement systems ===== { id: "brut-ink", name: "Brutalist Ink", tag: "New age", blurb: "Raw monospace, hard black rules and // section markers. Confident and unmistakably modern.", accent: "#e4002b", accent2: "#16150f", swatch: ["#e4002b", "#16150f", "#f4f3ee"], arch: "stack", head: "brut", skills: "segments", side: ["skills", "education", "languages"], }, { id: "brut-cobalt", name: "Brutalist Cobalt", tag: "New age", blurb: "The brutalist mono grid in electric cobalt. Engineering-ready and razor sharp.", accent: "#1f4dff", accent2: "#16150f", swatch: ["#1f4dff", "#16150f", "#f4f3ee"], arch: "stack", head: "brut", skills: "segments", side: ["skills", "education", "languages"], }, { id: "zine-rust", name: "Editorial Rust", tag: "New age", blurb: "Magazine-grade serif headline, italic accents and a two-column body. Pure editorial polish.", accent: "#b6452c", accent2: "#d98a3d", swatch: ["#b6452c", "#d98a3d", "#fbf8f3"], arch: "stack", head: "zine", skills: "pills", side: ["skills", "education", "languages", "interests"], }, { id: "zine-ink", name: "Editorial Ink", tag: "New age", blurb: "Big indigo serif headline with refined column flow. Quiet confidence for senior roles.", accent: "#3b3a8c", accent2: "#7b79c4", swatch: ["#3b3a8c", "#7b79c4", "#fbf8f3"], arch: "stack", head: "zine", skills: "pills", side: ["skills", "education", "languages", "interests"], }, { id: "neon-acid", name: "Neon Acid", tag: "New age", blurb: "Cyber-dark sheet with acid-green glow and mono labels. Loud, technical, futuristic.", accent: "#39ff8b", accent2: "#28d0ff", swatch: ["#39ff8b", "#28d0ff", "#0a0e16"], arch: "stack", head: "neon", skills: "segments", scaleWord: true, side: ["skills", "languages", "education"], }, { id: "neon-magenta", name: "Neon Pulse", tag: "New age", blurb: "Dark cyber sheet with hot-magenta and cyan glow. High-voltage and unforgettable.", accent: "#ff2bd6", accent2: "#5cf0ff", swatch: ["#ff2bd6", "#5cf0ff", "#0a0e16"], arch: "stack", head: "neon", skills: "segments", scaleWord: true, side: ["skills", "languages", "education"], }, { id: "bauhaus-red", name: "Bauhaus Red", tag: "New age", blurb: "Geometric color-block rail with an offset photo shadow. Bold, primary, architectural.", accent: "#d62828", accent2: "#f4b400", swatch: ["#d62828", "#f4b400", "#1b1b1b"], arch: "sidebar", head: "bau", rail: "color", photo: true, skills: "dots", scaleWord: true, side: ["skills", "languages", "certifications", "education"], }, { id: "bauhaus-blue", name: "Bauhaus Blue", tag: "New age", blurb: "The geometric block system in cobalt and yellow. Confident, modernist, design-forward.", accent: "#1d4ed8", accent2: "#f4b400", swatch: ["#1d4ed8", "#f4b400", "#1b1b1b"], arch: "sidebar", head: "bau", rail: "color", photo: true, skills: "dots", scaleWord: true, side: ["skills", "languages", "certifications", "education"], }, // ===== SPLIT — vertical two-tone header ===== { id: "split-indigo", name: "Split Indigo", tag: "Modern", blurb: "A vertical two-tone header splits the name onto a solid color field. Architectural and crisp.", accent: "#4338ca", accent2: "#22d3ee", swatch: ["#4338ca", "#22d3ee", "#ffffff"], arch: "stack", head: "split", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, { id: "split-forest", name: "Split Forest", tag: "Professional", blurb: "Deep green color field with a clean credentials rail. Grounded and trustworthy.", accent: "#166534", accent2: "#84cc16", swatch: ["#166534", "#84cc16", "#ffffff"], arch: "stack", head: "split", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, { id: "split-crimson", name: "Split Crimson", tag: "Bold", blurb: "A bold crimson field anchors the name. Confident and high-impact.", accent: "#be123c", accent2: "#fb923c", swatch: ["#be123c", "#fb923c", "#ffffff"], arch: "stack", head: "split", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, // ===== BLUEPRINT — technical grid ===== { id: "blueprint-cobalt", name: "Blueprint Cobalt", tag: "Engineering", blurb: "Drafting-grid header with monospace labels and [bracketed] sections. Built for engineers.", accent: "#1f4dff", accent2: "#0ea5e9", swatch: ["#1f4dff", "#0ea5e9", "#f3f6fb"], arch: "stack", head: "blueprint", skills: "segments", scaleWord: true, side: ["skills", "certifications", "education", "languages"], }, { id: "blueprint-slate", name: "Blueprint Slate", tag: "Engineering", blurb: "The technical drafting grid in graphite. Precise, methodical, schematic.", accent: "#334155", accent2: "#0891b2", swatch: ["#334155", "#0891b2", "#f3f6fb"], arch: "stack", head: "blueprint", skills: "segments", scaleWord: true, side: ["skills", "certifications", "education", "languages"], }, // ===== GRADRAIL — vertical gradient sidebar ===== { id: "gradrail-sunset", name: "Gradient Sunset", tag: "Bold", blurb: "A vertical gradient rail melts orange into pink. Vibrant and contemporary.", accent: "#f97316", accent2: "#ec4899", swatch: ["#f97316", "#ec4899", "#ffffff"], arch: "sidebar", head: "gradrail", rail: "color", photo: true, skills: "dots", scaleWord: true, side: ["skills", "languages", "certifications", "education", "interests"], }, { id: "gradrail-ocean", name: "Gradient Ocean", tag: "Modern", blurb: "Blue-to-teal gradient rail with a photo. Cool, calm and current.", accent: "#2563eb", accent2: "#14b8a6", swatch: ["#2563eb", "#14b8a6", "#ffffff"], arch: "sidebar", head: "gradrail", rail: "color", photo: true, skills: "dots", scaleWord: true, side: ["skills", "languages", "certifications", "education", "interests"], }, { id: "gradrail-violet", name: "Gradient Violet", tag: "Creative", blurb: "Violet-to-magenta gradient rail with a photo. Creative and self-assured.", accent: "#7c3aed", accent2: "#d946ef", swatch: ["#7c3aed", "#d946ef", "#ffffff"], arch: "sidebar", head: "gradrail", rail: "color", photo: true, skills: "dots", scaleWord: true, side: ["skills", "languages", "certifications", "education", "interests"], }, // ===== BENTO — modular block masthead ===== { id: "bento-indigo", name: "Bento Indigo", tag: "Modern", blurb: "A modular block masthead pairs a color name-card with a contact tile. Friendly and systematic.", accent: "#4f46e5", accent2: "#fcd34d", swatch: ["#4f46e5", "#fcd34d", "#f2f2f0"], arch: "stack", head: "bento", skills: "pills", side: ["skills", "education", "languages"], }, { id: "bento-teal", name: "Bento Teal", tag: "Modern", blurb: "The bento block system in teal and lime. Modern, balanced and approachable.", accent: "#0d9488", accent2: "#bef264", swatch: ["#0d9488", "#bef264", "#f2f2f0"], arch: "stack", head: "bento", skills: "pills", side: ["skills", "education", "languages"], }, // ===== GAZETTE — newspaper masthead ===== { id: "gazette-ink", name: "Gazette Ink", tag: "Editorial", blurb: "A newspaper masthead with a double-rule and serif headline. Authoritative and timeless.", accent: "#1a1a17", accent2: "#7a2e2e", swatch: ["#1a1a17", "#7a2e2e", "#fbfaf6"], arch: "stack", head: "gazette", skills: "tags", side: ["skills", "education", "languages"], }, { id: "gazette-oxblood", name: "Gazette Oxblood", tag: "Editorial", blurb: "The gazette masthead with an oxblood accent. Literary and distinguished.", accent: "#7a2e2e", accent2: "#b08a5a", swatch: ["#7a2e2e", "#b08a5a", "#fbfaf6"], arch: "stack", head: "gazette", skills: "tags", side: ["skills", "education", "languages"], }, // ===== CREST — centered monogram badge ===== { id: "crest-navy", name: "Crest Navy", tag: "Executive", blurb: "A centered, framed letterhead with rule-flanked title. Formal and senior.", accent: "#1e3a5f", accent2: "#b8924f", swatch: ["#1e3a5f", "#b8924f", "#ffffff"], arch: "stack", head: "crest", photo: true, skills: "list", side: ["skills", "awards", "education", "languages"], }, { id: "crest-burgundy", name: "Crest Burgundy", tag: "Executive", blurb: "The centered crest in burgundy and gold. Refined, classic, leadership-ready.", accent: "#6d1f33", accent2: "#b8924f", swatch: ["#6d1f33", "#b8924f", "#ffffff"], arch: "stack", head: "crest", photo: true, skills: "list", side: ["skills", "awards", "education", "languages"], }, // ===== OUTLINE — hollow display name ===== { id: "outline-amber", name: "Outline Amber", tag: "Bold", blurb: "An oversized hollow display name on a dark sheet. Editorial, daring, design-forward.", accent: "#f59e0b", accent2: "#f59e0b", swatch: ["#f59e0b", "#1f1f25", "#15151a"], arch: "stack", head: "outline", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, { id: "outline-cyan", name: "Outline Cyan", tag: "Bold", blurb: "Hollow outlined type with an electric cyan stroke. Futuristic and confident.", accent: "#22d3ee", accent2: "#22d3ee", swatch: ["#22d3ee", "#1f1f25", "#15151a"], arch: "stack", head: "outline", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, // ===== CARBON — dark tech ===== { id: "carbon-lime", name: "Carbon Lime", tag: "Tech", blurb: "A carbon-dark sheet with a diamond-marker system and lime signal. Sharp and technical.", accent: "#84cc16", accent2: "#5eead4", swatch: ["#84cc16", "#5eead4", "#111418"], arch: "stack", head: "carbon", photo: true, skills: "segments", scaleWord: true, side: ["skills", "languages", "education"], }, { id: "carbon-azure", name: "Carbon Azure", tag: "Tech", blurb: "The carbon system in azure and ice. Precise, modern, engineering-grade.", accent: "#3b82f6", accent2: "#67e8f9", swatch: ["#3b82f6", "#67e8f9", "#111418"], arch: "stack", head: "carbon", photo: true, skills: "segments", scaleWord: true, side: ["skills", "languages", "education"], }, // ===== KRAFT — warm paper ===== { id: "kraft-clay", name: "Kraft Clay", tag: "Editorial", blurb: "Warm craft-paper sheet with a stamped serif name and ruled headings. Tactile and human.", accent: "#a8512c", accent2: "#7a6a3f", swatch: ["#a8512c", "#7a6a3f", "#efe7d6"], arch: "stack", head: "kraft", skills: "tags", side: ["skills", "education", "languages", "interests"], }, { id: "kraft-olive", name: "Kraft Olive", tag: "Editorial", blurb: "The kraft-paper look in olive. Earthy, considered and warm.", accent: "#5a6b2f", accent2: "#9a7b3f", swatch: ["#5a6b2f", "#9a7b3f", "#efe7d6"], arch: "stack", head: "kraft", skills: "tags", side: ["skills", "education", "languages", "interests"], }, // ===== PASTEL — soft rounded cards ===== { id: "pastel-lavender", name: "Pastel Lavender", tag: "Creative", blurb: "Soft rounded cards on a tinted sheet with pill contacts. Gentle, friendly, modern.", accent: "#8b5cf6", accent2: "#f0abfc", swatch: ["#8b5cf6", "#f0abfc", "#f7f4fe"], arch: "stack", head: "pastel", skills: "pills", side: ["skills", "education", "languages", "interests"], }, { id: "pastel-mint", name: "Pastel Mint", tag: "Creative", blurb: "Rounded mint cards with airy spacing. Calm, fresh and welcoming.", accent: "#10b981", accent2: "#86efac", swatch: ["#10b981", "#86efac", "#f1fbf6"], arch: "stack", head: "pastel", skills: "pills", side: ["skills", "education", "languages", "interests"], }, { id: "pastel-peach", name: "Pastel Peach", tag: "Creative", blurb: "Warm peach card system with rounded tiles. Soft, optimistic and personable.", accent: "#fb7185", accent2: "#fdba74", swatch: ["#fb7185", "#fdba74", "#fff5f3"], arch: "stack", head: "pastel", skills: "pills", side: ["skills", "education", "languages", "interests"], }, // ===== MEMPHIS — 80s geometric ===== { id: "memphis-pop", name: "Memphis Pop", tag: "Playful", blurb: "80s Memphis confetti with geometric markers. Energetic, playful, unforgettable.", accent: "#7c3aed", accent2: "#f59e0b", swatch: ["#7c3aed", "#f59e0b", "#fffdf5"], arch: "stack", head: "memphis", skills: "pills", side: ["skills", "education", "interests", "languages"], }, { id: "memphis-electric", name: "Memphis Electric", tag: "Playful", blurb: "The Memphis system in electric blue and coral. Fun, bold and confident.", accent: "#2563eb", accent2: "#fb7185", swatch: ["#2563eb", "#fb7185", "#fffdf5"], arch: "stack", head: "memphis", skills: "pills", side: ["skills", "education", "interests", "languages"], }, // ===== DOSSIER — file-folder tab ===== { id: "dossier-navy", name: "Dossier Navy", tag: "Professional", blurb: "A file-folder layout with a labeled tab and framed body. Organized and official.", accent: "#1e3a5f", accent2: "#5a7a9c", swatch: ["#1e3a5f", "#5a7a9c", "#f6f5f1"], arch: "stack", head: "dossier", skills: "list", side: ["skills", "certifications", "education", "languages"], }, { id: "dossier-espresso", name: "Dossier Espresso", tag: "Professional", blurb: "The dossier folder in espresso brown. Warm, professional and tidy.", accent: "#5b3a29", accent2: "#a07a55", swatch: ["#5b3a29", "#a07a55", "#f6f5f1"], arch: "stack", head: "dossier", skills: "list", side: ["skills", "certifications", "education", "languages"], }, // ===== APERTURE — full photo banner ===== { id: "aperture-plum", name: "Aperture Plum", tag: "Creative", blurb: "A full-height photo column beside a gradient name banner. Bold, personable, portfolio-ready.", accent: "#9333ea", accent2: "#ec4899", swatch: ["#9333ea", "#ec4899", "#ffffff"], arch: "stack", head: "aperture", photo: true, skills: "pills", side: ["skills", "education", "languages", "interests"], }, { id: "aperture-azure", name: "Aperture Azure", tag: "Creative", blurb: "The photo-banner system in azure and teal. Friendly, modern, presence-forward.", accent: "#2563eb", accent2: "#06b6d4", swatch: ["#2563eb", "#06b6d4", "#ffffff"], arch: "stack", head: "aperture", photo: true, skills: "pills", side: ["skills", "education", "languages", "interests"], }, // ===== RIBBON — diagonal ribbon accent ===== { id: "ribbon-coral", name: "Ribbon Coral", tag: "Modern", blurb: "A diagonal gradient ribbon sweeps behind the name. Dynamic and contemporary.", accent: "#f43f5e", accent2: "#fb923c", swatch: ["#f43f5e", "#fb923c", "#ffffff"], arch: "stack", head: "ribbon", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, { id: "ribbon-cobalt", name: "Ribbon Cobalt", tag: "Modern", blurb: "The diagonal ribbon in cobalt and sky. Sleek, energetic and clean.", accent: "#2563eb", accent2: "#38bdf8", swatch: ["#2563eb", "#38bdf8", "#ffffff"], arch: "stack", head: "ribbon", skills: "segments", scaleWord: true, side: ["skills", "education", "languages"], }, // ===== INDEX — ruled index-card minimal ===== { id: "index-red", name: "Index Red", tag: "Minimal", blurb: "A ruled index-card grid with a top accent bar and margin rule. Tidy, precise, ATS-safe.", accent: "#dc2626", accent2: "#f87171", swatch: ["#dc2626", "#f87171", "#ffffff"], arch: "stack", head: "index", skills: "tags", side: ["skills", "education", "languages"], }, { id: "index-teal", name: "Index Teal", tag: "Minimal", blurb: "The ruled index system in teal. Quiet, organized and readable.", accent: "#0d9488", accent2: "#5eead4", swatch: ["#0d9488", "#5eead4", "#ffffff"], arch: "stack", head: "index", skills: "tags", side: ["skills", "education", "languages"], }, // ===== MESH — gradient-mesh dark card ===== { id: "mesh-aurora", name: "Mesh Aurora", tag: "Bold", blurb: "A soft gradient-mesh masthead glows on a dark sheet with pill contacts. Atmospheric and premium.", accent: "#6366f1", accent2: "#22d3ee", swatch: ["#6366f1", "#22d3ee", "#0f1117"], arch: "stack", head: "mesh", skills: "segments", scaleWord: true, side: ["skills", "languages", "education"], }, { id: "mesh-magma", name: "Mesh Magma", tag: "Bold", blurb: "The gradient mesh in magma tones — magenta into amber. Warm, glowing, unforgettable.", accent: "#e11d8f", accent2: "#f59e0b", swatch: ["#e11d8f", "#f59e0b", "#0f1117"], arch: "stack", head: "mesh", skills: "segments", scaleWord: true, side: ["skills", "languages", "education"], }, ]; // ---- icon set (stroke, currentColor) ---- const Icon = ({ d, size = 18, fill = false, stroke = 2, children, style }) => React.createElement( "svg", { width: size, height: size, viewBox: "0 0 24 24", fill: fill ? "currentColor" : "none", stroke: fill ? "none" : "currentColor", strokeWidth: stroke, strokeLinecap: "round", strokeLinejoin: "round", style, }, children || (d ? React.createElement("path", { d }) : null) ); const Icons = { spark: (p) => , magic: (p) => , layers: (p) => , arrow: (p) => , arrowL: (p) => , check: (p) => , plus: (p) => , trash: (p) => , download: (p) => , eye: (p) => , grid: (p) => , pen: (p) => , user: (p) => , brief: (p) => , cap: (p) => , star: (p) => , tag: (p) => , folder: (p) => , close: (p) => , drag: (p) => , pin: (p) => , mail: (p) => , phone: (p) => , globe: (p) => , bolt: (p) => , refresh: (p) => , copy: (p) => , trophy: (p) => , book: (p) => , heart: (p) => , list: (p) => , lang: (p) => , cert: (p) => , grip: (p) => , lock: (p) => , crown: (p) => , infinity: (p) => , }; Object.assign(window, { SAMPLE_RESUME, TEMPLATES, Icon, Icons });