[{"data":1,"prerenderedAt":168},["ShallowReactive",2],{"site":3,"work":47,"work-articles":167},{"id":4,"bookingLabel":5,"bookingUrl":6,"company":7,"contact":8,"extension":11,"hire":12,"legal":15,"location":16,"meta":17,"name":18,"nav":19,"owner":35,"social":36,"status":43,"stem":44,"tagline":45,"__hash__":46},"site\u002Fsite.yml","Book a call for what's next","https:\u002F\u002Fcal.com\u002Fanthive\u002Fintro","Ant Hive d.o.o.",{"heading":9,"intro":10},"Start with a call.","Thirty minutes, no slides. Tell me what you're building and when you need someone.","yml",{"heading":13,"intro":14},"If you're here to hire","Start with the problem you have. I'll tell you straight whether I'm the right person for it.","Ant Hive d.o.o., Braće Radića 41, Solin, Croatia. OIB 87072518531. MBS 05985889, Trgovački sud u Splitu. Share capital € 2.500, paid in full. Director: Ante Borzić.","Split, Croatia, CET",{},"Ant Hive",[20,23,26,29,32],{"label":21,"to":22},"Writing","\u002Fwriting",{"label":24,"to":25},"Work with me","\u002Fwork-with-me",{"label":27,"to":28},"On my desk","\u002Fdesk",{"label":30,"to":31},"About","\u002Fabout",{"label":33,"to":34},"Colophon","\u002Fcolophon","Ante Borzić",[37,40],{"label":38,"to":39},"LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fante-borzic",{"label":41,"to":42},"GitHub","https:\u002F\u002Fgithub.com\u002Fb0rza","On a long-term contract.","site","Notes and work from Ante Borzić, a senior full-stack engineer who builds storefronts and the Salesforce systems behind them.","0qOFf8pzt1yhZVSArM1dCMwJ2XOyZ665ezk23odmilY",{"id":48,"title":24,"body":49,"description":53,"engagements":56,"extension":69,"faq":70,"intro":89,"meta":90,"navigation":91,"path":25,"problems":92,"seo":151,"stem":152,"steps":153,"__hash__":166},"work\u002Fwork-with-me.md",{"type":50,"value":51,"toc":52},"minimark",[],{"title":53,"searchDepth":54,"depth":54,"links":55},"",2,[],[57,61,65],{"id":58,"name":59,"summary":60},"embedded","Embedded","I join your team, tools and stand-ups. Three months to start, then month to month, invoiced monthly.",{"id":62,"name":63,"summary":64},"scoped","Scoped build","One clearly defined problem, with a fixed scope and a fixed price. Usually 6 to 12 weeks.",{"id":66,"name":67,"summary":68},"review","Review","One to two weeks looking at your codebase or integration, ending in written findings and a plan.","md",[71,74,77,80,83,86],{"q":72,"a":73},"Do you work through agencies?","Yes. I've worked as a senior on agency teams, under the agency's name, and I'm happy to keep it that way.",{"q":75,"a":76},"Is my project too small?","Not if it needs senior judgment. A review is the smallest thing I do. If yours is smaller, ask anyway: it sometimes fits between engagements.",{"q":78,"a":79},"How do you price work?","Embedded work is a day rate, invoiced monthly. Scoped builds and reviews get a fixed price after the first call, so you know the cost before anything starts.",{"q":81,"a":82},"How does invoicing work with a Croatian company?","You sign a B2B contract with Ant Hive d.o.o., an EU company, and get monthly invoices in EUR. EU business clients are invoiced under the reverse-charge rule, so no Croatian VAT is added.",{"q":84,"a":85},"Can you overlap with UK or US hours?","I'm on CET, so UK and EU teams get a full working day of overlap. US East Coast teams get their mornings, which are my afternoons, and longer overlap by agreement.",{"q":87,"a":88},"Do you sign NDAs?","Yes, before the first detailed call if you prefer. It's also why you won't find client names on this site.","I'm currently embedded with a client on a long-term contract. If you're planning work for the coming months, now is a good time to talk. I work on B2B contracts through my company, Ant Hive d.o.o., and I'll tell you straight whether I'm the right person for the job.",{},true,[93,103,113,124,134,145],{"id":94,"question":95,"heading":96,"body":97,"includes":98,"engagement":58},"senior","We need a senior on the team next month.","A senior who's useful from the first week.","I join your team, your repo and your stand-ups, and pick up real work from the first week. Thirteen years in, I've joined enough codebases to know where to look first.",[99,100,101,102],"Vue and Nuxt frontends","Node backends with NestJS or Express, gRPC and PostgreSQL","Salesforce and payments work when it comes up","Code review and support for the people around me",{"id":104,"question":105,"heading":106,"body":107,"includes":108,"engagement":58},"headless","We're moving our shop to a headless storefront.","A headless move that keeps what the old shop did right.","Migrations go wrong on the details nobody wrote down: which promotions stack, how prices are shown, what customers could see in their account. I carry those over on purpose while building the new storefront on Nuxt.",[109,110,111,112],"SCAYLE headless storefronts on Nuxt","Promotions, deal badges and campaign features","Analytics tracking that matches what happened in the shop","Customer account features, including in-store orders and returns",{"id":114,"question":115,"heading":116,"body":117,"includes":118,"engagement":62,"readFirst":123},"salesforce","Salesforce and our storefront don't talk.","Getting your storefront and Salesforce in sync.","Orders, members and points live in two places and slowly drift apart. I build the integration between them, from the Apex side to the checkout UI, and make it clear which system owns which number.",[119,120,121,122],"An audit of what syncs today and where it breaks","Apex services and the Connect API integration","Loyalty Management: tiers, points, vouchers, referrals","The customer-facing UI in Vue or Nuxt","\u002Fwriting\u002Fsyncing-loyalty-management-with-a-headless-storefront",{"id":125,"question":126,"heading":127,"body":128,"includes":129,"engagement":133},"payments","Checkout or payments keep breaking.","Payments you can stop worrying about.","Intermittent payment failures are usually a few small things adding up: retries, timeouts, and tokens or webhooks that disagree. I find which ones, fix them, and leave you with alerts that tell you before customers do.",[130,131,132],"Chargent and Cybersource integrations","Tokenization and the checkout flow on top","Logging and alerts around every payment step","review-then-scoped",{"id":135,"question":136,"heading":137,"body":138,"includes":139,"engagement":144},"owner","Our Vue or Nuxt app has no owner.","Someone to own the app again.","When the person who built it leaves, a working app quietly becomes a risky one. I start with a review of what's there, then take ownership: upgrades, the parts everyone avoids, and docs so it doesn't happen again.",[140,141,142,143],"A codebase review with written findings","Vue and Nuxt upgrades","Accessibility to WCAG AA","Handover docs your team can run with","review-then-embedded",{"id":146,"question":147,"heading":148,"body":149,"engagement":150},"other","Something else?","Thirteen years covers a lot of ground.","Beyond the above, I've led engineering on a Web3 platform that funds public-goods projects, owned a gRPC microservice from an empty repository to production, connected course sales to Canvas LMS, built CMS models that let marketing teams ship without developers, and set up deploy pipelines with preview environments. If it runs on the web, ask.","call",{"title":24,"description":53},"work-with-me",[154,157,160,163],{"heading":155,"body":156},"A 30-minute call","You describe the problem. I ask questions until I understand it, or tell you I'm the wrong person.",{"heading":158,"body":159},"A written scope","What I'll do, what I won't, how long it takes and what it costs. One page.",{"heading":161,"body":162},"Work in your setup","Your repo, your tickets, your stand-ups. You see progress every week, not at the end.",{"heading":164,"body":165},"A handover that sticks","Docs and a walkthrough, so nothing depends on me after I leave.","VtnPvHint0bq_PSGMwFccOk5lUTRemvYAqIx7XkHDeI",[],1793265436134]