1<!DOCTYPE html><html lang="en" class="inter_7b064e0d-module__MOT0tq__variable space_grotesk_19f6fddb-module__FDtTeq__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/tribus-logo-full-ink.svg"/><link rel="preload" href="/tribus-logo-full-white.svg" as="image"/><link rel="stylesheet" href="/_next/static/chunks/2c0wmw3bd1rlq.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/3jvkbm-wxvaor.js"/>
1<script src="/_next/static/chunks/27jktro2p5rq9.js" async=""></script>
1<script src="/_next/static/chunks/3p9eevrhj-twl.js" async=""></script>
1<script src="/_next/static/chunks/07u_h6i539_wj.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-0eqli1rkubdn1.js" async=""></script>
1<script src="/_next/static/chunks/0sd12gno43-r4.js" async=""></script>
1<script src="/_next/static/chunks/270-vsymd55bm.js" async=""></script>
1<script src="/_next/static/chunks/05-c3ty_6dwfk.js" async=""></script>
1<script src="/_next/static/chunks/14mrh2-p_w84d.js" async=""></script>
1<script src="/_next/static/chunks/1vgd-c9rjuj1p.js" async=""></script>
1<script src="/_next/static/chunks/1a08fj1grj93_.js" async=""></script>
1<meta name="next-size-adjust" content=""/><title>Work â Tribus Technologies</title><meta name="description" content="Explore the web and mobile products Tribus has designed, built and shipped â filter by platform, industry and technology."/><meta name="application-name" content="Tribus Technologies"/><link rel="author" href="https://wearetribus.com"/><meta name="author" content="Tribus Technologies"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="keywords" content="software development,software agency,digital transformation,web development,mobile app development,React,Next.js,React Native,AI integrations,Bucharest,Romania"/><meta name="creator" content="Tribus Technologies"/><meta name="publisher" content="Tribus Technologies"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta name="category" content="technology"/><link rel="canonical" href="https://wearetribus.com/work"/><meta name="format-detection" content="telephone=no, address=no, email=no"/><meta property="og:title" content="Work â Tribus Technologies"/><meta property="og:description" content="Explore the web and mobile products Tribus has designed, built and shipped â filter by platform, industry and technology."/><meta property="og:url" content="https://wearetribus.com/work"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="Work â Tribus Technologies"/><meta name="twitter:description" content="Explore the web and mobile products Tribus has designed, built and shipped â filter by platform, industry and technology."/><link rel="icon" href="/icon.png?icon.2112mlymyg96h.png" sizes="512x512" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon.png?apple-icon.22fvrolak5a_r.png" sizes="180x180" type="image/png"/>
1<script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script>
1</head><body class="min-h-full flex flex-col bg-paper text-ink"><div hidden=""><!--$--><!--/$--></div>
1<script type="application/ld+json">[{"@context":"https://schema.org","@type":["Organization","ProfessionalService"],"@id":"https://wearetribus.com/#organization","name":"Tribus Technologies","alternateName":"Tribus","url":"https://wearetribus.com","logo":"https://wearetribus.com/icon-512.png","image":"https://wearetribus.com/opengraph-image","description":"We build people-centric web and mobile software that solves real problems â your partner in digital transformation, from discovery to production.","slogan":"Your success, is our success.","email":"[email protected]","telephone":"+40 725 356 633","foundingDate":"2021","address":{"@type":"PostalAddress","addressLocality":"Bucharest","addressCountry":"RO"},"areaServed":"Worldwide","knowsAbout":["Web Development","Hybrid Mobile Apps","Native Mobile Apps","Databases","Cloud Infrastructure","UI / UX","AI Integrations","QA & Testing","Cybersecurity","Maintenance & Support"],"contactPoint":[{"@type":"ContactPoint","contactType":"sales","email":"[email protected]","telephone":"+40 725 356 633","areaServed":"Worldwide","availableLanguage":["English","Romanian"]}]},{"@context":"https://schema.org","@type":"WebSite","@id":"https://wearetribus.com/#website","url":"https://wearetribus.com","name":"Tribus Technologies","description":"We build people-centric web and mobile software that solves real problems â your partner in digital transformation, from discovery to production.","inLanguage":"en","publisher":{"@id":"https://wearetribus.com/#organization"}}]</script>
1<header class="sticky top-0 z-50 transition-all duration-300 border-b border-transparent bg-transparent"><div class="mx-auto flex max-w-7xl items-center justify-between px-5 sm:px-8"><a aria-label="Tribus â home" class="flex items-center transition-all duration-300 py-5" href="/"><img src="/tribus-logo-full-ink.svg" alt="Tribus Technologies" width="1899" height="734" draggable="false" class="h-9 w-auto select-none"/></a><nav class="hidden items-center gap-1 md:flex"><a class="relative rounded-full px-4 py-2 text-sm font-medium transition-colors text-ink" href="/work"><span class="absolute inset-0 -z-10 rounded-full bg-ink/[0.06]"></span>Work</a><a class="relative rounded-full px-4 py-2 text-sm font-medium transition-colors text-ink-soft hover:text-ink" href="/services">Services</a><a class="relative rounded-full px-4 py-2 text-sm font-medium transition-colors text-ink-soft hover:text-ink" href="/about">About</a><a class="relative rounded-full px-4 py-2 text-sm font-medium transition-colors text-ink-soft hover:text-ink" href="/contact">Contact</a><a class="ml-2 inline-flex items-center rounded-full bg-ink px-5 py-2.5 text-sm font-semibold text-paper transition-transform hover:-translate-y-0.5 hover:bg-teal-ink" href="/contact">Start a project</a></nav><button type="button" aria-label="Open menu" aria-expanded="false" class="relative z-50 flex h-10 w-10 items-center justify-center rounded-full text-ink md:hidden"><span class="sr-only">Menu</span><div class="flex w-5 flex-col gap-1.5"><span class="h-0.5 w-full rounded-full bg-current transition-transform"></span><span class="h-0.5 w-full rounded-full bg-current transition-opacity"></span><span class="h-0.5 w-full rounded-full bg-current transition-transform"></span></div></button></div></header><main class="flex-1"><div class="mx-auto max-w-7xl px-5 pb-8 pt-16 sm:px-8 sm:pt-24">
1<script type="application/ld+json">[{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://wearetribus.com/"},{"@type":"ListItem","position":2,"name":"Work","item":"https://wearetribus.com/work"}]},{"@context":"https://schema.org","@type":"CollectionPage","@id":"https://wearetribus.com/work#collection","name":"Our work","description":"Web and mobile products Tribus has designed, built and shipped.","url":"https://wearetribus.com/work","isPartOf":{"@id":"https://wearetribus.com/#website"},"mainEntity":{"@type":"ItemList","numberOfItems":26,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://wearetribus.com/work/bluvi","name":"Bluvi"},{"@type":"ListItem","position":2,"url":"https://wearetribus.com/work/secom-professional","name":"Secom Professional"},{"@type":"ListItem","position":3,"url":"https://wearetribus.com/work/clubo","name":"Super Brain"},{"@type":"ListItem","position":4,"url":"https://wearetribus.com/work/votemonitor","name":"VoteMonitor"},{"@type":"ListItem","position":5,"url":"https://wearetribus.com/work/arhiv360","name":"Arhiv360"},{"@type":"ListItem","position":6,"url":"https://wearetribus.com/work/juke","name":"Juke"},{"@type":"ListItem","position":7,"url":"https://wearetribus.com/work/neuro-performance","name":"Neuro Performance Enhancement"},{"@type":"ListItem","position":8,"url":"https://wearetribus.com/work/playtech","name":"PlayTech"},{"@type":"ListItem","position":9,"url":"https://wearetribus.com/work/tattoo-app","name":"Tattoo App"},{"@type":"ListItem","position":10,"url":"https://wearetribus.com/work/ong-hub","name":"ONG Hub"},{"@type":"ListItem","position":11,"url":"https://wearetribus.com/work/werk24","name":"WERK24"},{"@type":"ListItem","position":12,"url":"https://wearetribus.com/work/edu-sport","name":"Edu-Sport"},{"@type":"ListItem","position":13,"url":"https://wearetribus.com/work/covasna-media","name":"Covasna Media"},{"@type":"ListItem","position":14,"url":"https://wearetribus.com/work/vic","name":"VIC"},{"@type":"ListItem","position":15,"url":"https://wearetribus.com/work/silent-auction","name":"Silent Auction"},{"@type":"ListItem","position":16,"url":"https://wearetribus.com/work/recorder","name":"Recorder"},{"@type":"ListItem","position":17,"url":"https://wearetribus.com/work/ssm-holding","name":"SSM Holding"},{"@type":"ListItem","position":18,"url":"https://wearetribus.com/work/european-youth-foundation","name":"European Youth Foundation"},{"@type":"ListItem","position":19,"url":"https://wearetribus.com/work/safefield","name":"SafeField"},{"@type":"ListItem","position":20,"url":"https://wearetribus.com/work/armenia-refugee-support","name":"Armenia Refugee Support"},{"@type":"ListItem","position":21,"url":"https://wearetribus.com/work/ptsd-help","name":"PTSD Help"},{"@type":"ListItem","position":22,"url":"https://wearetribus.com/work/practice4good","name":"Practice4Good"},{"@type":"ListItem","position":23,"url":"https://wearetribus.com/work/centru-civic","name":"Centru Civic"},{"@type":"ListItem","position":24,"url":"https://wearetribus.com/work/rundezvous","name":"Rundezvous"},{"@type":"ListItem","position":25,"url":"https://wearetribus.com/work/pescarmania","name":"PescarMania"},{"@type":"ListItem","position":26,"url":"https://wearetribus.com/work/wwf","name":"WWF â Green Public Procurement"}]}}]</script>
1<header class="max-w-3xl"><p class="mb-3 inline-flex items-center gap-2 text-sm font-semibold uppercase tracking-wider text-teal-ink"><span class="h-1.5 w-1.5 rounded-full bg-teal"></span>Our work</p><h1 class="font-display text-4xl font-bold tracking-tight text-ink sm:text-5xl md:text-6xl text-balance">Products built with one obsession: the end user.</h1><p class="mt-5 text-lg text-ink-soft text-balance">From civic-tech apps to B2B platforms and consumer products â filter by platform, industry or the technology behind each build.</p></header><div class="mt-14"><div class="grid gap-10 lg:grid-cols-[260px_1fr] lg:gap-12"><aside class="lg:sticky lg:top-28 lg:self-start"><div class="flex flex-col gap-5"><div class="flex flex-col gap-2"><span class="text-xs font-semibold uppercase tracking-wider text-ink-soft/70">Platform</span><div role="group" aria-label="Platform" class="flex flex-wrap gap-2"><button type="button" aria-pressed="true" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink bg-ink text-paper">All</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Web</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Mobile</button></div></div><div class="flex flex-col gap-2"><span class="text-xs font-semibold uppercase tracking-wider text-ink-soft/70">Industry</span><div role="group" aria-label="Industry" class="flex flex-wrap gap-2"><button type="button" aria-pressed="true" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink bg-ink text-paper">All</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Civic Tech</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Community</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Consumer</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">E-commerce</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Education</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Enterprise</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Entertainment</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Events & Fundraising</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Gaming</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Health & Safety</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Health & Wellness</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Manufacturing</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Marketplace</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Media & Publishing</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Public Sector</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Sustainability</button></div></div><div class="flex flex-col gap-2"><span class="text-xs font-semibold uppercase tracking-wider text-ink-soft/70">Technology</span><div role="group" aria-label="Technology" class="flex flex-wrap gap-2"><button type="button" aria-pressed="true" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink bg-ink text-paper">All</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">.NET</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">AI</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">AWS</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Amazon S3</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Angular</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Azure</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Cloudflare</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Datadog</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">DigitalOcean</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Firebase</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Flutter</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">JavaScript</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Kotlin</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Liquid</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">MariaDB</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">MySQL</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">NestJS</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Next.js</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Node.js</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">PHP</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Penetration Testing</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">PostgreSQL</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Python</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Railway</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">React</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">React Native</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">SQL Server</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Shopify</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Strapi</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Supabase</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">Swift</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">WooCommerce</button><button type="button" aria-pressed="false" class="rounded-full border px-3.5 py-1.5 text-sm font-medium transition-all duration-200 border-ink/15 bg-white text-ink-soft hover:border-ink/40 hover:text-ink">WordPress</button></div></div><p class="text-sm text-ink-soft" aria-live="polite">
1Showing <span class="font-semibold text-ink">26</span> <!-- -->projects</p></div></aside><div><div class="grid grid-cols-1 gap-6 sm:grid-cols-2 xl:grid-cols-3"><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/bluvi"><div class="relative h-60 overflow-hidden bg-teal"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2025</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-20%] w-[42%] rotate-[-5deg] group-hover:bottom-[-14%] group-hover:rotate-0"><div class="relative aspect-[9/19.5] w-full rounded-[14%/6.5%] bg-ink p-[3.5%] shadow-2xl ring-1 ring-black/30"><div class="relative h-full w-full overflow-hidden rounded-[11%/5.2%] bg-white"><img alt="Bluvi â home & live competitions" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-top" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fbluvi%2Fscreen-home.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fbluvi%2Fscreen-home.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fbluvi%2Fscreen-home.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fbluvi%2Fscreen-home.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fbluvi%2Fscreen-home.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fbluvi%2Fscreen-home.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fbluvi%2Fscreen-home.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fbluvi%2Fscreen-home.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fbluvi%2Fscreen-home.webp&w=3840&q=75"/><div class="absolute left-1/2 top-[2.5%] h-[3.5%] w-[28%] -translate-x-1/2 rounded-full bg-ink"></div></div></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Bluvi</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">The digital community for anglers.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-teal/10 text-teal-ink">Consumer</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React Native</span><span>Node.js</span><span>Strapi</span><span>+<!-- -->4</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/secom-professional"><div class="relative h-60 overflow-hidden bg-green"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2024</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-20%] w-[42%] rotate-[-5deg] group-hover:bottom-[-14%] group-hover:rotate-0"><div class="relative aspect-[9/19.5] w-full rounded-[14%/6.5%] bg-ink p-[3.5%] shadow-2xl ring-1 ring-black/30"><div class="relative h-full w-full overflow-hidden rounded-[11%/5.2%] bg-white"><img alt="Secom Professional â home & systems" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-top" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fsecom-professional%2Fscreen-home.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fsecom-professional%2Fscreen-home.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fsecom-professional%2Fscreen-home.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fsecom-professional%2Fscreen-home.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fsecom-professional%2Fscreen-home.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fsecom-professional%2Fscreen-home.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fsecom-professional%2Fscreen-home.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fsecom-professional%2Fscreen-home.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fsecom-professional%2Fscreen-home.webp&w=3840&q=75"/><div class="absolute left-1/2 top-[2.5%] h-[3.5%] w-[28%] -translate-x-1/2 roun
1ded-full bg-ink"></div></div></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Secom Professional</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Secom's product reference for doctors & pharmacists.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-green/15 text-green">Health & Wellness</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React Native</span><span>Strapi</span><span>PostgreSQL</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/clubo"><div class="relative h-60 overflow-hidden bg-indigo"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2023</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-20%] w-[42%] rotate-[-5deg] group-hover:bottom-[-14%] group-hover:rotate-0"><div class="relative aspect-[9/19.5] w-full rounded-[14%/6.5%] bg-ink p-[3.5%] shadow-2xl ring-1 ring-black/30"><div class="relative h-full w-full overflow-hidden rounded-[11%/5.2%] bg-white"><img alt="Super Brain â member home & meetings" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-top" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fclubo%2Fscreen-home.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fclubo%2Fscreen-home.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fclubo%2Fscreen-home.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fclubo%2Fscreen-home.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fclubo%2Fscreen-home.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fclubo%2Fscreen-home.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fclubo%2Fscreen-home.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fclubo%2Fscreen-home.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fclubo%2Fscreen-home.webp&w=3840&q=75"/><div class="absolute left-1/2 top-[2.5%] h-[3.5%] w-[28%] -translate-x-1/2 rounded-full bg-ink"></div></div></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Super Brain</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">A premium members club, in your pocket.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-indigo/10 text-indigo">Community</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React Native</span><span>.NET</span><span>MySQL</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work
1/votemonitor"><div class="relative h-60 overflow-hidden bg-coral"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2023</span><img alt="VoteMonitor â monitor polling stations" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-top transition-transform duration-500 ease-out group-hover:scale-[1.04]" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fvotemonitor%2Fshot-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fvotemonitor%2Fshot-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fvotemonitor%2Fshot-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fvotemonitor%2Fshot-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fvotemonitor%2Fshot-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fvotemonitor%2Fshot-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fvotemonitor%2Fshot-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fvotemonitor%2Fshot-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fvotemonitor%2Fshot-01.webp&w=3840&q=75"/></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">VoteMonitor</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Election observation in the palm of your hand.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-coral/10 text-coral">Civic Tech</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React Native</span><span>.NET</span><span>PostgreSQL</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/arhiv360"><div class="relative h-60 overflow-hidden bg-blue"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2023</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="Arhiv360 â client management" loading="lazy" width="1500" height="938" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Farhiv360%2F01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Farhiv360%2F01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Farhiv360%2F01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Farhiv360%2F01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Farhiv360%2F01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Farhiv360%2F01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Farhiv360%2F01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Farhiv360%2F01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Farhiv360%2F01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Arhiv360</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Digital archiving for the paperless office.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-blue/10 text-blue">Enterprise</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React</span><span>NestJS</span><span>PostgreSQL</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work
1/juke"><div class="relative h-60 overflow-hidden bg-amber"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2023</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-8%] w-[96%] group-hover:bottom-[-3%]"><img alt="Juke â social jukebox across devices" loading="lazy" width="1500" height="931" decoding="async" data-nimg="1" class="block h-auto w-full drop-shadow-[0_25px_45px_rgba(0,0,0,0.28)]" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fjuke%2F01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fjuke%2F01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fjuke%2F01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fjuke%2F01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fjuke%2F01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fjuke%2F01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fjuke%2F01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fjuke%2F01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fjuke%2F01.webp&w=3840&q=75"/></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Juke</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">The social jukebox for any room.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-amber/15 text-amber">Entertainment</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React Native</span><span>Node.js</span><span>Supabase</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/neuro-performance"><div class="relative h-60 overflow-hidden bg-teal"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2024</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-8%] w-[96%] group-hover:bottom-[-3%]"><img alt="Neuro Performance â app screens" loading="lazy" width="1700" height="674" decoding="async" data-nimg="1" class="block h-auto w-full drop-shadow-[0_25px_45px_rgba(0,0,0,0.28)]" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fneuro-performance%2F01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fneuro-performance%2F01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fneuro-performance%2F01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fneuro-performance%2F01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fneuro-performance%2F01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fneuro-performance%2F01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fneuro-performance%2F01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fneuro-performance%2F01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fneuro-performance%2F01.webp&w=3840&q=75"/></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Neuro Performance Enhancement</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Transformative optimization for mind & body.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-teal/10 text-teal-ink">Health & Wellness</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React Native</span><span>Next.js</span><span>NestJS</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work
1/playtech"><div class="relative h-60 overflow-hidden bg-indigo"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2022</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-8%] w-[96%] group-hover:bottom-[-3%]"><img alt="PlayTech â gaming app screens" loading="lazy" width="1600" height="750" decoding="async" data-nimg="1" class="block h-auto w-full drop-shadow-[0_25px_45px_rgba(0,0,0,0.28)]" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fplaytech%2F01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fplaytech%2F01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fplaytech%2F01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fplaytech%2F01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fplaytech%2F01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fplaytech%2F01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fplaytech%2F01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fplaytech%2F01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fplaytech%2F01.webp&w=3840&q=75"/></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">PlayTech</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Engineering for high-scale gaming.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-indigo/10 text-indigo">Gaming</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>Angular</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/tattoo-app"><div class="relative h-60 overflow-hidden bg-coral"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2023</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-8%] w-[96%] group-hover:bottom-[-3%]"><img alt="Tattoo App â artist & booking screens" loading="lazy" width="1600" height="750" decoding="async" data-nimg="1" class="block h-auto w-full drop-shadow-[0_25px_45px_rgba(0,0,0,0.28)]" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Ftattoo-app%2F01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Ftattoo-app%2F01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Ftattoo-app%2F01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Ftattoo-app%2F01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Ftattoo-app%2F01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Ftattoo-app%2F01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Ftattoo-app%2F01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Ftattoo-app%2F01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Ftattoo-app%2F01.webp&w=3840&q=75"/></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Tattoo App</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Find your artist, book your ink.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-coral/10 text-coral">Marketplace</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>Flutter</span><span>Firebase</span><span>Node.js</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work
1/ong-hub"><div class="relative h-60 overflow-hidden bg-green"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2023</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="ONG Hub â NGO dashboard" loading="lazy" width="1500" height="1191" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fong-hub%2F01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fong-hub%2F01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fong-hub%2F01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fong-hub%2F01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fong-hub%2F01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fong-hub%2F01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fong-hub%2F01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fong-hub%2F01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fong-hub%2F01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">ONG Hub</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">A home base for NGOs.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-green/15 text-green">Civic Tech</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React</span><span>NestJS</span><span>PostgreSQL</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/werk24"><div class="relative h-60 overflow-hidden bg-blue"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2024</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="WERK24 â planning workspace" loading="lazy" width="1600" height="830" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fwerk24%2F01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fwerk24%2F01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fwerk24%2F01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fwerk24%2F01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fwerk24%2F01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fwerk24%2F01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fwerk24%2F01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fwerk24%2F01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fwerk24%2F01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">WERK24</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">AI that turns engineering drawings into data.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-blue/10 text-blue">Manufacturing</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React</span><span>Python</span><span>AI</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work
1/edu-sport"><div class="relative h-60 overflow-hidden bg-amber"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2023</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="Edu-Sport â courses landing" loading="lazy" width="1700" height="844" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fedu-sport%2F01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fedu-sport%2F01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fedu-sport%2F01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fedu-sport%2F01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fedu-sport%2F01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fedu-sport%2F01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fedu-sport%2F01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fedu-sport%2F01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fedu-sport%2F01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Edu-Sport</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Where education meets the field.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-amber/15 text-amber">Education</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>PHP</span><span>WordPress</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/covasna-media"><div class="relative h-60 overflow-hidden bg-teal"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2024</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="Covasna Media â news portal home" loading="lazy" width="1440" height="900" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fcovasna-media%2Fweb-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fcovasna-media%2Fweb-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fcovasna-media%2Fweb-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fcovasna-media%2Fweb-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fcovasna-media%2Fweb-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fcovasna-media%2Fweb-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fcovasna-media%2Fweb-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fcovasna-media%2Fweb-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fcovasna-media%2Fweb-01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Covasna Media</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">A modern home for local media.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-teal/10 text-teal-ink">Media & Publishing</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>Next.js</span><span>Strapi</span><span>PostgreSQL</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work
1/vic"><div class="relative h-60 overflow-hidden bg-amber"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2024</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-20%] w-[42%] rotate-[-5deg] group-hover:bottom-[-14%] group-hover:rotate-0"><div class="relative aspect-[9/19.5] w-full rounded-[14%/6.5%] bg-ink p-[3.5%] shadow-2xl ring-1 ring-black/30"><div class="relative h-full w-full overflow-hidden rounded-[11%/5.2%] bg-white"><img alt="VIC â volunteer home" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-top" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fvic%2Fscreen-home.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fvic%2Fscreen-home.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fvic%2Fscreen-home.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fvic%2Fscreen-home.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fvic%2Fscreen-home.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fvic%2Fscreen-home.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fvic%2Fscreen-home.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fvic%2Fscreen-home.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fvic%2Fscreen-home.webp&w=3840&q=75"/><div class="absolute left-1/2 top-[2.5%] h-[3.5%] w-[28%] -translate-x-1/2 rounded-full bg-ink"></div></div></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">VIC</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Connecting NGOs with people who want to help.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-amber/15 text-amber">Civic Tech</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React</span><span>React Native</span><span>NestJS</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/silent-auction"><div class="relative h-60 overflow-hidden bg-coral"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2024</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-20%] w-[42%] rotate-[-5deg] group-hover:bottom-[-14%] group-hover:rotate-0"><div class="relative aspect-[9/19.5] w-full rounded-[14%/6.5%] bg-ink p-[3.5%] shadow-2xl ring-1 ring-black/30"><div class="relative h-full w-full overflow-hidden rounded-[11%/5.2%] bg-white"><img alt="Silent Auction â live bidding" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-top" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fsilent-auction%2F01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fsilent-auction%2F01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fsilent-auction%2F01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fsilent-auction%2F01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fsilent-auction%2F01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fsilent-auction%2F01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fsilent-auction%2F01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fsilent-auction%2F01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fsilent-auction%2F01.webp&w=3840&q=75"/><div class="absolute left-1/2 top-[2.5%] h-[3.5%] w-[28%] -translate-x-1/2 roun
1ded-full bg-ink"></div></div></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Silent Auction</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Bidding for good causes, made effortless.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-coral/10 text-coral">Events & Fundraising</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React</span><span>Supabase</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/recorder"><div class="relative h-60 overflow-hidden bg-coral"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2024</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="Recorder â newsroom website" loading="lazy" width="1440" height="774" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Frecorder%2Fweb-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Frecorder%2Fweb-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Frecorder%2Fweb-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Frecorder%2Fweb-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Frecorder%2Fweb-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Frecorder%2Fweb-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Frecorder%2Fweb-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Frecorder%2Fweb-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Frecorder%2Fweb-01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Recorder</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Independent journalism, in your pocket.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-coral/10 text-coral">Media & Publishing</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>
1Swift</span><span>Kotlin</span><span>PHP</span><span>+<!-- -->2</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/ssm-holding"><div class="relative h-60 overflow-hidden bg-indigo"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2025</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-20%] w-[42%] rotate-[-5deg] group-hover:bottom-[-14%] group-hover:rotate-0"><div class="relative aspect-[9/19.5] w-full rounded-[14%/6.5%] bg-ink p-[3.5%] shadow-2xl ring-1 ring-black/30"><div class="relative h-full w-full overflow-hidden rounded-[11%/5.2%] bg-white"><img alt="SSM Holding â dashboard" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-top" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fssm-holding%2Fscreen-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fssm-holding%2Fscreen-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fssm-holding%2Fscreen-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fssm-holding%2Fscreen-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fssm-holding%2Fscreen-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fssm-holding%2Fscreen-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fssm-holding%2Fscreen-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fssm-holding%2Fscreen-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fssm-holding%2Fscreen-01.webp&w=3840&q=75"/><div class="absolute left-1/2 top-[2.5%] h-[3.5%] w-[28%] -translate-x-1/2 rounded-full bg-ink"></div></div></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">SSM Holding</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Health & safety inspections, from site visit to signed report.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-indigo/10 text-indigo">Health & Safety</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React Native</span><span>.NET</span><span>PostgreSQL</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work
1/european-youth-foundation"><div class="relative h-60 overflow-hidden bg-blue"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2026</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="European Youth Foundation â calls for proposals" loading="lazy" width="1129" height="728" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Feuropean-youth-foundation%2Fweb-02.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Feuropean-youth-foundation%2Fweb-02.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Feuropean-youth-foundation%2Fweb-02.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Feuropean-youth-foundation%2Fweb-02.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Feuropean-youth-foundation%2Fweb-02.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Feuropean-youth-foundation%2Fweb-02.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Feuropean-youth-foundation%2Fweb-02.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Feuropean-youth-foundation%2Fweb-02.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Feuropean-youth-foundation%2Fweb-02.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">European Youth Foundation</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">A grant management system for the Council of Europe.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-blue/10 text-blue">Public Sector</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>Angular</span><span>.NET</span><span>SQL Server</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/safefield"><div class="relative h-60 overflow-hidden bg-blue"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2026</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="SafeField â compliance dashboard" loading="lazy" width="1500" height="744" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fsafefield%2Fweb-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fsafefield%2Fweb-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fsafefield%2Fweb-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fsafefield%2Fweb-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fsafefield%2Fweb-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fsafefield%2Fweb-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fsafefield%2Fweb-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fsafefield%2Fweb-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fsafefield%2Fweb-01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">SafeField</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Occupational-safety compliance, without the paperwork.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-blue/10 text-blue">Enterprise</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React</span><span>NestJS</span><span>PostgreSQL</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work
1/armenia-refugee-support"><div class="relative h-60 overflow-hidden bg-blue"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2024</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="Refugee Support â service map landing" loading="lazy" width="1440" height="900" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Farmenia-refugee-support%2Fweb-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Farmenia-refugee-support%2Fweb-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Farmenia-refugee-support%2Fweb-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Farmenia-refugee-support%2Fweb-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Farmenia-refugee-support%2Fweb-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Farmenia-refugee-support%2Fweb-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Farmenia-refugee-support%2Fweb-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Farmenia-refugee-support%2Fweb-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Farmenia-refugee-support%2Fweb-01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Armenia Refugee Support</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">A service map for people who need it most.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-blue/10 text-blue">Civic Tech</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>Next.js</span><span>Strapi</span><span>PostgreSQL</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/ptsd-help"><div class="relative h-60 overflow-hidden bg-blue"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2024</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-20%] w-[42%] rotate-[-5deg] group-hover:bottom-[-14%] group-hover:rotate-0"><div class="relative aspect-[9/19.5] w-full rounded-[14%/6.5%] bg-ink p-[3.5%] shadow-2xl ring-1 ring-black/30"><div class="relative h-full w-full overflow-hidden rounded-[11%/5.2%] bg-white"><img alt="PTSD Help â home & feelings" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-top" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fptsd-help%2Fscreen-home.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fptsd-help%2Fscreen-home.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fptsd-help%2Fscreen-home.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fptsd-help%2Fscreen-home.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fptsd-help%2Fscreen-home.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fptsd-help%2Fscreen-home.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fptsd-help%2Fscreen-home.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fptsd-help%2Fscreen-home.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fptsd-help%2Fscreen-home.webp&w=3840&q=75"/><div class="absolute left-1/2 top-[2.5%] h-[3.5%] w-[28%] -translate-x-1/2 roun
1ded-full bg-ink"></div></div></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">PTSD Help</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Tools to regain calm and control.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-blue/10 text-blue">Health & Wellness</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Mobile</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React Native</span><span>Amazon S3</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/practice4good"><div class="relative h-60 overflow-hidden bg-amber"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2023</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="Practice4Good â search practice programmes at NGOs" loading="lazy" width="1440" height="900" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fpractice4good%2Fweb-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fpractice4good%2Fweb-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fpractice4good%2Fweb-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fpractice4good%2Fweb-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fpractice4good%2Fweb-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fpractice4good%2Fweb-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fpractice4good%2Fweb-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fpractice4good%2Fweb-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fpractice4good%2Fweb-01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Practice4Good</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Internships at NGOs, made discoverable.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-amber/15 text-amber">Civic Tech</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React</span><span>NestJS</span><span>PostgreSQL</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work
1/centru-civic"><div class="relative h-60 overflow-hidden bg-amber"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2023</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="Centru Civic â find civil-society services by need" loading="lazy" width="1440" height="900" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fcentru-civic%2Fweb-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fcentru-civic%2Fweb-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fcentru-civic%2Fweb-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fcentru-civic%2Fweb-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fcentru-civic%2Fweb-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fcentru-civic%2Fweb-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fcentru-civic%2Fweb-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fcentru-civic%2Fweb-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fcentru-civic%2Fweb-01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Centru Civic</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Every civil-society service, in one place.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-amber/15 text-amber">Civic Tech</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>React</span><span>NestJS</span><span>PostgreSQL</span><span>+<!-- -->1</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/rundezvous"><div class="relative h-60 overflow-hidden bg-blue"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2024</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="Rundezvous â running hub & coffee shop store" loading="lazy" width="1440" height="900" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Frundezvous%2Fweb-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Frundezvous%2Fweb-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Frundezvous%2Fweb-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Frundezvous%2Fweb-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Frundezvous%2Fweb-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Frundezvous%2Fweb-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Frundezvous%2Fweb-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Frundezvous%2Fweb-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Frundezvous%2Fweb-01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">Rundezvous</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Where the running community meets coffee culture.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-blue/10 text-blue">E-commerce</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>Shopify</span><span>Liquid</span><span>JavaScript</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work
1/pescarmania"><div class="relative h-60 overflow-hidden bg-coral"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2023</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="PescarMania â fishing-equipment online store" loading="lazy" width="1440" height="900" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fpescarmania%2Fweb-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fpescarmania%2Fweb-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fpescarmania%2Fweb-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fpescarmania%2Fweb-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fpescarmania%2Fweb-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fpescarmania%2Fweb-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fpescarmania%2Fweb-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fpescarmania%2Fweb-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fpescarmania%2Fweb-01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">PescarMania</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">Premium gear for performance fishing.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-coral/10 text-coral">E-commerce</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>WooCommerce</span><span>WordPress</span><span>PHP</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div><div style="opacity:0;transform:scale(0.96)"><div class="h-full" style="transform-style:preserve-3d;transform:perspective(900px) rotateX(0deg) rotateY(0deg)"><a class="group relative flex h-full flex-col overflow-hidden rounded-[var(--radius-xl2)] border border-ink/8 bg-white shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)]" href="/work/wwf"><div class="relative h-60 overflow-hidden bg-green"><div class="absolute inset-0 bg-[radial-gradient(120%_90%_at_82%_-10%,rgba(255,255,255,0.42),transparent_55%)]"></div><div class="absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/15 to-transparent"></div><span class="absolute right-4 top-4 z-10 rounded-full bg-black/15 px-3 py-1 text-xs font-medium text-white backdrop-blur-sm">2025</span><div class="pointer-events-none absolute left-1/2 -translate-x-1/2 transition-all duration-500 ease-out will-change-transform bottom-[-16%] w-[90%] group-hover:bottom-[-10%]"><div class="overflow-hidden rounded-xl border border-ink/10 bg-white shadow-2xl"><div class="flex items-center gap-1.5 border-b border-ink/8 bg-paper-deep px-3 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-coral/70"></span><span class="h-2.5 w-2.5 rounded-full bg-amber/80"></span><span class="h-2.5 w-2.5 rounded-full bg-green/80"></span><span class="ml-3 hidden h-4 flex-1 rounded-md bg-white/80 ring-1 ring-ink/5 sm:block"></span></div><img alt="WWF â green public procurement campaign page" loading="lazy" width="1440" height="900" decoding="async" data-nimg="1" class="block h-auto w-full" style="color:transparent" sizes="(min-width: 1024px) 380px, 90vw" srcSet="/_next/image?url=%2Fimages%2Fwork%2Fwwf%2Fweb-01.webp&w=640&q=75 640w, /_next/image?url=%2Fimages%2Fwork%2Fwwf%2Fweb-01.webp&w=750&q=75 750w, /_next/image?url=%2Fimages%2Fwork%2Fwwf%2Fweb-01.webp&w=828&q=75 828w, /_next/image?url=%2Fimages%2Fwork%2Fwwf%2Fweb-01.webp&w=1080&q=75 1080w, /_next/image?url=%2Fimages%2Fwork%2Fwwf%2Fweb-01.webp&w=1200&q=75 1200w, /_next/image?url=%2Fimages%2Fwork%2Fwwf%2Fweb-01.webp&w=1920&q=75 1920w, /_next/image?url=%2Fimages%2Fwork%2Fwwf%2Fweb-01.webp&w=2048&q=75 2048w, /_next/image?url=%2Fimages%2Fwork%2Fwwf%2Fweb-01.webp&w=3840&q=75 3840w" src="/_next/image?url=%2Fimages%2Fwork%2Fwwf%2Fweb-01.webp&w=3840&q=75"/></div></div></div><div class="flex flex-1 flex-col p-6"><h3 class="font-display text-xl font-bold tracking-tight text-ink">WWF â Green Public Procurement</h3><p class="mt-1.5 text-sm font-medium text-ink-soft">
1Local, quality food on public plates.</p><div class="mt-4 flex flex-wrap gap-1.5"><span class="rounded-full px-2.5 py-1 text-xs font-medium bg-green/15 text-green">Sustainability</span><span class="rounded-full bg-ink/5 px-2.5 py-1 text-xs font-medium text-ink-soft">Web</span></div><div class="mt-auto flex items-center justify-between pt-6"><div class="flex flex-wrap gap-x-2 gap-y-1 text-xs text-ink-soft/80"><span>WordPress</span><span>PHP</span><span>JavaScript</span></div><span class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-ink/10 text-ink transition-all duration-300 group-hover:border-transparent group-hover:bg-ink group-hover:text-white"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transition-transform duration-300 group-hover:translate-x-0.5"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></span></div></div></a></div></div></div></div></div></div></div><!--$--><!--/$--></main><footer class="relative mt-24 overflow-hidden bg-ink text-paper"><div class="flex h-1.5 w-full"><span class="flex-1 bg-teal"></span><span class="flex-1 bg-indigo"></span><span class="flex-1 bg-coral"></span><span class="flex-1 bg-amber"></span><span class="flex-1 bg-blue"></span><span class="flex-1 bg-green"></span></div><div class="mx-auto max-w-7xl px-5 py-16 sm:px-8"><div class="grid gap-12 md:grid-cols-[1.5fr_1fr_1fr]"><div><img src="/tribus-logo-full-white.svg" alt="Tribus Technologies" width="1899" height="734" draggable="false" class="w-auto select-none h-10"/><p class="mt-4 max-w-sm text-balance text-paper/70">Your success, is our success.<!-- --> We build people-centric software and partner with you through your digital transformation.</p></div><div><h3 class="text-sm font-semibold uppercase tracking-wider text-paper/50">Explore</h3><ul class="mt-4 space-y-3"><li><a class="text-paper/80 transition-colors hover:text-teal" href="/work">Work</a></li><li><a class="text-paper/80 transition-colors hover:text-teal" href="/services">Services</a></li><li><a class="text-paper/80 transition-colors hover:text-teal" href="/about">About</a></li><li><a class="text-paper/80 transition-colors hover:text-teal" href="/contact">Contact</a></li></ul></div><div><h3 class="text-sm font-semibold uppercase tracking-wider text-paper/50">Get in touch</h3><ul class="mt-4 space-y-3 text-paper/80"><li><a href="mailto:[email protected]" class="break-all transition-colors hover:text-teal">[email protected]</a></li><li><a href="tel:+40725356633" class="transition-colors hover:text-teal">+40 725 356 633</a></li><li class="text-paper/60">Bucharest, Romania</li></ul></div></div><div class="mt-14 flex flex-col items-start justify-between gap-4 border-t border-paper/15 pt-8 text-sm text-paper/50 sm:flex-row sm:items-center"><p>© <!-- -->2026<!-- --> <!-- -->Tribus Technologies<!-- -->. All rights reserved.</p><p class="font-display italic text-paper/70">Go beyond your wildest dreams.</p></div></div></footer>
1<script src="/_next/static/chunks/3jvkbm-wxvaor.js" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[70119,[\"/_next/static/chunks/0sd12gno43-r4.js\",\"/_next/static/chunks/270-vsymd55bm.js\"],\"Header\"]\n4:I[39756,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\"]\n5:I[8821,[\"/_next/static/chunks/0sd12gno43-r4.js\",\"/_next/static/chunks/270-vsymd55bm.js\",\"/_next/static/chunks/1vgd-c9rjuj1p.js\"],\"default\"]\n6:I[37457,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"default\"]\n7:I[22016,[\"/_next/static/chunks/0sd12gno43-r4.js\",\"/_next/static/chunks/270-vsymd55bm.js\"],\"\"]\ne:I[68027,[\"/_next/static/chunks/0sd12gno43-r4.js\",\"/_next/static/chunks/270-vsymd55bm.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/2c0wmw3bd1rlq.css\",\"style\"]\n:HL[\"/_next/static/media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:T5ed,"])</script>
1<script>self.__next_f.push([1,"[{\"@context\":\"https://schema.org\",\"@type\":[\"Organization\",\"ProfessionalService\"],\"@id\":\"https://wearetribus.com/#organization\",\"name\":\"Tribus Technologies\",\"alternateName\":\"Tribus\",\"url\":\"https://wearetribus.com\",\"logo\":\"https://wearetribus.com/icon-512.png\",\"image\":\"https://wearetribus.com/opengraph-image\",\"description\":\"We build people-centric web and mobile software that solves real problems â your partner in digital transformation, from discovery to production.\",\"slogan\":\"Your success, is our success.\",\"email\":\"[email protected]\",\"telephone\":\"+40 725 356 633\",\"foundingDate\":\"2021\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Bucharest\",\"addressCountry\":\"RO\"},\"areaServed\":\"Worldwide\",\"knowsAbout\":[\"Web Development\",\"Hybrid Mobile Apps\",\"Native Mobile Apps\",\"Databases\",\"Cloud Infrastructure\",\"UI / UX\",\"AI Integrations\",\"QA \u0026 Testing\",\"Cybersecurity\",\"Maintenance \u0026 Support\"],\"contactPoint\":[{\"@type\":\"ContactPoint\",\"contactType\":\"sales\",\"email\":\"[email protected]\",\"telephone\":\"+40 725 356 633\",\"areaServed\":\"Worldwide\",\"availableLanguage\":[\"English\",\"Romanian\"]}]},{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"@id\":\"https://wearetribus.com/#website\",\"url\":\"https://wearetribus.com\",\"name\":\"Tribus Technologies\",\"description\":\"We build people-centric web and mobile software that solves real problems â your partner in digital transformation, from discovery to production.\",\"inLanguage\":\"en\",\"publisher\":{\"@id\":\"https://wearetribus.com/#organization\"}}]"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"work\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"work\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2c0wmw3bd1rlq.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0sd12gno43-r4.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/270-vsymd55bm.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"inter_7b064e0d-module__MOT0tq__variable space_grotesk_19f6fddb-module__FDtTeq__variable h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-paper text-ink\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$2\"}}],[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$5\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1vgd-c9rjuj1p.js\",\"async\":true}]],\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"mx-auto flex max-w-2xl flex-col items-center px-5 py-32 text-center sm:px-8\",\"children\":[[\"$\",\"p\",null,{\"className\":\"font-display text-7xl font-bold text-teal\",\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"mt-4 font-display text-3xl font-bold tracking-tight text-ink\",\"children\":\"Page not found.\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-lg text-ink-soft\",\"children\":\"The page you're looking for moved or never existed.\"}],[\"$\",\"$L7\",null,{\"href\":\"/\",\"className\":\"mt-8 inline-flex items-center justify-center rounded-full bg-ink px-7 py-3.5 text-base font-semibold text-paper transition-colors hover:bg-teal-ink\",\"children\":\"Back home\"}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"footer\",null,{\"className\":\"relative mt-24 overflow-hidden bg-ink text-paper\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-1.5 w-full\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex-1 bg-teal\"}],[\"$\",\"span\",null,{\"className\":\"flex-1 bg-indigo\"}],[\"$\",\"span\",null,{\"className\":\"flex-1 bg-coral\"}],[\"$\",\"span\",null,{\"className\":\"flex-1 bg-amber\"}],[\"$\",\"span\",null,{\"className\":\"flex-1 bg-blue\"}],[\"$\",\"span\",null,{\"className\":\"flex-1 bg-green\"}]]}],[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-7xl px-5 py-16 sm:px-8\",\"children\":[\"$L8\",\"$L9\"]}]]}]]}]}]]}],{\"children\":[\"$La\",{\"children\":[\"$Lb\",{},null,false,null]},null,false,\"$@c\"]},null,false,null],\"$Ld\",false]],\"m\":\"$undefined\",\"G\":[\"$e\",[\"$Lf\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"cWp0Vr6uCaIe-G5Ps-pbU\"}\n"])</script>
1<script>self.__next_f.push([1,"16:I[97367,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"ViewportBoundary\"]\n18:I[97367,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"MetadataBoundary\"]\n19:\"$Sreact.suspense\"\n:HL[\"/tribus-logo-full-white.svg\",\"image\"]\n"])</script>
1<script>self.__next_f.push([1,"8:[\"$\",\"div\",null,{\"className\":\"grid gap-12 md:grid-cols-[1.5fr_1fr_1fr]\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"img\",null,{\"src\":\"/tribus-logo-full-white.svg\",\"alt\":\"Tribus Technologies\",\"width\":1899,\"height\":734,\"draggable\":false,\"className\":\"w-auto select-none h-10\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 max-w-sm text-balance text-paper/70\",\"children\":[\"Your success, is our success.\",\" We build people-centric software and partner with you through your digital transformation.\"]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold uppercase tracking-wider text-paper/50\",\"children\":\"Explore\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-3\",\"children\":[[\"$\",\"li\",\"/work\",{\"children\":[\"$\",\"$L7\",null,{\"href\":\"/work\",\"className\":\"text-paper/80 transition-colors hover:text-teal\",\"children\":\"Work\"}]}],[\"$\",\"li\",\"/services\",{\"children\":[\"$\",\"$L7\",null,{\"href\":\"/services\",\"className\":\"text-paper/80 transition-colors hover:text-teal\",\"children\":\"Services\"}]}],[\"$\",\"li\",\"/about\",{\"children\":[\"$\",\"$L7\",null,{\"href\":\"/about\",\"className\":\"text-paper/80 transition-colors hover:text-teal\",\"children\":\"About\"}]}],[\"$\",\"li\",\"/contact\",{\"children\":[\"$\",\"$L7\",null,{\"href\":\"/contact\",\"className\":\"text-paper/80 transition-colors hover:text-teal\",\"children\":\"Contact\"}]}]]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold uppercase tracking-wider text-paper/50\",\"children\":\"Get in touch\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-3 text-paper/80\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"mailto:[email protected]\",\"className\":\"break-all transition-colors hover:text-teal\",\"children\":\"[email protected]\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"tel:+40725356633\",\"className\":\"transition-colors hover:text-teal\",\"children\":\"+40 725 356 633\"}]}],[\"$\",\"li\",null,{\"className\":\"text-paper/60\",\"children\":\"Bucharest, Romania\"}]]}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"9:[\"$\",\"div\",null,{\"className\":\"mt-14 flex flex-col items-start justify-between gap-4 border-t border-paper/15 pt-8 text-sm text-paper/50 sm:flex-row sm:items-center\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"© \",2026,\" \",\"Tribus Technologies\",\". All rights reserved.\"]}],[\"$\",\"p\",null,{\"className\":\"font-display italic text-paper/70\",\"children\":\"Go beyond your wildest dreams.\"}]]}]\na:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n10:Td1d,"])</script>
1<script>self.__next_f.push([1,"[{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://wearetribus.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Work\",\"item\":\"https://wearetribus.com/work\"}]},{\"@context\":\"https://schema.org\",\"@type\":\"CollectionPage\",\"@id\":\"https://wearetribus.com/work#collection\",\"name\":\"Our work\",\"description\":\"Web and mobile products Tribus has designed, built and shipped.\",\"url\":\"https://wearetribus.com/work\",\"isPartOf\":{\"@id\":\"https://wearetribus.com/#website\"},\"mainEntity\":{\"@type\":\"ItemList\",\"numberOfItems\":26,\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"url\":\"https://wearetribus.com/work/bluvi\",\"name\":\"Bluvi\"},{\"@type\":\"ListItem\",\"position\":2,\"url\":\"https://wearetribus.com/work/secom-professional\",\"name\":\"Secom Professional\"},{\"@type\":\"ListItem\",\"position\":3,\"url\":\"https://wearetribus.com/work/clubo\",\"name\":\"Super Brain\"},{\"@type\":\"ListItem\",\"position\":4,\"url\":\"https://wearetribus.com/work/votemonitor\",\"name\":\"VoteMonitor\"},{\"@type\":\"ListItem\",\"position\":5,\"url\":\"https://wearetribus.com/work/arhiv360\",\"name\":\"Arhiv360\"},{\"@type\":\"ListItem\",\"position\":6,\"url\":\"https://wearetribus.com/work/juke\",\"name\":\"Juke\"},{\"@type\":\"ListItem\",\"position\":7,\"url\":\"https://wearetribus.com/work/neuro-performance\",\"name\":\"Neuro Performance Enhancement\"},{\"@type\":\"ListItem\",\"position\":8,\"url\":\"https://wearetribus.com/work/playtech\",\"name\":\"PlayTech\"},{\"@type\":\"ListItem\",\"position\":9,\"url\":\"https://wearetribus.com/work/tattoo-app\",\"name\":\"Tattoo App\"},{\"@type\":\"ListItem\",\"position\":10,\"url\":\"https://wearetribus.com/work/ong-hub\",\"name\":\"ONG Hub\"},{\"@type\":\"ListItem\",\"position\":11,\"url\":\"https://wearetribus.com/work/werk24\",\"name\":\"WERK24\"},{\"@type\":\"ListItem\",\"position\":12,\"url\":\"https://wearetribus.com/work/edu-sport\",\"name\":\"Edu-Sport\"},{\"@type\":\"ListItem\",\"position\":13,\"url\":\"https://wearetribus.com/work/covasna-media\",\"name\":\"Covasna Media\"},{\"@type\":\"ListItem\",\"position\":14,\"url\":\"https://wearetribus.com/work/vic\",\"name\":\"VIC\"},{\"@type\":\"ListItem\",\"position\":15,\"url\":\"https://wearetribus.com/work/silent-auction\",\"name\":\"Silent Auction\"},{\"@type\":\"ListItem\",\"position\":16,\"url\":\"https://wearetribus.com/work/recorder\",\"name\":\"Recorder\"},{\"@type\":\"ListItem\",\"position\":17,\"url\":\"https://wearetribus.com/work/ssm-holding\",\"name\":\"SSM Holding\"},{\"@type\":\"ListItem\",\"position\":18,\"url\":\"https://wearetribus.com/work/european-youth-foundation\",\"name\":\"European Youth Foundation\"},{\"@type\":\"ListItem\",\"position\":19,\"url\":\"https://wearetribus.com/work/safefield\",\"name\":\"SafeField\"},{\"@type\":\"ListItem\",\"position\":20,\"url\":\"https://wearetribus.com/work/armenia-refugee-support\",\"name\":\"Armenia Refugee Support\"},{\"@type\":\"ListItem\",\"position\":21,\"url\":\"https://wearetribus.com/work/ptsd-help\",\"name\":\"PTSD Help\"},{\"@type\":\"ListItem\",\"position\":22,\"url\":\"https://wearetribus.com/work/practice4good\",\"name\":\"Practice4Good\"},{\"@type\":\"ListItem\",\"position\":23,\"url\":\"https://wearetribus.com/work/centru-civic\",\"name\":\"Centru Civic\"},{\"@type\":\"ListItem\",\"position\":24,\"url\":\"https://wearetribus.com/work/rundezvous\",\"name\":\"Rundezvous\"},{\"@type\":\"ListItem\",\"position\":25,\"url\":\"https://wearetribus.com/work/pescarmania\",\"name\":\"PescarMania\"},{\"@type\":\"ListItem\",\"position\":26,\"url\":\"https://wearetribus.com/work/wwf\",\"name\":\"WWF â Green Public Procurement\"}]}}]"])</script>
1<script>self.__next_f.push([1,"b:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-7xl px-5 pb-8 pt-16 sm:px-8 sm:pt-24\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$10\"}}],\"$L11\",\"$L12\"]}],[\"$L13\"],\"$L14\"]}]\n15:[]\nc:\"$W15\"\nd:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L18\",null,{\"children\":[\"$\",\"$19\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1a\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\nf:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2c0wmw3bd1rlq.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script>
1<script>self.__next_f.push([1,"1b:I[1971,[\"/_next/static/chunks/0sd12gno43-r4.js\",\"/_next/static/chunks/270-vsymd55bm.js\",\"/_next/static/chunks/1a08fj1grj93_.js\"],\"ProjectGrid\"]\n1c:I[97367,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"OutletBoundary\"]\n11:[\"$\",\"header\",null,{\"className\":\"max-w-3xl\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-3 inline-flex items-center gap-2 text-sm font-semibold uppercase tracking-wider text-teal-ink\",\"children\":[[\"$\",\"span\",null,{\"className\":\"h-1.5 w-1.5 rounded-full bg-teal\"}],\"Our work\"]}],[\"$\",\"h1\",null,{\"className\":\"font-display text-4xl font-bold tracking-tight text-ink sm:text-5xl md:text-6xl text-balance\",\"children\":\"Products built with one obsession: the end user.\"}],[\"$\",\"p\",null,{\"className\":\"mt-5 text-lg text-ink-soft text-balance\",\"children\":\"From civic-tech apps to B2B platforms and consumer products â filter by platform, industry or the technology behind each build.\"}]]}]\n"])</script>
1<script>self.__next_f.push([1,"12:[\"$\",\"div\",null,{\"className\":\"mt-14\",\"children\":[\"$\",\"$L1b\",null,{\"projects\":[{\"slug\":\"bluvi\",\"name\":\"Bluvi\",\"tagline\":\"The digital community for anglers.\",\"description\":\"Bluvi â AplicaÈia Pescarilor â helps anglers organise their fishing trips: discover lakes with reviews, facilities and species, register for competitions with live rankings, and follow the latest news and tips. Tribus built it end to end, on iOS and Android.\",\"platforms\":[\"Mobile\"],\"industry\":\"Consumer\",\"tech\":[\"React Native\",\"Node.js\",\"Strapi\",\"PostgreSQL\",\"DigitalOcean\",\"Cloudflare\",\"Datadog\"],\"accent\":\"teal\",\"year\":2025,\"featured\":true,\"link\":\"https://play.google.com/store/apps/details?id=com.tribustech.bluvi\",\"metrics\":[{\"value\":30,\"suffix\":\"k+\",\"label\":\"Anglers onboarded\"},{\"value\":4.9,\"suffix\":\"â
\",\"label\":\"Average store rating\"},{\"value\":60,\"suffix\":\"%\",\"label\":\"Weekly active anglers\"}],\"testimonial\":{\"quote\":\"Bluvi is finally changing a world that had stayed the same for as long as I can remember.\",\"author\":\"Marika\",\"role\":\"Chita Lake\"}},{\"slug\":\"secom-professional\",\"name\":\"Secom Professional\",\"tagline\":\"Secom's product reference for doctors \u0026 pharmacists.\",\"description\":\"A reference app built for Secom that puts detailed, trustworthy product information in the hands of doctors and pharmacists. Professionals browse Secom's range by system and condition, read in-depth product detail tailored to their specialisation, and save favourites â a pocket companion for confident recommendations.\",\"platforms\":[\"Mobile\"],\"industry\":\"Health \u0026 Wellness\",\"tech\":[\"React Native\",\"Strapi\",\"PostgreSQL\",\"Railway\"],\"accent\":\"green\",\"year\":2024,\"featured\":true,\"link\":\"https://play.google.com/store/apps/details?id=ro.secom.professional\",\"metrics\":[{\"value\":100,\"suffix\":\"+\",\"label\":\"Products documented\"},{\"value\":2.5,\"suffix\":\"k+\",\"label\":\"Specialists onboarded\"},{\"value\":5,\"suffix\":\"â
\",\"label\":\"Average store rating\"}],\"testimonial\":{\"quote\":\"They are the most professional team we have worked with.\",\"author\":\"Lucian Boca\",\"role\":\"Digital \u0026 E-Commerce Manager, Secom\"}},{\"slug\":\"clubo\",\"name\":\"Super Brain\",\"tagline\":\"A premium members club, in your pocket.\",\"description\":\"A members-club app for Super Brain Clubs â discover and RSVP to curated meetings and events, browse exclusive partner benefits, and connect with fellow members through rich profiles.\",\"platforms\":[\"Mobile\"],\"industry\":\"Community\",\"tech\":[\"React Native\",\".NET\",\"MySQL\",\"Firebase\"],\"accent\":\"indigo\",\"year\":2023,\"featured\":false,\"testimonial\":{\"quote\":\"They were always going the extra mile and proposing even better ideas.\",\"author\":\"Sandra Diviskova\",\"role\":\"General Director, CEO Clubs Romania\"}},{\"slug\":\"votemonitor\",\"name\":\"VoteMonitor\",\"tagline\":\"Election observation in the palm of your hand.\",\"description\":\"A civic-tech app â built in partnership with Commit Global (formerly Code for Romania) â that empowers independent observers to report on polling stations in real time, surfacing irregularities and strengthening electoral transparency. Deployed by observation missions across more than ten countries.\",\"platforms\":[\"Mobile\"],\"industry\":\"Civic Tech\",\"tech\":[\"React Native\",\".NET\",\"PostgreSQL\",\"AWS\"],\"accent\":\"coral\",\"year\":2023,\"featured\":true,\"metrics\":[{\"value\":10,\"suffix\":\"+\",\"label\":\"Countries deployed\"},{\"value\":850,\"suffix\":\"+\",\"label\":\"Polling stations\"},{\"value\":100,\"suffix\":\"%\",\"label\":\"Real-time sync\"}],\"testimonial\":{\"quote\":\"Observers could report irregularities the moment they happened â transparency we couldn't achieve on paper.\",\"author\":\"VoteMonitor\",\"role\":\"Programme Lead\"}},{\"slug\":\"arhiv360\",\"name\":\"Arhiv360\",\"tagline\":\"Digital archiving for the paperless office.\",\"description\":\"A document-management platform for storing, indexing and retrieving records securely â turning physical archives into searchable digital ones.\",\"platforms\":[\"Web\"],\"industry\":\"Enterprise\",\"tech\":[\"React\",\"NestJS\",\"PostgreSQL\",\"AWS\"],\"accent\":\"blue\",\"year\":2023,\"featured\":false},{\"slug\":\"juke\",\"name\":\"Juke\",\"tagline\":\"The social jukebox for any room.\",\"description\":\"A music app that lets a crowd queue and vote on what plays next, turning any venue or gathering into a shared, interactive soundtrack.\",\"platforms\":[\"Mobile\"],\"industry\":\"Entertainment\",\"tech\":[\"React Native\",\"Node.js\",\"Supabase\"],\"accent\":\"amber\",\"year\":2023,\"featured\":true,\"metrics\":[{\"value\":2.5,\"suffix\":\"x\",\"label\":\"Longer sessions\"},{\"value\":40,\"suffix\":\"%\",\"label\":\"More songs queued\"},{\"value\":1,\"prefix\":\"\u003c\",\"suffix\":\"s\",\"label\":\"Vote-to-play latency\"}],\"testimonial\":{\"quote\":\"Juke turns a quiet room into a shared playlist in seconds â guests are hooked the moment they vote.\",\"author\":\"Juke\",\"role\":\"Founder\"}},{\"slug\":\"neuro-performance\",\"name\":\"Neuro Performance Enhancement\",\"tagline\":\"Transformative optimization for mind \u0026 body.\",\"description\":\"A wellbeing product guiding users through structured programmes for cognitive and physical performance, with progress tracking and personalised journeys.\",\"platforms\":[\"Mobile\",\"Web\"],\"industry\":\"Health \u0026 Wellness\",\"tech\":[\"React Native\",\"Next.js\",\"NestJS\",\"Firebase\"],\"accent\":\"teal\",\"year\":2024,\"featured\":false},{\"slug\":\"playtech\",\"name\":\"PlayTech\",\"tagline\":\"Engineering for high-scale gaming.\",\"description\":\"Software contributions for a demanding gaming environment, focused on performance, reliability and clean integration with existing systems.\",\"platforms\":[\"Web\"],\"industry\":\"Gaming\",\"tech\":[\"Angular\"],\"accent\":\"indigo\",\"year\":2022,\"featured\":false},{\"slug\":\"tattoo-app\",\"name\":\"Tattoo App\",\"tagline\":\"Find your artist, book your ink.\",\"description\":\"A marketplace connecting people with tattoo artists â browse portfolios, discover styles and book appointments, all from your phone.\",\"platforms\":[\"Mobile\"],\"industry\":\"Marketplace\",\"tech\":[\"Flutter\",\"Firebase\",\"Node.js\"],\"accent\":\"coral\",\"year\":2023,\"featured\":false},{\"slug\":\"ong-hub\",\"name\":\"ONG Hub\",\"tagline\":\"A home base for NGOs.\",\"description\":\"A management hub helping non-governmental organisations coordinate programmes, volunteers and reporting â reducing overhead so teams can focus on their mission.\",\"platforms\":[\"Web\"],\"industry\":\"Civic Tech\",\"tech\":[\"React\",\"NestJS\",\"PostgreSQL\",\"AWS\"],\"accent\":\"green\",\"year\":2023,\"featured\":true},{\"slug\":\"werk24\",\"name\":\"WERK24\",\"tagline\":\"AI that turns engineering drawings into data.\",\"description\":\"The web platform for Werk24 â an AI engine that reads technical engineering drawings and extracts dimensions, tolerances, GD\u0026T, materials and threads into structured data in seconds. Tribus built the interface that lets manufacturing and procurement teams upload drawings, review the extractions and wire the results straight into their own systems â no templates, no training data.\",\"platforms\":[\"Web\"],\"industry\":\"Manufacturing\",\"tech\":[\"React\",\"Python\",\"AI\"],\"accent\":\"blue\",\"year\":2024,\"featured\":false},{\"slug\":\"edu-sport\",\"name\":\"Edu-Sport\",\"tagline\":\"Where education meets the field.\",\"description\":\"A platform blending learning and sport â organising courses, sessions and progress for students, coaches and clubs alike.\",\"platforms\":[\"Web\"],\"industry\":\"Education\",\"tech\":[\"PHP\",\"WordPress\"],\"accent\":\"amber\",\"year\":2023,\"featured\":false},{\"slug\":\"covasna-media\",\"name\":\"Covasna Media\",\"tagline\":\"A modern home for local media.\",\"description\":\"A fast, content-rich publishing platform delivering regional news and media with a clean reading experience across devices.\",\"platforms\":[\"Web\"],\"industry\":\"Media \u0026 Publishing\",\"tech\":[\"Next.js\",\"Strapi\",\"PostgreSQL\",\"Railway\"],\"accent\":\"teal\",\"year\":2024,\"featured\":false},{\"slug\":\"vic\",\"name\":\"VIC\",\"tagline\":\"Connecting NGOs with people who want to help.\",\"description\":\"A volunteering platform that links NGOs with volunteers â discover and join organisations, sign up for open events, and log volunteering hours. A community of 2,000+ active volunteers across 150+ organisations.\",\"platforms\":[\"Web\",\"Mobile\"],\"industry\":\"Civic Tech\",\"tech\":[\"React\",\"React Native\",\"NestJS\",\"PostgreSQL\"],\"accent\":\"amber\",\"year\":2024,\"featured\":true,\"metrics\":[{\"value\":2,\"suffix\":\"k+\",\"label\":\"Active volunteers\"},{\"value\":150,\"suffix\":\"+\",\"label\":\"Organisations\"},{\"value\":4,\"suffix\":\"x\",\"label\":\"Faster onboarding\"}]},{\"slug\":\"silent-auction\",\"name\":\"Silent Auction\",\"tagline\":\"Bidding for good causes, made effortless.\",\"description\":\"A live auction platform for fundraising events â real-time bidding, item catalogues and seamless checkout that keep guests engaged and donations flowing.\",\"platforms\":[\"Web\"],\"industry\":\"Events \u0026 Fundraising\",\"tech\":[\"React\",\"Supabase\"],\"accent\":\"coral\",\"year\":2024,\"featured\":true},{\"slug\":\"recorder\",\"name\":\"Recorder\",\"tagline\":\"Independent journalism, in your pocket.\",\"description\":\"The website and mobile apps for Recorder â Romania's independent investigative newsroom. Tribus inherited both the iOS and Android apps and is now their active developer and maintainer â shipping new features and treating security as paramount. Readers follow documentaries, daily news and investigations across web and mobile, with fine-grained notification controls to keep up with the stories that matter. We also ran penetration testing to keep the platform untouchable.\",\"platforms\":[\"Web\",\"Mobile\"],\"industry\":\"Media \u0026 Publishing\",\"tech\":[\"Swift\",\"Kotlin\",\"PHP\",\"MariaDB\",\"Penetration Testing\"],\"accent\":\"coral\",\"year\":2024,\"featured\":true,\"link\":\"https://apps.apple.com/ro/app/recorder-ro/id6736685252\",\"testimonial\":{\"quote\":\"Their project management approach has contributed significantly to the success and smooth execution of our projects.\",\"author\":\"Marian Ciubuc\",\"role\":\"Digital Strategist, AsociaÈia Recorder Community\"}},{\"slug\":\"ssm-holding\",\"name\":\"SSM Holding\",\"tagline\":\"Health \u0026 safety inspections, from site visit to signed report.\",\"description\":\"A field a
1pp for SSM Holding's occupational health \u0026 safety (SSM/PSI) inspectors. They schedule client visits, work through structured compliance checklists â marking each criterion present or missing with mandatory photo evidence and flagging the fines a gap carries â then capture handwritten signatures from both parties on-site and generate the official inspection report (proces-verbal) to share in a tap. A built-in recognition system lets teams award points, climb a leaderboard and redeem perks, while admins manage the catalogue. Tasks, calendar and client management tie the day together.\",\"platforms\":[\"Mobile\"],\"industry\":\"Health \u0026 Safety\",\"tech\":[\"React Native\",\".NET\",\"PostgreSQL\",\"Azure\"],\"accent\":\"indigo\",\"year\":2025,\"featured\":true,\"link\":\"https://apps.apple.com/ro/app/ssm-holding/id6757382676\"},{\"slug\":\"european-youth-foundation\",\"name\":\"European Youth Foundation\",\"tagline\":\"A grant management system for the Council of Europe.\",\"description\":\"A grant-management platform for the Council of Europe's European Youth Foundation â youth NGOs discover calls for proposals, apply for grants and study sessions, and manage projects from application to reporting through a single dashboard.\",\"platforms\":[\"Web\"],\"industry\":\"Public Sector\",\"tech\":[\"Angular\",\".NET\",\"SQL Server\"],\"accent\":\"blue\",\"year\":2026,\"featured\":true},{\"slug\":\"safefield\",\"name\":\"SafeField\",\"tagline\":\"Occupational-safety compliance, without the paperwork.\",\"description\":\"A web platform for Net Team to manage SSM (occupational health \u0026 safety) â issue and track digital safety passports per employee, manage companies and reference data, and stay ahead of expiries with a compliance dashboard.\",\"platforms\":[\"Web\"],\"industry\":\"Enterprise\",\"tech\":[\"React\",\"NestJS\",\"PostgreSQL\"],\"accent\":\"blue\",\"year\":2026,\"featured\":true},{\"slug\":\"armenia-refugee-support\",\"name\":\"Armenia Refugee Support\",\"tagline\":\"A service map for people who need it most.\",\"description\":\"A civic-tech platform helping refugees in Armenia find the services they need â legal aid, social support and more â through an accessible, searchable service map.\",\"platforms\":[\"Web\"],\"industry\":\"Civic Tech\",\"tech\":[\"Next.js\",\"Strapi\",\"PostgreSQL\",\"Railway\"],\"accent\":\"blue\",\"year\":2024,\"featured\":false,\"link\":\"https://armenia-service-map.vercel.app\"},{\"slug\":\"ptsd-help\",\"name\":\"PTSD Help\",\"tagline\":\"Tools to regain calm and control.\",\"description\":\"A mental-health support app for people living with PTSD, built in collaboration with Code for Romania. It pairs symptom tracking with guided coping tools â a distress meter, muscle-relaxation and meditation sessions, and inspirational content â so users can find the right instrument for whatever they're feeling in the moment.\",\"platforms\":[\"Mobile\"],\"industry\":\"Health \u0026 Wellness\",\"tech\":[\"React Native\",\"Amazon S3\"],\"accent\":\"blue\",\"year\":2024,\"featured\":true},{\"slug\":\"practice4good\",\"name\":\"Practice4Good\",\"tagline\":\"Internships at NGOs, made discoverable.\",\"description\":\"A platform â built for Commit Global â that connects students and recent graduates with practice and internship programmes at Romanian NGOs. Users search opportunities by faculty, duration and field, while organisations post and manage their listings.\",\"platforms\":[\"Web\"],\"industry\":\"Civic Tech\",\"tech\":[\"React\",\"NestJS\",\"PostgreSQL\",\"AWS\"],\"accent\":\"amber\",\"year\":2023,\"featured\":false,\"link\":\"https://www.practice4good.ro/\"},{\"slug\":\"centru-civic\",\"name\":\"Centru Civic\",\"tagline\":\"Every civil-society service, in one place.\",\"description\":\"A directory â built for Commit Global â that centralises the services Romanian NGOs offer to citizens. People search by need, domain and beneficiary to find the right support, turning a fragmented sector into a single, searchable resource.\",\"platforms\":[\"Web\"],\"industry\":\"Civic Tech\",\"tech\":[\"React\",\"NestJS\",\"PostgreSQL\",\"AWS\"],\"accent\":\"amber\",\"year\":2023,\"featured\":false,\"link\":\"https://www.centrucivic.ro/\"},{\"slug\":\"rundezvous\",\"name\":\"Rundezvous\",\"tagline\":\"Where the running community meets coffee culture.\",\"description\":\"An e-commerce store for Rundezvous â a running hub and coffee shop. Customers browse merchandise, footwear and apparel across a fast, image-led storefront with full c
1art and checkout.\",\"platforms\":[\"Web\"],\"industry\":\"E-commerce\",\"tech\":[\"Shopify\",\"Liquid\",\"JavaScript\"],\"accent\":\"blue\",\"year\":2024,\"featured\":false,\"link\":\"https://rundezvous.ro/\"},{\"slug\":\"pescarmania\",\"name\":\"PescarMania\",\"tagline\":\"Premium gear for performance fishing.\",\"description\":\"An e-commerce store for PescarMania â premium fishing equipment. A deep, well-organised catalogue spans carp, feeder and predator fishing, baits, luggage, clothing, camping and boats, with wishlists, promotions and secure online payment.\",\"platforms\":[\"Web\"],\"industry\":\"E-commerce\",\"tech\":[\"WooCommerce\",\"WordPress\",\"PHP\"],\"accent\":\"coral\",\"year\":2023,\"featured\":false,\"link\":\"https://pescarmania.ro/\"},{\"slug\":\"wwf\",\"name\":\"WWF â Green Public Procurement\",\"tagline\":\"Local, quality food on public plates.\",\"description\":\"A campaign page built for WWF Romania â promoting green public procurement to bring local, quality produce into Romania's public catering. We designed and built this page within the wwf.ro site.\",\"platforms\":[\"Web\"],\"industry\":\"Sustainability\",\"tech\":[\"WordPress\",\"PHP\",\"JavaScript\"],\"accent\":\"green\",\"year\":2025,\"featured\":false,\"link\":\"https://wwf.ro/ce-facem/achiziii-publice-verzi-hrana/\"}],\"platforms\":[\"Web\",\"Mobile\"],\"industries\":[\"Civic Tech\",\"Community\",\"Consumer\",\"E-commerce\",\"Education\",\"Enterprise\",\"Entertainment\",\"Events \u0026 Fundraising\",\"Gaming\",\"Health \u0026 Safety\",\"Health \u0026 Wellness\",\"Manufacturing\",\"Marketplace\",\"Media \u0026 Publishing\",\"Public Sector\",\"Sustainability\"],\"tech\":[\".NET\",\"AI\",\"AWS\",\"Amazon S3\",\"Angular\",\"Azure\",\"Cloudflare\",\"Datadog\",\"DigitalOcean\",\"Firebase\",\"Flutter\",\"JavaScript\",\"Kotlin\",\"Liquid\",\"MariaDB\",\"MySQL\",\"NestJS\",\"Next.js\",\"Node.js\",\"PHP\",\"Penetration Testing\",\"PostgreSQL\",\"Python\",\"Railway\",\"React\",\"React Native\",\"SQL Server\",\"Shopify\",\"Strapi\",\"Supabase\",\"Swift\",\"WooCommerce\",\"WordPress\"]}]}]\n"])</script>
1<script>self.__next_f.push([1,"13:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1a08fj1grj93_.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n14:[\"$\",\"$L1c\",null,{\"children\":[\"$\",\"$19\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1d\"}]}]\n"])</script>
1<script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
1<script>self.__next_f.push([1,"1e:I[27201,[\"/_next/static/chunks/05-c3ty_6dwfk.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\"],\"IconMark\"]\n"])</script>
1<script>self.__next_f.push([1,"1a:[[\"$\",\"title\",\"0\",{\"children\":\"Work â Tribus Technologies\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Explore the web and mobile products Tribus has designed, built and shipped â filter by platform, industry and technology.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"Tribus Technologies\"}],[\"$\",\"link\",\"3\",{\"rel\":\"author\",\"href\":\"https://wearetribus.com\"}],[\"$\",\"meta\",\"4\",{\"name\":\"author\",\"content\":\"Tribus Technologies\"}],[\"$\",\"link\",\"5\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"6\",{\"name\":\"keywords\",\"content\":\"software development,software agency,digital transformation,web development,mobile app development,React,Next.js,React Native,AI integrations,Bucharest,Romania\"}],[\"$\",\"meta\",\"7\",{\"name\":\"creator\",\"content\":\"Tribus Technologies\"}],[\"$\",\"meta\",\"8\",{\"name\":\"publisher\",\"content\":\"Tribus Technologies\"}],[\"$\",\"meta\",\"9\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"10\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"11\",{\"name\":\"category\",\"content\":\"technology\"}],[\"$\",\"link\",\"12\",{\"rel\":\"canonical\",\"href\":\"https://wearetribus.com/work\"}],[\"$\",\"meta\",\"13\",{\"name\":\"format-detection\",\"content\":\"telephone=no, address=no, email=no\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:title\",\"content\":\"Work â Tribus Technologies\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:description\",\"content\":\"Explore the web and mobile products Tribus has designed, built and shipped â filter by platform, industry and technology.\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:url\",\"content\":\"https://wearetribus.com/work\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:title\",\"content\":\"Work â Tribus Technologies\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:description\",\"content\":\"Explore the web and mobile products Tribus has designed, built and shipped â filter by platform, industry and technology.\"}],[\"$\",\"link\",\"20\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.2112mlymyg96h.png\",\"sizes\":\"512x512\",\"type\":\"image/png\"}],[\"$\",\"link\",\"21\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?apple-icon.22fvrolak5a_r.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L1e\",\"22\",{}]]\n"])</script>
1<script>self.__next_f.push([1,"1d:null\n"])</script>
1</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.