import React, { useState } from 'react'; import { View, Text, Pressable } from 'react-native'; import { ThemeProvider, useT, T, Screen, Scroll, Header, NavBar, Card, Group, Row, Button, Segmented, Chip, Pill, Avatar, Stat, TabBar, Tabs, Stack, Icon, Spacer, SectionTitle, Gradient, alpha } from './ui/kit'; const ACCENT = '#E879F9'; const THEME = { dark: { bg: '#0E0A10', card: '#1A131D', card2: '#271C2B', line: '#2C2030', text2: '#B99CC0', text3: '#765F7C' }, light: { bg: '#FAF2FB', card: '#FFFFFF', card2: '#F2E0F4' } }; const WORK = [ { id: 1, title: 'Lumen banking', kind: 'Product design', year: '2026', c: ['#581C87', '#E879F9'], emoji: '๐Ÿ’ณ', role: 'Lead designer', blurb: 'A calmer bank. We cut the home screen to one number and one action, and watched support tickets fall by a third.', tags: ['iOS', 'Design system', 'Research'] }, { id: 2, title: 'Tide identity', kind: 'Branding', year: '2025', c: ['#0F766E', '#5EEAD4'], emoji: '๐ŸŒŠ', role: 'Art direction', blurb: 'A wordmark that moves like water and a palette that survives on a dark terminal.', tags: ['Brand', 'Motion'] }, { id: 3, title: 'Field notes', kind: 'Editorial', year: '2025', c: ['#7C2D12', '#FDBA74'], emoji: '๐Ÿ““', role: 'Design and type', blurb: 'A quarterly print magazine set in two typefaces and a lot of white space.', tags: ['Print', 'Typography'] }, { id: 4, title: 'Orbit messaging', kind: 'Product design', year: '2024', c: ['#1E3A8A', '#60A5FA'], emoji: '๐Ÿ’ฌ', role: 'Senior designer', blurb: 'Threads, reactions and a composer that gets out of the way.', tags: ['iOS', 'Android'] }, { id: 5, title: 'Sprout packaging', kind: 'Packaging', year: '2024', c: ['#14532D', '#86EFAC'], emoji: '๐Ÿชด', role: 'Designer', blurb: 'Compostable boxes for a plant subscription, printed with one colour.', tags: ['Packaging', 'Sustainability'] }, ]; const CATS = ['All', 'Product design', 'Branding', 'Editorial', 'Packaging']; function Tile({ w, big, onPress }) { const t = useT(); return ( [{ width: big ? '100%' : '47.5%', flexGrow: 1 }, pressed && { opacity: 0.8 }]}> {w.emoji} {w.title}{w.kind} ); } function WorkScreen({ nav }) { const t = useT(); const [cat, setCat] = useState('All'); const list = WORK.filter((w) => cat === 'All' || w.kind === cat); return (
} /> {CATS.map((c) => setCat(c)} />)} {list[0] ? nav.push('project', { id: list[0].id })} /> : null} {list.slice(1).map((w) => nav.push('project', { id: w.id })} />)} ); } function AboutScreen() { const t = useT(); return (
Maya KovacsProduct designer in Lisbon. Ten years of making software feel lighter. {['Product design', 'Design systems', 'Prototyping', 'Research', 'Motion', 'Typography', 'React Native'].map((s) => {}} />)} ); } function ContactScreen() { const t = useT(); return (
Open to new projects from July Product design, design systems and the occasional brand.