[{"data":1,"prerenderedAt":145},["ShallowReactive",2],{"page-about-en-us":3},{"id":4,"title":5,"about":6,"bio":127,"body":129,"description":129,"extension":130,"hero":131,"home":129,"meta":136,"navigation":137,"path":138,"seo":139,"services":129,"stem":143,"__hash__":144},"pageData_enUS\u002Fen-us\u002Fpages\u002Fabout.yml","About",{"intro":7,"traits":26,"education":31,"location":35,"experience":36,"timeline":37},[8,11,14,17,20,23],{"title":9,"body":10},"Who I am","My full name is Allan Guilherme Beira Oliveira — around the site and in daily life I go by Allan G. B. Oliveira, but I'm leaving it here in full for anyone confirming this is the same person from LinkedIn.",{"title":12,"body":13},"Where I come from","TriPagamentos was my first real job, and I walked in knowing almost nothing. Everything I had came from college — Algorithms and Data Structures in plain C, polymorphism in Java, three semesters of Databases — not a single line about building for the actual web. On my first day, a coworker walked me through spinning up the environment with Docker, and I somehow tried editing a file inside the vendor folder without understanding why it was even there. It was there, between Laravel on the backend and Vue.js on the front, that I learned Carbon and Facades the hard way, built an affiliate system from scratch, and integrated a payment gateway and electronic invoicing without ever having touched either before — and only in the last few months, once I asked to focus more on frontend and spent my entire final week chasing responsive bugs right up to my last day, did I realize with total clarity that this was what I wanted to do.",{"title":15,"body":16},"The challenge that made me grow","Years later, at K13, I built a site for a grain trading company that consumed WordPress as an API inside a Vue\u002FNuxt SPA — it looked great. The problem was I knew nothing about technical SEO, Lighthouse, Schema.org, Search Console. I built what I knew, and the performance, I now know, was terrible. That's the moment that marked me the most technically: discovering a real gap in something I thought I already knew how to do. I never forgot it — it's basically the reason everything documented about performance and accessibility in this very portfolio exists.",{"title":18,"body":19},"Real weight, real decisions","At Avanti I worked across VTEX stores of every size — legacy ones carrying years of technical debt from different hands, and others running IO with React. That's where I learned frontend decisions can carry real weight: on a Black Friday, trying to save time by swapping the seasonal theme on three stores from the same group at once, I mixed up the files between sister brands — right at the year's traffic peak. It worked out because I always kept a local backup before any change, but the scare stuck with me. Ever since, I treat even a small CSS tweak on a real e-commerce with the respect it deserves.",{"title":21,"body":22},"Real complexity","Grupo 3C was the complexity leap of my career: one giant SPA, a single monolith, with three teams coding the same project at once. I walked in having to relearn Vue.js after a stretch working only with VTEX and React, straight into the Composition API. I built a GraphQL dashboard solo, real-time systems over WebSockets, a funnel Kanban that's still one of the things I'm proudest of having built. And I learned, firsthand, the real cost of skipping testing discipline — we spent months just cleaning up bugs accumulated from sprints that only focused on shipping feature after feature. It changed how I think about delivery pace ever since.",{"title":24,"body":25},"How I work today","Performance and accessibility are acceptance criteria, not a last-minute review — I test against Lighthouse, WAVE and the IBM Equal Access Checker while the design can still change, not after it's already live. Mobile-first is where CSS starts, not an exception breakpoint. I document technical decisions and the reasoning behind them — including what didn't work — because it saves time for whoever touches that code next, including myself, on my own project, a year from now.",[27,28,29,30],"Clean Code","Product-Minded","Agile","Detail-Oriented",{"course":32,"institution":33,"period":34},"Computer Science","UNICENTRO","Incomplete","📍 Brazil · available remote","6+ years of experience",[38,67,89,107],{"period":39,"company":40,"role":41,"links":42,"tags":55,"highlights":61},"2024 – 2025","Grupo 3C","Frontend Engineer",[43,46,49,52],{"label":44,"url":45},"3cplusnow.com","https:\u002F\u002F3cplusnow.com",{"label":47,"url":48},"grupo-3c.com","https:\u002F\u002Fgrupo-3c.com",{"label":50,"url":51},"LinkedIn · 3C Plus","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002F3c_plus\u002F",{"label":53,"url":54},"LinkedIn · Grupo 3C","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002F3cgrupo\u002F",[56,57,58,59,60],"Vue.js","WebSockets","GraphQL","Generative AI","Vue Flow",[62,63,64,65,66],"Partners and Audiences systems — partnerships and CSV mailing lists with CNAE filters and lead enrichment","Products & Services built from scratch — categories, monetary values and complex rules","CRM with Kanban, activity scheduling and an analytics dashboard in GraphQL + Chart.js","Real-time WhatsApp Omnichannel over WebSockets, with a Vue Flow chatbot and Generative AI","Bulk messaging (SMS\u002FWhatsApp\u002FIVR) — Step Wizard with real-time monitoring",{"period":68,"company":69,"role":70,"links":71,"tags":78,"highlights":84},"2022 – 2023","Avanti","Frontend Engineer · VTEX Specialist",[72,75],{"label":73,"url":74},"penseavanti.com.br","https:\u002F\u002Fpenseavanti.com.br",{"label":76,"url":77},"LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fpenseavanti",[79,80,81,82,83],"VTEX IO","VTEX Legacy","React","TypeScript","GTM",[85,86,87,88],"Grupo Clamed (Preço Popular, Drogaria Catarinense, Manipulação) and São João Farmácias — VTEX IO with React","Adega Alentejana and Daniela Tombini — maintaining VTEX Legacy stores with years of technical debt","Deployed the Black Friday seasonal theme to production under real traffic pressure","Evolutionary support on VTEX IO and Legacy stores — API consumption, CMS, customizations",{"period":90,"company":91,"role":92,"links":93,"tags":97,"highlights":102},"2021 – 2022","K13","Frontend Developer",[94],{"label":95,"url":96},"k13.com.br","https:\u002F\u002Fk13.com.br",[56,98,99,100,101],"Nuxt","SCSS","Vanilla JS","SEO",[103,104,105,106],"High-end institutional sites, e-commerces and LPs — Prospecta, Planta Sul, Pedra Brilhante, Expressiva","Migrated from HTML\u002FSCSS\u002FVanilla JS to Vue.js + Nuxt SSR\u002FSSG","Built a cookie-consent system from scratch — from iPhone 4 to 4K screens","First contact with Lighthouse — technical SEO and performance as a priority",{"period":108,"company":109,"role":110,"links":111,"tags":117,"highlights":122},"2020 – 2021","Let's Grow","Fullstack Developer",[112,115],{"label":113,"url":114},"lets.com.vc","https:\u002F\u002Fwww.lets.com.vc",{"label":76,"url":116},"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fletscomvc\u002F",[118,119,120,56,121],"PHP","Laravel","PostgreSQL","Tailwind",[123,124,125,126],"Online course-selling system — Hotmart-style, with seller and student areas","Full REST API — routes, validations, Repository Pattern, Models and Migrations","Full Tailwind CSS redesign near the end of my time there — member area and admin","This is where I found out Frontend was my calling",{"photo":128},"\u002Fimages\u002Fpages\u002Fabout\u002Fabout-photo.png",null,"yml",{"label":132,"headline":133,"highlight":134,"subtitle":135},"About me","Frontend, in practice,","for over 6 years.","Computer Science, incomplete — I learned the rest by building: real systems, bug after bug, project after project.",{},true,"\u002Fen-us\u002Fpages\u002Fabout",{"title":140,"description":141,"ogTitle":140,"ogDescription":142},"About Me — Allan G. B. Oliveira","Allan Guilherme Beira Oliveira — Frontend Engineer, 6+ years: from PHP\u002FLaravel to Vue.js and React. Still learning, still building.","From PHP\u002FLaravel to Vue.js and React — over 6 years in Frontend.","en-us\u002Fpages\u002Fabout","92OrP80uXlqM2tYDZE8B9wkdNIWq9R9_7P3rQZc4pfk",1784312151573]