1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <meta name="theme-color" content="#fdfbf7" /> 7 8 <title>Bright Etornam Sunu â Software Engineer, Google Developer Expert & AI Researcher</title> 9 <meta 10 name="description" 11 content="Bright Etornam Sunu is a Software Engineer and Google Developer Expert (GDE) expanding into artificial intelligence research. Building inclusive, scalable technology and championing developer community growth across Africa. Host of the Code Line with Etornam podcast." 12 /> 13 <meta name="author" content="Bright Etornam Sunu" /> 14 <meta 15 name="keywords" 16 content="Bright Etornam Sunu, Etornam Sunu, Bright Sunu, software engineer, AI research, machine learning, multimodal AI, scalable systems, Google Developer Expert, GDE, GDE Africa, Africa tech, Ghana developer, Code Line with Etornam, podcast" 17 /> 18 <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" /> 19 <meta name="googlebot" content="index, follow" /> 20 21 <link rel="canonical" href="https://etornam.dev/" /> 22 23 <!-- Preload the hero image (LCP element) so it starts downloading before 24 the JS bundle parses and mounts React. --> 25 <link rel="preload" href="/hero.jpg" as="image" fetchpriority="high" /> 26 27 <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 28 <link rel="apple-touch-icon" href="/favicon.svg" /> 29 <link rel="manifest" href="/site.webmanifest" /> 30 31 <!-- Open Graph --> 32 <meta property="og:type" content="profile" /> 33 <meta property="og:site_name" content="Bright Etornam Sunu" /> 34 <meta property="og:locale" content="en_US" /> 35 <meta property="og:title" content="Bright Etornam Sunu â Software Engineer, Google Developer Expert & AI Researcher" /> 36 <meta 37 property="og:description" 38 content="Software Engineer and Google Developer Expert expanding into AI research. Building inclusive, scalable technology for African developer communities." 39 /> 40 <meta property="og:url" content="https://etornam.dev/" /> 41 <meta property="og:image" content="https://etornam.dev/og-image.jpg" /> 42 <meta property="og:image:secure_url" content="https://etornam.dev/og-image.jpg" /> 43 <meta property="og:image:type" content="image/jpeg" /> 44 <meta property="og:image:width" content="1200" /> 45 <meta property="og:image:height" content="630" /> 46 <meta property="og:image:alt" content="Bright Etornam Sunu speaking at a Google developer event" /> 47 <meta property="profile:first_name" content="Bright" /> 48 <meta property="profile:last_name" content="Sunu" /> 49 <meta property="profile:middle_name" content="Etornam" /> 50 51 <!-- Publication dates for LinkedIn / OG-aware crawlers. og:updated_time 52 is the broadly-recognised one; article:* are LinkedIn-specific. 53 Update these when you make significant content changes so social 54 previews surface a fresh date. --> 55 <!-- fb:app_id â Facebook Sharing Debugger flags this as "missing required", 56 but it's actually optional. To silence the warning, create a Facebook 57 App at https://developers.facebook.com/apps and replace the comment 58 below with: <meta property="fb:app_id" content="YOUR_APP_ID" /> --> 59 <!-- <meta property="fb:app_id" content="" /> --> 60 61 <meta property="og:updated_time" content="2026-05-19T00:00:00Z" /> 62 <meta property="article:published_time" content="2026-05-19T00:00:00Z" /> 63 <meta property="article:modified_time" content="2026-05-19T00:00:00Z" /> 64 <meta property="article:author" content="https://etornam.dev/" /> 65 66 <!-- Twitter / X --> 67 <meta name="twitter:card" content="summary_large_image" /> 68 <meta name="twitter:site" content="@_iamEtornam" /> 69 <meta name="twitter:creator" content="@_iamEtornam" /> 70 <meta name="twitter:title" content="Bright Etornam Sunu â Software Engineer, Google Developer Expert & AI Researcher" /> 71 <meta 72 name="twitter:description" 73 content="Software Engineer and Google Developer Expert expanding into AI research. Building inclusive, scalable technology for African developer communities." 74 /> 75 <meta name="twitter:image" content="https://etornam.dev/og-image.jpg" /> 76 <meta name="twitter:image:alt" content="Bright Etornam Sunu speaking at a Google developer event" /> 77 78
78<script type="application/ld+json"> 79 { 80 "@context": "https://schema.org", 81 "@type": "Person", 82 "name": "Bright Etornam Sunu", 83 "alternateName": "Etornam Sunu", 84 "url": "https://etornam.dev/", 85 "image": "https://etornam.dev/og-image.jpg", 86 "jobTitle": "Software Engineer, Google Developer Expert & AI Researcher", 87 "description": "Software Engineer and Google Developer Expert (GDE) expanding into artificial intelligence research. Building inclusive, scalable technology and championing developer community growth across Africa. Host of the Code Line with Etornam podcast.", 88 "knowsAbout": [ 89 "Software Engineering", 90 "Scalable Systems", 91 "Cross-Platform Infrastructure", 92 "Artificial Intelligence", 93 "Machine Learning", 94 "Multimodal AI", 95 "Natural Language Processing", 96 "Developer Education", 97 "Community Building", 98 "Mobile Engineering", 99 "Flutter" 100 ], 101 "email": "mailto:[email protected]", 102 "sameAs": [ 103 "https://www.linkedin.com/in/etornam-sunu/", 104 "https://github.com/iamEtornam", 105 "https://x.com/_iamEtornam", 106 "https://www.facebook.com/imEtornam", 107 "https://scholar.google.com/citations?user=uXMqGMcAAAAJ&hl=en", 108 "https://open.spotify.com/show/2DgsGoWsjUOk79WG6kkKEI" 109 ] 110 } 111 </script>
111 112 113
113<script type="application/ld+json"> 114 { 115 "@context": "https://schema.org", 116 "@type": "WebSite", 117 "url": "https://etornam.dev/", 118 "name": "Bright Etornam Sunu", 119 "description": "Portfolio of Bright Etornam Sunu â Software Engineer, Google Developer Expert & AI Researcher.", 120 "inLanguage": "en", 121 "author": { 122 "@type": "Person", 123 "name": "Bright Etornam Sunu", 124 "url": "https://etornam.dev/" 125 } 126 } 127 </script>
127 128
128<script type="module" crossorigin src="/assets/index-CYRCrZYd.js"></script>
128 129 <link rel="modulepreload" crossorigin href="/assets/vendor-react-B7PD0JhM.js"> 130 <link rel="modulepreload" crossorigin href="/assets/vendor-motion-DYsr9C_F.js"> 131 <link rel="modulepreload" crossorigin href="/assets/vendor-lucide-cKA0NUhI.js"> 132 <link rel="stylesheet" crossorigin href="/assets/index-C5ib4Mxo.css"> 133 </head> 134 <body> 135 <div id="root"></div> 136 </body> 137</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.