[{"data":1,"prerenderedAt":303},["ShallowReactive",2],{"project:\u002Fpedra-brilhante:en-us":3,"project:prev:\u002Fpedra-brilhante:en-us":295,"project:next:\u002Fpedra-brilhante:en-us":299},{"id":4,"title":5,"body":6,"category":265,"company":267,"cover":268,"date":269,"description":270,"extension":271,"featured":272,"image":273,"isPublic":274,"links":275,"meta":279,"navigation":274,"order":280,"path":281,"period":282,"role":283,"seo":285,"stack":286,"status":288,"stem":289,"tags":290,"__hash__":294},"projects_enUS\u002Fen-us\u002Fprojects\u002Fpedra-brilhante.md","Pedra Brilhante",{"type":7,"value":8,"toc":255},"minimark",[9,13,18,21,24,27,164,168,184,187,191,201,204,208,218,221,225,235,238,242,252],[10,11,12],"p",{},"Pedra Brilhante Cereais is a grain trading company — buying from farmers and cooperatives, running its own transport fleet, shipping and selling to the domestic market or for export. Unlike the other institutional projects I built at K13, this was the first one where I didn't just stay on the visual frontend — I also owned the integration, consuming WordPress as an API inside a Vue.js\u002FNuxt SPA.",[14,15,17],"h2",{"id":16},"the-integration-became-frontend-work","The integration became frontend work",[10,19,20],{},"The backend team could turn a site's WordPress into an API in under half an hour. That shifted the division of labor: the time that used to belong to backend for integration fell onto frontend, which was already building the site. I started doing both.",[10,22,23],{},"It was more fun and more challenging than I expected — the data was real, changing constantly through the WordPress admin, very different from working with fixed mocks like on earlier projects. But it also exposed a real gap in what I knew at the time: I didn't know anything about technical SEO, Google Search Console, performance, Lighthouse, Schema.org, sitemaps. I built what I knew — an SPA — and integrated it. Visually it turned out great; performance, I know now, was terrible. If this project had the SEO and performance modules ao.dev has, it would be a completely different story.",[10,25,26],{},"It wasn't the first site I built in Vue\u002FNuxt consuming WordPress as an API — but it was one of the early ones, and the first where the integration was my responsibility, not just the visuals.",[28,29,30,43],"table",{},[31,32,33],"thead",{},[34,35,36,40],"tr",{},[37,38,39],"th",{},"Layer",[37,41,42],{},"Technology",[44,45,46,69,81,99,116,128,140,152],"tbody",{},[34,47,48,52],{},[49,50,51],"td",{},"Framework",[49,53,54,62,63,68],{},[55,56,61],"a",{"href":57,"rel":58,"target":60},"https:\u002F\u002Fvuejs.org\u002Fguide\u002Fintroduction.html",[59],"nofollow","_blank","Vue.js"," + ",[55,64,67],{"href":65,"rel":66,"target":60},"https:\u002F\u002Fnuxt.com\u002Fdocs",[59],"Nuxt.js"," (SPA mode, no SSR)",[34,70,71,74],{},[49,72,73],{},"CSS framework",[49,75,76],{},[55,77,80],{"href":78,"rel":79,"target":60},"https:\u002F\u002Fgetbootstrap.com\u002Fdocs\u002F",[59],"Bootstrap",[34,82,83,86],{},[49,84,85],{},"JavaScript",[49,87,88,93,94],{},[55,89,92],{"href":90,"rel":91,"target":60},"https:\u002F\u002Fswiperjs.com\u002Fget-started",[59],"Swiper.js",", ",[55,95,98],{"href":96,"rel":97,"target":60},"https:\u002F\u002Fgithub.com\u002Fzloirock\u002Fcore-js",[59],"core-js",[34,100,101,104],{},[49,102,103],{},"Analytics",[49,105,106,93,111],{},[55,107,110],{"href":108,"rel":109,"target":60},"https:\u002F\u002Fdevelopers.google.com\u002Fanalytics",[59],"Google Analytics",[55,112,115],{"href":113,"rel":114,"target":60},"https:\u002F\u002Fdevelopers.google.com\u002Ftag-platform\u002Ftag-manager",[59],"Google Tag Manager",[34,117,118,121],{},[49,119,120],{},"Data",[49,122,123],{},[55,124,127],{"href":125,"rel":126,"target":60},"https:\u002F\u002Fdeveloper.wordpress.org\u002Frest-api\u002F",[59],"WordPress REST API",[34,129,130,133],{},[49,131,132],{},"Maps",[49,134,135],{},[55,136,139],{"href":137,"rel":138,"target":60},"https:\u002F\u002Fdevelopers.google.com\u002Fmaps",[59],"Google Maps",[34,141,142,145],{},[49,143,144],{},"Anti-spam",[49,146,147],{},[55,148,151],{"href":149,"rel":150,"target":60},"https:\u002F\u002Fdevelopers.google.com\u002Frecaptcha\u002Fintro",[59],"reCAPTCHA",[34,153,154,157],{},[49,155,156],{},"Icons",[49,158,159],{},[55,160,163],{"href":161,"rel":162,"target":60},"https:\u002F\u002Fdocs.fontawesome.com\u002F",[59],"Font Awesome",[14,165,167],{"id":166},"home","Home",[169,170,173,181],"figure",{"className":171},[172],"rehype-figure",[174,175],"img",{"alt":176,"height":177,"src":178,"title":179,"width":180},"Pedra Brilhante home page with an operations photo carousel and the trading flow",675,"\u002Fimages\u002Fpages\u002Fprojects\u002Fpedra-brilhante\u002Fpedra-brilhante-home.png","Home — carousel and trading flow",1200,[182,183,176],"figcaption",{},[10,185,186],{},"A hero carousel with real photos of the operation — silos, the truck fleet, harvest, a farmer in the field. Right below, an institutional summary and the business flow visualized in five icons: farmers\u002Fcooperatives → transport → grain shipment → domestic market or export → delivery. It closes with a carousel of clients the company has worked with — JBS, BRF, Olfar, BSBIOS, among other big names in Brazilian agribusiness.",[14,188,190],{"id":189},"about","About",[169,192,194,199],{"className":193},[172],[174,195],{"alt":196,"height":177,"src":197,"title":198,"width":180},"About page with mission, vision, values, and the company's facilities","\u002Fimages\u002Fpages\u002Fprojects\u002Fpedra-brilhante\u002Fpedra-brilhante-sobre.png","About — mission, vision, values and facilities",[182,200,196],{},[10,202,203],{},"Mission, vision, and five values (determination, discipline, availability, quality, ethics), followed by a photo gallery of the real facility — warehouses, silos, the truck yard.",[14,205,207],{"id":206},"services","Services",[169,209,211,216],{"className":210},[172],[174,212],{"alt":213,"height":177,"src":214,"title":215,"width":180},"Services page with the grain trading flow","\u002Fimages\u002Fpages\u002Fprojects\u002Fpedra-brilhante\u002Fpedra-brilhante-servicos.png","Services — grain trading",[182,217,213],{},[10,219,220],{},"A lean page focused on a single service: grain trading, with the same five-step flow from the home page and a direct WhatsApp quote CTA.",[14,222,224],{"id":223},"blog","Blog",[169,226,228,233],{"className":227},[172],[174,229],{"alt":230,"height":177,"src":231,"title":232,"width":180},"Blog listing with real posts about the agricultural market","\u002Fimages\u002Fpages\u002Fprojects\u002Fpedra-brilhante\u002Fpedra-brilhante-blog.png","Blog — agricultural market news",[182,234,230],{},[10,236,237],{},"A paginated grid of posts — and this blog is living proof the API integration worked: it keeps getting new content years after I left the project, without me touching a single line of code. Commodity prices, crop disease prevention, international trade missions — content the marketing team publishes straight to WordPress, with zero dependency on me.",[14,239,241],{"id":240},"contact","Contact",[169,243,245,250],{"className":244},[172],[174,246],{"alt":247,"height":177,"src":248,"title":249,"width":180},"Contact page with form, WhatsApp, and map","\u002Fimages\u002Fpages\u002Fprojects\u002Fpedra-brilhante\u002Fpedra-brilhante-contato.png","Contact — form, WhatsApp and map",[182,251,247],{},[10,253,254],{},"A simple form (name, email, phone, message), a WhatsApp button, and a map — Google Maps and Waze side by side this time, unlike Planta Sul, which only had Waze.",{"title":256,"searchDepth":257,"depth":257,"links":258},"",2,[259,260,261,262,263,264],{"id":16,"depth":257,"text":17},{"id":166,"depth":257,"text":167},{"id":189,"depth":257,"text":190},{"id":206,"depth":257,"text":207},{"id":223,"depth":257,"text":224},{"id":240,"depth":257,"text":241},[266],"institutional","K13","\u002Fimages\u002Fpages\u002Fprojects\u002Fpedra-brilhante\u002Fpedra-brilhante-cover.png","2026-07-12","Vue.js\u002FNuxt SPA for a grain trading company, integrating real data via WordPress as an API. My first project where I owned the integration, not just the frontend.","md",false,"\u002Fimages\u002Fpages\u002Fprojects\u002Fpedra-brilhante\u002Fpedra-brilhante-detail.png",true,[276],{"label":277,"url":278},"pedrabrilhante.com.br","https:\u002F\u002Fpedrabrilhante.com.br",{},10,"\u002Fen-us\u002Fprojects\u002Fpedra-brilhante","2021 – 2022",[284],"Frontend Developer",{"title":5,"description":270},[61,287,80,92,98,127,139,151,163,110],"Nuxt.js (SPA)","completed","en-us\u002Fprojects\u002Fpedra-brilhante",[61,67,291,292,80,293],"WordPress API","SPA","Agriculture","jPJDj1FwK1_sHVstecj3dX06fmK36ZC4UJBzyB6DOS4",{"path":296,"title":297,"order":298},"\u002Fen-us\u002Fprojects\u002Fsao-joao-farmacias","São João Farmácias",9,{"path":300,"title":301,"order":302},"\u002Fen-us\u002Fprojects\u002Ftripagamentos","TriPagamentos",11,1784312185012]