1<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>About | Lucas da Silva</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="Astro v7.2.0"><link rel="preload" href="/fonts/InterVariable.woff2" as="font" type="font/woff2" crossorigin><meta name="description" content="I'm Lucas da Silva, a Frontend Developer with more than 10 years of experience crafting user interfaces"><meta name="robots" content="noai,noimageai"><meta name="referrer" content="no-referrer-when-downgrade"><link rel="canonical" href="https://lucasds.dev/about/"><link rel="icon" href="https://lucasds.dev/content/images/2025/02/android-chrome-512x512.png" type="image/png"><link rel="apple-touch-icon" href="https://lucasds.dev/content/images/2025/02/android-chrome-512x512.png"><meta property="og:site_name" content="Lucas da Silva"><meta property="og:type" content="article"><meta property="og:title" content="About | Lucas da Silva"><meta property="og:description" content="I'm Lucas da Silva, a Frontend Developer with more than 10 years of experience crafting user interfaces"><meta property="og:url" content="https://lucasds.dev/about/"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="About | Lucas da Silva"><meta name="twitter:description" content="I'm Lucas da Silva, a Frontend Developer with more than 10 years of experience crafting user interfaces"><meta name="twitter:url" content="https://lucasds.dev/about/"><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#14161e"><meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate">
1<script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.DW-LBy1z.js"></script>
1<script defer src="https://cloud.umami.is/script.js" data-website-id="4d06d784-b0d5-4ddb-8ffa-2dccf1db5fd0"></script>
1<link rel="stylesheet" href="/_astro/BaseLayout.CZ7TAibH.css"><link rel="stylesheet" href="/_astro/PostBody.BEBYdLBZ.css"></head><body class="min-h-dvh bg-(--app-bg) text-(--app-text) antialiased transition-colors flex flex-col"><a href="#main" class="sr-only focus:not-sr-only focus:fixed focus:top-4 focus:left-4 focus:z-50 bg-(--app-text) text-(--app-bg) px-4 py-2 text-xs font-mono-ui">Skip to content</a><nav class="wrapper py-6 md:py-8" aria-label="Primary navigation" data-astro-cid-rutobish><div class="flex items-center justify-between" data-astro-cid-rutobish><a href="/" class="text-base md:text-lg font-semibold tracking-tight hover:text-(--app-accent)" data-astro-cid-rutobish>Lucas da Silva</a><div class="hidden md:flex items-center gap-8" data-astro-cid-rutobish><ul class="flex gap-7 text-sm font-medium text-(--app-muted)" data-astro-cid-rutobish><li data-astro-cid-rutobish><a href="/about/" class="hover:text-(--app-text)" aria-current="page" data-astro-cid-rutobish>About</a></li><li data-astro-cid-rutobish><a href="/projects/" class="hover:text-(--app-text)" data-astro-cid-rutobish>Projects</a></li></ul><button id="themeToggle" type="button" aria-label="Switch to dark theme" aria-pressed="false" class="theme-toggle flex h-9 w-9 items-center justify-center rounded-full border border-(--app-border)/60 bg-(--app-surface)/60 text-(--app-muted) hover:border-(--app-border) hover:bg-(--app-surface) hover:text-(--app-text)" data-astro-cid-rutobish><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-rutobish="true" class="lucide lucide-sun theme-icon-light"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-rutobish="true" class="lucide lucide-moon theme-icon-dark hidden"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg><span class="theme-label sr-only" data-astro-cid-rutobish>Light theme enabled</span></button></div><div class="flex items-center gap-2 md:hidden" data-astro-cid-rutobish><button id="themeToggleMobile" type="button" aria-label="Switch to dark theme" aria-pressed="false" class="theme-toggle flex h-9 w-9 items-center justify-center rounded-full border border-(--app-border)/60 bg-(--app-surface)/60 text-(--app-muted) hover:border-(--app-border) hover:bg-(--app-surface) hover:text-(--app-text)" data-astro-cid-rutobish><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-rutobish="true" class="lucide lucide-sun theme-icon-light"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-rutobish="true" class="lucide lucide-moon theme-icon-dark hidden"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg><span class="theme-label sr-only" data-astro-cid-rutobish>Light theme enabled</span></button><button id="menuToggle" type="button" aria-expanded="false" aria-controls="mobileMenu" aria-label="Open menu" class="w-9 h-9 flex flex-col items-center justify-center gap-1.25 border border-(--app-border) rounded-md" data-astro-cid-rutobish><span aria-hidden="true" class="menu-bar block w-4 h-[1.5px] bg-(--app-text)" data-astro-cid-rutobish></span><span aria-hidden="true" class="menu-bar block w-4 h-[1.5px] bg-(--app-text)" data-astro-cid-rutobish></span><span aria-hidden="true" class="menu-bar block w-4 h-[1.5px] bg-(--app-text)" data-astro-cid-rutobish></span></button></div></div><ul id="mobileMenu" class="hidden md:hidden flex-col mt-6 pt-4 border-t border-(--app-border)" data-astro-cid-rutobish><li class="border-b border-(--app-border) last:border-b-0" data-astro-cid-rutobish><a href="/about/" class="block text-base font-medium text-(--app-muted) py-3 hover:text-(--app-text)" aria-current="page" data-astro-cid-rutobish>About</a></li><li class="border-b border-(--app-border) last:border-b-0" data-astro-cid-rutobish><a href="/projects/" class="block text-base font-medium text-(--app-muted) py-3 hover:text-(--app-text)" data-astro-cid-rutobish>Projects</a></li></ul></nav>
1<script type="module">var e=document.documentElement;function t(t){let n=t===`dark`,r=document.querySelectorAll(`.theme-toggle`);e.dataset.theme=t,localStorage.setItem(`theme`,t),r.forEach(e=>{e.setAttribute(`aria-pressed`,String(n)),e.setAttribute(`aria-label`,n?`Switch to light theme`:`Switch to dark theme`),e.querySelector(`.theme-icon-light`)?.classList.toggle(`hidden`,n),e.querySelector(`.theme-icon-dark`)?.classList.toggle(`hidden`,!n);let t=e.querySelector(`.theme-label`);t&&(t.textContent=n?`Dark theme enabled`:`Light theme enabled`)})}function n(){t(localStorage.getItem(`theme`)===`dark`?`dark`:`light`),document.querySelectorAll(`.theme-toggle`).forEach(n=>{n instanceof HTMLButtonElement&&(n.onclick=()=>{t(e.dataset.theme===`dark`?`light`:`dark`)})})}function r(){let e=document.getElementById(`menuToggle`),t=document.getElementById(`mobileMenu`);function n(n){t?.classList.toggle(`flex`,n),t?.classList.toggle(`hidden`,!n),e?.classList.toggle(`is-open`,n),e?.setAttribute(`aria-expanded`,String(n)),e?.setAttribute(`aria-label`,n?`Close menu`:`Open menu`)}e&&(e.onclick=()=>{n(e.getAttribute(`aria-expanded`)!==`true`)})}var i=window;i.siteNavKeydownBound||=(document.addEventListener(`keydown`,e=>{if(e.key===`Escape`){let e=document.getElementById(`menuToggle`),t=document.getElementById(`mobileMenu`);t?.classList.remove(`flex`),t?.classList.add(`hidden`),e?.classList.remove(`is-open`),e?.setAttribute(`aria-expanded`,`false`),e?.setAttribute(`aria-label`,`Open menu`)}}),!0);function a(){n(),r()}document.addEventListener(`astro:page-load`,a),a();</script>
1<main id="main" class="grow"><article class="pt-8 pb-24 md:pb-32"><header class="wrapper mt-10 mb-12"><h1 class="font-semibold tracking-tight leading-(--leading-tight)" style="font-size: var(--step-4);">About</h1></header><div class="post-content flow wrapper prose" style="--wrapper-width: 40rem;"><p>Hi, there! I'm Lucas da Silva, a Frontend Developer from Brazil.</p><p>Over the past 10+ years I've been crafting user interfaces for web apps out there, and sometimes for mobile apps too.</p><p>Besides that, I enjoy teaching the little I know, and build communities. I was the founder of GDG Jaraguá do Sul, back in 2014, and I helped as volunteer in multiple conferences across different countries, such as ReactEurope 2016 in Paris, ReactLondon in 2017 and others.</p><p>Besides coding I enjoy going for long walks and painting.</p><p>You can find my résumé right below:</p><p><a href="https://lucasds.dev/resume.pdf" target="_blank" rel="noopener noreferrer">https://lucasds.dev/resume.pdf</a></p><h2 id="get-in-touch">Get in touch</h2><p>You can reach me via email: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5b3a3c2f372e383a281b363e75383436">[email protected]</a></p><p>Iâm also on <a href="https://github.com/AgtLucas" target="_blank" rel="noopener noreferrer">GitHub</a> and <a href="https://linkedin.com/in/agtlucas" target="_blank" rel="noopener noreferrer">LinkedIn</a>.</p><p>And you can find my art website <a href="https://lucas.art/" target="_blank" rel="noopener noreferrer">here</a>.</p></div></article></main><footer class="site-footer pt-10 pb-16"><div class="wrapper"><div class="flex flex-wrap items-center justify-between gap-5 text-sm text-(--app-muted)"><span class="font-mono-ui text-xs">© 2026</span><div class="flex flex-wrap items-center justify-end gap-x-5 gap-y-3"><ul class="flex flex-wrap gap-5"><li><a href="/blog/" class="hover:text-(--app-text)">Blog</a></li><li><a href="https://github.com/AgtLucas" class="hover:text-(--app-text)" target="_blank" rel="noopener noreferrer">GitHub</a></li><li><a href="https://www.linkedin.com/in/agtlucas/" class="hover:text-(--app-text)" target="_blank" rel="noopener noreferrer">LinkedIn</a></li><li><a href="https://lucas.art/" class="hover:text-(--app-text)" target="_blank" rel="noopener noreferrer">Art</a></li></ul><button type="button" aria-label="Switch to dark theme" aria-pressed="false" class="theme-toggle flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-(--app-border)/60 bg-(--app-surface)/60 text-(--app-muted) hover:border-(--app-border) hover:bg-(--app-surface) hover:text-(--app-text)"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide lucide-sun theme-icon-light"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide lucide-moon theme-icon-dark hidden"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg><span class="theme-label sr-only">Light theme enabled</span></button></div></div></div></footer><!-- Cloudflare Pages Analytics -->
vendor: 108 bytes, line 1
1<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
vendor: 99 bytes, line 1
1<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "
133d2a50c502846959802ec04a9bc5a0b
vendor: 13 bytes, line 1
1"}'></script>
1<!-- Cloudflare Pages Analytics --></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.