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.
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.
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.
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/Nuxt 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.
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.
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.
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.
- Clean Code
- Product-Minded
- Agile
- Detail-Oriented
Career Path
- 2024 – 2025Grupo 3CFrontend EngineerVue.jsWebSocketsGraphQLGenerative AIVue Flow3cplusnow.com(opens in new tab)grupo-3c.com(opens in new tab)LinkedIn · 3C Plus(opens in new tab)LinkedIn · Grupo 3C(opens in new tab)
- 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/WhatsApp/IVR) — Step Wizard with real-time monitoring
- 2022 – 2023AvantiFrontend Engineer · VTEX SpecialistVTEX IOVTEX LegacyReactTypeScriptGTM
- 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
- 2021 – 2022K13Frontend DeveloperVue.jsNuxtSCSSVanilla JSSEO
- High-end institutional sites, e-commerces and LPs — Prospecta, Planta Sul, Pedra Brilhante, Expressiva
- Migrated from HTML/SCSS/Vanilla JS to Vue.js + Nuxt SSR/SSG
- Built a cookie-consent system from scratch — from iPhone 4 to 4K screens
- First contact with Lighthouse — technical SEO and performance as a priority
- 2020 – 2021Let's GrowFullstack DeveloperPHPLaravelPostgreSQLVue.jsTailwind
- 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
Tech Stack
Frontend
- Vue.js · Nuxt 4
- React · Next.js
- TypeScript
- SCSS · Tailwind
- Lit (Web Components)
- CSS/JS Animations
E-commerce & CMS
- VTEX IO · Legacy
- Magento (integration)
- WordPress (Headless)
- GTM · Analytics
Backend & Infra
- Node.js
- PHP · Laravel
- Docker · Traefik
- REST APIs
- GraphQL
- WebSockets
Practices
- Clean Code
- Component Design
- SSR · SSG · CSR
- Technical SEO
- CI/CD
- Agile