[{"data":1,"prerenderedAt":3620},["ShallowReactive",2],{"blog-hiring-ai-developers-skills":3,"related-topic-hiring-ai-developers-skills":465,"related-recent-hiring-ai-developers-skills":1975,"content-query-ZmEpHXKrzg":3296},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"metaTitle":10,"topic":11,"author":12,"authorProfile":13,"coverImg":14,"coverImgAlt":15,"toc":16,"published":16,"createdAt":17,"updatedAt":17,"keywords":18,"faq":25,"body":38,"_type":459,"_id":460,"_source":461,"_file":462,"_stem":463,"_extension":464},"/blog/hiring-ai-developers-skills","blog",false,"","Hiring AI Developers: What Skills You Actually Need","Hiring for AI work but not sure what to look for? An honest, founder-level guide to the skills that matter, the roles you actually need, and how to vet an AI developer.","Hiring AI Developers: What Skills You Actually Need (2026)","Hiring and Team Building","Tarun Bhukya","https://www.linkedin.com/in/tarun-kumar-bhukya-40168b85/","/images/blog/hiring-ai-developers-skills.webp","What skills you actually need when hiring AI developers, and which roles are right for the job.",true,"2026-08-13",[19,20,21,22,23,24],"hire ai developers","what skills do ai developers need","ai engineer vs ml engineer","hiring ai developers","ai developer skills","do I need an ml engineer",[26,29,32,35],{"question":27,"answer":28},"What skills should an AI developer have?","The ones that matter most aren't 'knows the API.' Look for grounding and RAG (getting the model to answer from your data), agents and tool-calling (getting it to take real actions), evaluation (proving it works), guardrails (stopping it from doing the wrong thing), and shipping to production reliably. Solid general software engineering underneath all of it matters more than any single AI buzzword.",{"question":30,"answer":31},"Do I need an ML engineer or an AI engineer?","Most companies need an AI (or applied AI) engineer, not an ML engineer. An AI engineer wires existing models into your product: features, agents, RAG, integrations. An ML engineer trains and tunes models from scratch, which most product companies never need to do. Hiring a research-heavy ML engineer to make API calls is expensive and usually a mismatch.",{"question":33,"answer":34},"How do I know if an AI developer has actually shipped AI?","Ask what they've put into production and run, not what they've demoed. A demo proves nothing. Ask how they evaluated it, what guardrails they added, and what broke in production and how they fixed it. People who've really shipped AI talk fluently about reliability and failure, not just about models.",{"question":36,"answer":37},"Do I need to hire a full-time AI developer, or can I augment?","It depends on how much ongoing AI work you have. A single defined feature might only need a project-based engineer or an augmented one for a few weeks. Ongoing AI product development justifies a dedicated hire. You don't have to commit to full-time headcount to get started.",{"type":39,"children":40,"toc":443},"root",[41,49,54,65,72,77,90,102,107,113,118,180,192,198,203,215,220,225,231,236,281,286,292,304,322,336,342,347,368,374,380,385,390,394,399,403,408,412],{"type":42,"tag":43,"props":44,"children":45},"element","p",{},[46],{"type":47,"value":48},"text","If you're hiring for AI work right now, you've probably noticed the job titles are a mess. \"AI developer,\" \"AI engineer,\" \"ML engineer,\" \"GenAI specialist,\" \"prompt engineer.\" They overlap, they're used inconsistently, and it's easy to overpay for the wrong thing or hire someone who demos well and ships nothing.",{"type":42,"tag":43,"props":50,"children":51},{},[52],{"type":47,"value":53},"So here's an honest, founder-level guide to what actually matters when you hire for AI, from a team that builds AI for clients and runs our own. The short version might save you some money.",{"type":42,"tag":43,"props":55,"children":56},{},[57,63],{"type":42,"tag":58,"props":59,"children":60},"strong",{},[61],{"type":47,"value":62},"The short version:",{"type":47,"value":64}," most companies don't need a machine-learning researcher. You need an applied AI engineer who can wire existing models into your product reliably. The skills that matter are grounding your data (RAG), building agents that take real actions, evaluating that it works, adding guardrails, and shipping to production, all on top of solid general software engineering.",{"type":42,"tag":66,"props":67,"children":69},"h2",{"id":68},"why-ai-developer-is-a-confusing-title",[70],{"type":47,"value":71},"Why \"AI Developer\" Is a Confusing Title",{"type":42,"tag":43,"props":73,"children":74},{},[75],{"type":47,"value":76},"The confusion comes from lumping two very different jobs under one word.",{"type":42,"tag":43,"props":78,"children":79},{},[80,82,88],{"type":47,"value":81},"One job is ",{"type":42,"tag":83,"props":84,"children":85},"em",{},[86],{"type":47,"value":87},"making",{"type":47,"value":89}," the AI: training and tuning machine-learning models from scratch. That's deep, specialized, research-heavy work, and most product companies never need it.",{"type":42,"tag":43,"props":91,"children":92},{},[93,95,100],{"type":47,"value":94},"The other job is ",{"type":42,"tag":83,"props":96,"children":97},{},[98],{"type":47,"value":99},"using",{"type":47,"value":101}," the AI: taking models that already exist (like Claude or GPT) and building real features, agents, and products with them. That's what almost everyone actually needs, and it's a software engineering job with AI-specific skills on top.",{"type":42,"tag":43,"props":103,"children":104},{},[105],{"type":47,"value":106},"Getting these two mixed up is the most expensive hiring mistake we see. Companies go looking for a PhD to build something that needs an experienced product engineer who knows AI. It costs more, takes longer, and often produces a clever prototype that never ships.",{"type":42,"tag":66,"props":108,"children":110},{"id":109},"the-skills-that-actually-matter",[111],{"type":47,"value":112},"The Skills That Actually Matter",{"type":42,"tag":43,"props":114,"children":115},{},[116],{"type":47,"value":117},"For the \"using AI\" job, which is what most of you are hiring for, these are the skills worth screening for:",{"type":42,"tag":119,"props":120,"children":121},"ul",{},[122,140,150,160,170],{"type":42,"tag":123,"props":124,"children":125},"li",{},[126,131,133,138],{"type":42,"tag":58,"props":127,"children":128},{},[129],{"type":47,"value":130},"Grounding and RAG.",{"type":47,"value":132}," Getting the model to answer from ",{"type":42,"tag":83,"props":134,"children":135},{},[136],{"type":47,"value":137},"your",{"type":47,"value":139}," data instead of making things up. This is the difference between a generic chatbot and something useful to your business.",{"type":42,"tag":123,"props":141,"children":142},{},[143,148],{"type":42,"tag":58,"props":144,"children":145},{},[146],{"type":47,"value":147},"Agents and tool-calling.",{"type":47,"value":149}," Getting the AI to take real actions (send the email, update the record, run the workflow), reliably and safely, not just chat.",{"type":42,"tag":123,"props":151,"children":152},{},[153,158],{"type":42,"tag":58,"props":154,"children":155},{},[156],{"type":47,"value":157},"Evaluation.",{"type":47,"value":159}," Proving the AI actually does the job. Anyone can get an impressive demo. Knowing how to measure whether it works at scale is a real, and rarer, skill.",{"type":42,"tag":123,"props":161,"children":162},{},[163,168],{"type":42,"tag":58,"props":164,"children":165},{},[166],{"type":47,"value":167},"Guardrails.",{"type":47,"value":169}," Stopping the AI from doing the wrong thing. This matters enormously the moment the AI touches money, customer data, or anything with consequences.",{"type":42,"tag":123,"props":171,"children":172},{},[173,178],{"type":42,"tag":58,"props":174,"children":175},{},[176],{"type":47,"value":177},"Shipping and monitoring.",{"type":47,"value":179}," Getting it into production and keeping it working under real load. Most AI projects die on the way to production, so this is where the value is.",{"type":42,"tag":43,"props":181,"children":182},{},[183,185,190],{"type":47,"value":184},"And underneath all of it: ",{"type":42,"tag":58,"props":186,"children":187},{},[188],{"type":47,"value":189},"solid general software engineering.",{"type":47,"value":191}," An \"AI developer\" who can't write clean, testable, maintainable code will build you something that works in a demo and falls apart in production. The AI part sits on top of good engineering. It doesn't replace it.",{"type":42,"tag":66,"props":193,"children":195},{"id":194},"what-you-probably-dont-need",[196],{"type":47,"value":197},"What You Probably Don't Need",{"type":42,"tag":43,"props":199,"children":200},{},[201],{"type":47,"value":202},"This is the part that saves you money, so we'll be blunt.",{"type":42,"tag":43,"props":204,"children":205},{},[206,208,213],{"type":47,"value":207},"You probably don't need someone who trains models from scratch. You're almost certainly using an existing model, so you need someone who's excellent at ",{"type":42,"tag":83,"props":209,"children":210},{},[211],{"type":47,"value":212},"applying",{"type":47,"value":214}," it, not building it.",{"type":42,"tag":43,"props":216,"children":217},{},[218],{"type":47,"value":219},"You probably don't need a dedicated \"prompt engineer\" as a full role. Writing good prompts is a skill, but it's one part of the job, not a job by itself for most teams.",{"type":42,"tag":43,"props":221,"children":222},{},[223],{"type":47,"value":224},"And you probably don't need to wait for the perfect unicorn who has everything. A strong product engineer with genuine, shipped AI experience will serve you better than a specialist who's never put anything in front of real users.",{"type":42,"tag":66,"props":226,"children":228},{"id":227},"ai-engineer-vs-ml-engineer-vs-data-scientist",[229],{"type":47,"value":230},"AI Engineer vs ML Engineer vs Data Scientist",{"type":42,"tag":43,"props":232,"children":233},{},[234],{"type":47,"value":235},"In plain terms:",{"type":42,"tag":119,"props":237,"children":238},{},[239,254,271],{"type":42,"tag":123,"props":240,"children":241},{},[242,247,249],{"type":42,"tag":58,"props":243,"children":244},{},[245],{"type":47,"value":246},"AI / Applied AI engineer:",{"type":47,"value":248}," builds products and features using existing AI models. Agents, RAG, integrations, shipping. ",{"type":42,"tag":58,"props":250,"children":251},{},[252],{"type":47,"value":253},"This is what most product companies need.",{"type":42,"tag":123,"props":255,"children":256},{},[257,262,264,269],{"type":42,"tag":58,"props":258,"children":259},{},[260],{"type":47,"value":261},"ML engineer:",{"type":47,"value":263}," trains, tunes, and deploys machine-learning models. You need this when your product ",{"type":42,"tag":83,"props":265,"children":266},{},[267],{"type":47,"value":268},"is",{"type":47,"value":270}," a custom model, which is rare for most startups.",{"type":42,"tag":123,"props":272,"children":273},{},[274,279],{"type":42,"tag":58,"props":275,"children":276},{},[277],{"type":47,"value":278},"Data scientist:",{"type":47,"value":280}," analyzes data to find insights and build models, often more analysis than product. Valuable, but a different job from shipping an AI feature.",{"type":42,"tag":43,"props":282,"children":283},{},[284],{"type":47,"value":285},"If you're adding AI to a product, start with the applied AI engineer. Bring in the others only when you have a specific reason you can name.",{"type":42,"tag":66,"props":287,"children":289},{"id":288},"how-to-actually-vet-an-ai-developer",[290],{"type":47,"value":291},"How to Actually Vet an AI Developer",{"type":42,"tag":43,"props":293,"children":294},{},[295,297,302],{"type":47,"value":296},"The single best question: ",{"type":42,"tag":58,"props":298,"children":299},{},[300],{"type":47,"value":301},"\"What AI have you actually shipped and run in production?\"",{"type":47,"value":303}," Not demoed. Shipped. Then follow up on the unglamorous parts:",{"type":42,"tag":119,"props":305,"children":306},{},[307,312,317],{"type":42,"tag":123,"props":308,"children":309},{},[310],{"type":47,"value":311},"How did you evaluate whether it worked?",{"type":42,"tag":123,"props":313,"children":314},{},[315],{"type":47,"value":316},"What guardrails did you add, and why?",{"type":42,"tag":123,"props":318,"children":319},{},[320],{"type":47,"value":321},"What broke in production, and how did you fix it?",{"type":42,"tag":43,"props":323,"children":324},{},[325,327,334],{"type":47,"value":326},"People who've genuinely shipped AI talk fluently about reliability, evaluation, and failure. People who've only played with it talk about models and demos. The difference shows up fast. (Our post on ",{"type":42,"tag":328,"props":329,"children":331},"a",{"href":330},"/blog/how-to-vet-a-developer/",[332],{"type":47,"value":333},"how to vet a developer",{"type":47,"value":335}," covers the general version of this, and it applies here too.)",{"type":42,"tag":66,"props":337,"children":339},{"id":338},"build-hire-or-augment",[340],{"type":47,"value":341},"Build, Hire, or Augment?",{"type":42,"tag":43,"props":343,"children":344},{},[345],{"type":47,"value":346},"You don't have to jump straight to a full-time hire. A single, well-defined AI feature might only need a project-based or augmented engineer for a few weeks. Ongoing AI product development is what justifies a dedicated person.",{"type":42,"tag":43,"props":348,"children":349},{},[350,352,358,360,366],{"type":47,"value":351},"If you'd rather not build the hiring muscle from scratch, that's the gap we fill: our AI engineers have shipped AI in our own product and for a client, and you can bring one on without long-term lock-in. See ",{"type":42,"tag":328,"props":353,"children":355},{"href":354},"/hire-ai-developers/",[356],{"type":47,"value":357},"hire AI developers",{"type":47,"value":359}," and ",{"type":42,"tag":328,"props":361,"children":363},{"href":362},"/services/ai-agent-development/",[364],{"type":47,"value":365},"AI agent development",{"type":47,"value":367}," for how we work.",{"type":42,"tag":66,"props":369,"children":371},{"id":370},"frequently-asked-questions",[372],{"type":47,"value":373},"Frequently Asked Questions",{"type":42,"tag":375,"props":376,"children":378},"h3",{"id":377},"what-skills-should-an-ai-developer-have",[379],{"type":47,"value":27},{"type":42,"tag":43,"props":381,"children":382},{},[383],{"type":47,"value":384},"The ones that matter most aren't \"knows the API.\" Look for grounding and RAG (getting the model to answer from your data), agents and tool-calling (getting it to take real actions), evaluation (proving it works), guardrails (stopping it from doing the wrong thing), and shipping to production reliably. Solid general software engineering underneath all of it matters more than any single AI buzzword.",{"type":42,"tag":375,"props":386,"children":388},{"id":387},"do-i-need-an-ml-engineer-or-an-ai-engineer",[389],{"type":47,"value":30},{"type":42,"tag":43,"props":391,"children":392},{},[393],{"type":47,"value":31},{"type":42,"tag":375,"props":395,"children":397},{"id":396},"how-do-i-know-if-an-ai-developer-has-actually-shipped-ai",[398],{"type":47,"value":33},{"type":42,"tag":43,"props":400,"children":401},{},[402],{"type":47,"value":34},{"type":42,"tag":375,"props":404,"children":406},{"id":405},"do-i-need-to-hire-a-full-time-ai-developer-or-can-i-augment",[407],{"type":47,"value":36},{"type":42,"tag":43,"props":409,"children":410},{},[411],{"type":47,"value":37},{"type":42,"tag":43,"props":413,"children":414},{},[415],{"type":42,"tag":83,"props":416,"children":417},{},[418,420,425,427,433,435,441],{"type":47,"value":419},"Related reading: ",{"type":42,"tag":328,"props":421,"children":422},{"href":354},[423],{"type":47,"value":424},"Hire AI Developers",{"type":47,"value":426},", ",{"type":42,"tag":328,"props":428,"children":430},{"href":429},"/blog/ai-agent-development-cost/",[431],{"type":47,"value":432},"What It Actually Costs to Build a Production AI Agent",{"type":47,"value":434},", and ",{"type":42,"tag":328,"props":436,"children":438},{"href":437},"/blog/build-with-ai-or-hire/",[439],{"type":47,"value":440},"Build It Yourself With AI or Hire a Developer?",{"type":47,"value":442},".",{"title":7,"searchDepth":444,"depth":444,"links":445},2,[446,447,448,449,450,451,452],{"id":68,"depth":444,"text":71},{"id":109,"depth":444,"text":112},{"id":194,"depth":444,"text":197},{"id":227,"depth":444,"text":230},{"id":288,"depth":444,"text":291},{"id":338,"depth":444,"text":341},{"id":370,"depth":444,"text":373,"children":453},[454,456,457,458],{"id":377,"depth":455,"text":27},3,{"id":387,"depth":455,"text":30},{"id":396,"depth":455,"text":33},{"id":405,"depth":455,"text":36},"markdown","content:blog:hiring-ai-developers-skills.md","content","blog/hiring-ai-developers-skills.md","blog/hiring-ai-developers-skills","md",[466,1077],{"_path":467,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":468,"description":469,"topic":11,"author":12,"authorProfile":13,"coverImg":470,"coverImgAlt":471,"published":16,"toc":16,"readingTime":472,"createdAt":473,"updatedAt":473,"keywords":474,"body":480,"_type":459,"_id":1074,"_source":461,"_file":1075,"_stem":1076,"_extension":464},"/blog/freelancer-upwork-or-agency","Freelancer, Upwork, or Agency? How to Hire a React or Python Dev Without Getting Burned","Upwork, Fiverr, Toptal, a direct freelancer, or an agency — each wins somewhere and burns you somewhere else. Here's the honest breakdown for hiring a React or Python developer, from a team that's cleaned up plenty of the wreckage.","/images/blog/freelancer-upwork-or-agency.webp","Freelancer, Upwork, Toptal, or agency — hiring a React or Python developer without getting burned","10 min read","2026-07-02",[475,476,477,478,479],"freelance react developer","upwork react developer","hire python developer freelance","toptal django developer","freelancer vs agency",{"type":39,"children":481,"toc":1064},[482,487,499,505,510,640,673,679,684,695,700,712,717,723,728,740,757,763,775,780,785,791,803,823,850,863,869,874,890,911,936,942,947,957,967,977,987,997,1003,1008,1034,1038],{"type":42,"tag":43,"props":483,"children":484},{},[485],{"type":47,"value":486},"We're an agency, so read this with a raised eyebrow. Of course we think you should hire an agency — that's the whole business.",{"type":42,"tag":43,"props":488,"children":489},{},[490,492,497],{"type":47,"value":491},"But we've also inherited enough half-finished Upwork projects to tell you honestly where each option wins and where it'll cost you. So here's the version I'd give a founder friend over coffee: sometimes a freelancer is the right call, sometimes a marketplace is, and sometimes it's us. The trick is knowing ",{"type":42,"tag":83,"props":493,"children":494},{},[495],{"type":47,"value":496},"which",{"type":47,"value":498}," — before you've wired the money.",{"type":42,"tag":66,"props":500,"children":502},{"id":501},"the-short-answer",[503],{"type":47,"value":504},"The Short Answer",{"type":42,"tag":43,"props":506,"children":507},{},[508],{"type":47,"value":509},"Five ways to hire a React or Python developer, one line each on where each one shines and where it bites:",{"type":42,"tag":511,"props":512,"children":513},"table",{},[514,538],{"type":42,"tag":515,"props":516,"children":517},"thead",{},[518],{"type":42,"tag":519,"props":520,"children":521},"tr",{},[522,528,533],{"type":42,"tag":523,"props":524,"children":525},"th",{},[526],{"type":47,"value":527},"How you hire",{"type":42,"tag":523,"props":529,"children":530},{},[531],{"type":47,"value":532},"Best for",{"type":42,"tag":523,"props":534,"children":535},{},[536],{"type":47,"value":537},"Main risk",{"type":42,"tag":539,"props":540,"children":541},"tbody",{},[542,561,579,597,622],{"type":42,"tag":519,"props":543,"children":544},{},[545,551,556],{"type":42,"tag":546,"props":547,"children":548},"td",{},[549],{"type":47,"value":550},"Direct freelancer",{"type":42,"tag":546,"props":552,"children":553},{},[554],{"type":47,"value":555},"A specific, well-scoped task with a person you already trust",{"type":42,"tag":546,"props":557,"children":558},{},[559],{"type":47,"value":560},"They vanish, and the context vanishes with them",{"type":42,"tag":519,"props":562,"children":563},{},[564,569,574],{"type":42,"tag":546,"props":565,"children":566},{},[567],{"type":47,"value":568},"Upwork / Fiverr",{"type":42,"tag":546,"props":570,"children":571},{},[572],{"type":47,"value":573},"Cheap, fast, throwaway work — a script, a fix, a landing page",{"type":42,"tag":546,"props":575,"children":576},{},[577],{"type":47,"value":578},"You are the vetting, the QA, and the project manager",{"type":42,"tag":519,"props":580,"children":581},{},[582,587,592],{"type":42,"tag":546,"props":583,"children":584},{},[585],{"type":47,"value":586},"Toptal-style marketplace",{"type":42,"tag":546,"props":588,"children":589},{},[590],{"type":47,"value":591},"A vetted senior contractor, fast, when you can manage them",{"type":42,"tag":546,"props":593,"children":594},{},[595],{"type":47,"value":596},"Premium rate, still a solo contractor with no team behind them",{"type":42,"tag":519,"props":598,"children":599},{},[600,605,617],{"type":42,"tag":546,"props":601,"children":602},{},[603],{"type":47,"value":604},"Agency (dedicated engineer)",{"type":42,"tag":546,"props":606,"children":607},{},[608,610,615],{"type":47,"value":609},"Core product work you need built ",{"type":42,"tag":83,"props":611,"children":612},{},[613],{"type":47,"value":614},"and",{"type":47,"value":616}," maintained",{"type":42,"tag":546,"props":618,"children":619},{},[620],{"type":47,"value":621},"You must check it's a named engineer, not a rotating pool",{"type":42,"tag":519,"props":623,"children":624},{},[625,630,635],{"type":42,"tag":546,"props":626,"children":627},{},[628],{"type":47,"value":629},"Direct in-house hire",{"type":42,"tag":546,"props":631,"children":632},{},[633],{"type":47,"value":634},"Long-term, core-to-the-company engineering",{"type":42,"tag":546,"props":636,"children":637},{},[638],{"type":47,"value":639},"3–6 months to hire, plus a full salary and benefits",{"type":42,"tag":43,"props":641,"children":642},{},[643,645,650,652,657,659,664,666,671],{"type":47,"value":644},"Rates run the full spread — a freelancer might be ",{"type":42,"tag":58,"props":646,"children":647},{},[648],{"type":47,"value":649},"$15–$150/hr",{"type":47,"value":651},", an India-based agency engineer ",{"type":42,"tag":58,"props":653,"children":654},{},[655],{"type":47,"value":656},"$25–$50/hr",{"type":47,"value":658},", a US or European agency ",{"type":42,"tag":58,"props":660,"children":661},{},[662],{"type":47,"value":663},"$100–$200/hr",{"type":47,"value":665},", and a US in-house hire ",{"type":42,"tag":58,"props":667,"children":668},{},[669],{"type":47,"value":670},"$120–$200+/hr",{"type":47,"value":672}," all-in. The number matters less than the model. Let's go through each honestly.",{"type":42,"tag":66,"props":674,"children":676},{"id":675},"upwork-and-fiverr-cheap-fast-and-entirely-on-you",[677],{"type":47,"value":678},"Upwork and Fiverr — Cheap, Fast, and Entirely on You",{"type":42,"tag":43,"props":680,"children":681},{},[682],{"type":47,"value":683},"Upwork and Fiverr are marketplaces, not filters. That's the thing to internalize before you post a job.",{"type":42,"tag":43,"props":685,"children":686},{},[687,689,693],{"type":47,"value":688},"They'll happily show you a \"$20/hr senior React developer\" and a \"$120/hr senior React developer\" on the same page, and the platform takes no position on which one can actually ship. The vetting is ",{"type":42,"tag":83,"props":690,"children":691},{},[692],{"type":47,"value":137},{"type":47,"value":694}," job. The code review is your job. The \"why has this been 90% done for three weeks\" conversation is your job.",{"type":42,"tag":43,"props":696,"children":697},{},[698],{"type":47,"value":699},"For a certain kind of work, that's a fine trade. A one-off Python script to clean a CSV. A Fiverr gig to slice a design into HTML. A bug fix in a codebase simple enough that you can eyeball the result. Small, well-defined, low-risk — you accept the variance because the stakes are low.",{"type":42,"tag":43,"props":701,"children":702},{},[703,705,710],{"type":47,"value":704},"Where it burns founders is the moment the work stops being throwaway. You hand over your core product because the rate looked great, and six weeks in you learn what the rate didn't include: no tests, no CI, an architecture that can't grow, and a developer who's now \"traveling\" and slow to reply. We've taken over enough of these to say it plainly — the cleanup usually costs ",{"type":42,"tag":83,"props":706,"children":707},{},[708],{"type":47,"value":709},"more",{"type":47,"value":711}," than doing it right the first time would have.",{"type":42,"tag":43,"props":713,"children":714},{},[715],{"type":47,"value":716},"Upwork isn't the problem. Using Upwork for work that needed an actual team is.",{"type":42,"tag":66,"props":718,"children":720},{"id":719},"toptal-and-the-vetted-marketplaces-better-filter-same-shape",[721],{"type":47,"value":722},"Toptal and the Vetted Marketplaces — Better Filter, Same Shape",{"type":42,"tag":43,"props":724,"children":725},{},[726],{"type":47,"value":727},"Toptal, Gun.io, Arc, and similar \"top X%\" marketplaces fix Upwork's biggest flaw: they vet. You're far more likely to get a genuinely senior React or Django developer, and you'll get them in days, not months. For that, you pay a premium — closer to the US/European agency band than the Upwork band.",{"type":42,"tag":43,"props":729,"children":730},{},[731,733,738],{"type":47,"value":732},"Worth it in the right spot. But notice what you're buying: a solo contractor, vetted. The filter is better. The ",{"type":42,"tag":83,"props":734,"children":735},{},[736],{"type":47,"value":737},"shape",{"type":47,"value":739}," is the same.",{"type":42,"tag":43,"props":741,"children":742},{},[743,745,749,751,755],{"type":47,"value":744},"A marketplace senior is still one person. There's no second engineer who knows your codebase, no code review beyond your own, no one covering when they're out, and — read the fine print — often a conversion fee if you later want to hire them full-time. If your bottleneck was \"I can't find someone senior fast,\" Toptal solves it. If your bottleneck was \"I need something built ",{"type":42,"tag":83,"props":746,"children":747},{},[748],{"type":47,"value":614},{"type":47,"value":750}," maintained ",{"type":42,"tag":83,"props":752,"children":753},{},[754],{"type":47,"value":614},{"type":47,"value":756}," covered when one person is sick,\" a single vetted contractor doesn't solve that. It just solves it well while that one person is around.",{"type":42,"tag":66,"props":758,"children":760},{"id":759},"direct-freelancers-great-until-the-bus-factor",[761],{"type":47,"value":762},"Direct Freelancers — Great, Until the Bus Factor",{"type":42,"tag":43,"props":764,"children":765},{},[766,768,773],{"type":47,"value":767},"Hiring a freelancer directly — someone you found through a referral or worked with before — is often the ",{"type":42,"tag":83,"props":769,"children":770},{},[771],{"type":47,"value":772},"best",{"type":47,"value":774}," value on this list. No platform fee, no markup, a real relationship, and if they're good, they're good.",{"type":42,"tag":43,"props":776,"children":777},{},[778],{"type":47,"value":779},"The catch is the bus factor, and it's always exactly one.",{"type":42,"tag":43,"props":781,"children":782},{},[783],{"type":47,"value":784},"One person's calendar. One person's health. One person's other clients, who are quietly competing with you for their attention. When it works it's the cleanest arrangement there is. When that one person gets a full-time offer mid-project, you find out how much of your product lived only in their head. Continuity has a dollar value, and with a solo freelancer you only see the invoice for it when they're gone.",{"type":42,"tag":66,"props":786,"children":788},{"id":787},"agencies-what-youre-actually-paying-the-markup-for",[789],{"type":47,"value":790},"Agencies — What You're Actually Paying the Markup For",{"type":42,"tag":43,"props":792,"children":793},{},[794,796,801],{"type":47,"value":795},"Here's our bias out loud: we think for core product work, a dedicated agency engineer is usually the best answer. Now here's the honest part, including where we'd tell you ",{"type":42,"tag":83,"props":797,"children":798},{},[799],{"type":47,"value":800},"not",{"type":47,"value":802}," to use us.",{"type":42,"tag":43,"props":804,"children":805},{},[806,808,814,816,821],{"type":47,"value":807},"An agency's rate is higher than a raw freelancer's for a reason, and it's worth naming what the markup actually buys. A ",{"type":42,"tag":328,"props":809,"children":811},{"href":810},"/hire-react-developer/",[812],{"type":47,"value":813},"dedicated engineer",{"type":47,"value":815}," who's yours day to day — not a ticket queue. Code review by a second set of eyes. Someone to cover when your engineer is out. And continuity, so knowledge lives in a team instead of one person's memory. That's the difference between \"React is the easy part\" and the decisions made ",{"type":42,"tag":83,"props":817,"children":818},{},[819],{"type":47,"value":820},"around",{"type":47,"value":822}," React — the state management that won't rot, the tests so the next person can move fast, the pushback when you ask for something that'll hurt you in six months.",{"type":42,"tag":43,"props":824,"children":825},{},[826,828,833,835,841,843,848],{"type":47,"value":827},"But not every agency is built the same, and one question separates the good from the forgettable: ",{"type":42,"tag":58,"props":829,"children":830},{},[831],{"type":47,"value":832},"is this a named engineer you'll know, or a rotating pool?",{"type":47,"value":834}," A rotating pool means you re-explain your product every few weeks and never build the continuity you paid the markup for. We do the former — a dedicated engineer, ",{"type":42,"tag":328,"props":836,"children":838},{"href":837},"/hire-python-developer/",[839],{"type":47,"value":840},"100% code ownership",{"type":47,"value":842}," from day one, and a 2-week embedded trial so you can watch someone work in your codebase ",{"type":42,"tag":83,"props":844,"children":845},{},[846],{"type":47,"value":847},"before",{"type":47,"value":849}," you commit. With 20+ engineers behind them, \"who covers when they're out\" has a real answer.",{"type":42,"tag":43,"props":851,"children":852},{},[853,855,861],{"type":47,"value":854},"And if the honest answer for your situation is a freelancer? We'll tell you that. This isn't a new argument for us — we wrote the fuller, stack-agnostic version in ",{"type":42,"tag":328,"props":856,"children":858},{"href":857},"/blog/freelancer-vs-agency-software-development/",[859],{"type":47,"value":860},"freelancer vs. agency for software development",{"type":47,"value":862},". This post is the platform-and-stack-specific cut of the same honesty.",{"type":42,"tag":66,"props":864,"children":866},{"id":865},"pick-by-scenario",[867],{"type":47,"value":868},"Pick by Scenario",{"type":42,"tag":43,"props":870,"children":871},{},[872],{"type":47,"value":873},"Forget the labels for a second. Match the option to the job.",{"type":42,"tag":43,"props":875,"children":876},{},[877,882,884,888],{"type":42,"tag":58,"props":878,"children":879},{},[880],{"type":47,"value":881},"The throwaway task.",{"type":47,"value":883}," A script, a bug fix, a landing page, a one-week React component. Something you could sanity-check yourself. Use Upwork, Fiverr, or a direct freelancer — and keep it small. Do ",{"type":42,"tag":83,"props":885,"children":886},{},[887],{"type":47,"value":800},{"type":47,"value":889}," let a throwaway hire quietly become your core codebase. That drift is how most of the messes we clean up started.",{"type":42,"tag":43,"props":891,"children":892},{},[893,898,900,904,905,909],{"type":42,"tag":58,"props":894,"children":895},{},[896],{"type":47,"value":897},"The core product.",{"type":47,"value":899}," The thing your company actually is — the React app your users live in, the Python service your revenue runs through. This needs to be built well ",{"type":42,"tag":83,"props":901,"children":902},{},[903],{"type":47,"value":614},{"type":47,"value":750},{"type":42,"tag":83,"props":906,"children":907},{},[908],{"type":47,"value":614},{"type":47,"value":910}," survive one person's vacation. A dedicated agency engineer or a serious in-house hire. This is the wrong place to optimize for the lowest hourly rate; it's the place a $20/hr developer becomes your most expensive line item.",{"type":42,"tag":43,"props":912,"children":913},{},[914,919,921,926,928,934],{"type":42,"tag":58,"props":915,"children":916},{},[917],{"type":47,"value":918},"The scaling team.",{"type":47,"value":920}," You've got product-market fit and you need to add capacity ",{"type":42,"tag":83,"props":922,"children":923},{},[924],{"type":47,"value":925},"now",{"type":47,"value":927}," without a six-month hiring detour. A vetted marketplace senior can plug a gap fast. A dedicated agency team scales up and down without the hire-and-fire whiplash. We wrote a whole honest guide on this in ",{"type":42,"tag":328,"props":929,"children":931},{"href":930},"/blog/hire-developers-startup/",[932],{"type":47,"value":933},"how to hire developers for your startup",{"type":47,"value":935}," — worth a read before you scale.",{"type":42,"tag":66,"props":937,"children":939},{"id":938},"what-to-ask-before-you-pay-anyone",[940],{"type":47,"value":941},"What to Ask Before You Pay Anyone",{"type":42,"tag":43,"props":943,"children":944},{},[945],{"type":47,"value":946},"Freelancer, marketplace, or agency — these four questions surface most of the risk before your money's gone:",{"type":42,"tag":43,"props":948,"children":949},{},[950,955],{"type":42,"tag":58,"props":951,"children":952},{},[953],{"type":47,"value":954},"Will I get the same person start to finish?",{"type":47,"value":956}," Rotating developers means re-explaining your product on a loop. You want someone who'll know your codebase by name.",{"type":42,"tag":43,"props":958,"children":959},{},[960,965],{"type":42,"tag":58,"props":961,"children":962},{},[963],{"type":47,"value":964},"How do you vet for judgment, not just syntax?",{"type":47,"value":966}," Anyone can pass a React quiz or a Django trivia round. You're hiring for the decisions, not the flashcards.",{"type":42,"tag":43,"props":968,"children":969},{},[970,975],{"type":42,"tag":58,"props":971,"children":972},{},[973],{"type":47,"value":974},"Who owns the code?",{"type":47,"value":976}," You should own 100% of it from day one — no proprietary frameworks, no lock-in. If you ever want to bring it in-house, it should be ready to walk.",{"type":42,"tag":43,"props":978,"children":979},{},[980,985],{"type":42,"tag":58,"props":981,"children":982},{},[983],{"type":47,"value":984},"What's the real timezone overlap?",{"type":47,"value":986}," \"We work your hours\" should come with a number. Ask for the specific hours of live overlap, and treat a vague answer as an answer.",{"type":42,"tag":43,"props":988,"children":989},{},[990,995],{"type":42,"tag":58,"props":991,"children":992},{},[993],{"type":47,"value":994},"And — cheap insurance — can I start with a trial?",{"type":47,"value":996}," A paid trial task or a couple of embedded weeks tells you more than any interview. It's the single best predictor of whether the next six months will go well.",{"type":42,"tag":66,"props":998,"children":1000},{"id":999},"want-an-honest-read-on-your-situation",[1001],{"type":47,"value":1002},"Want an Honest Read on Your Situation?",{"type":42,"tag":43,"props":1004,"children":1005},{},[1006],{"type":47,"value":1007},"Tell us what you're building and we'll give you a straight answer on team shape, rate, and timeline — not a sales pitch. If a freelancer or a marketplace is genuinely the better call for what you need, we'll say so.",{"type":42,"tag":43,"props":1009,"children":1010},{},[1011,1019,1021,1026,1027,1032],{"type":42,"tag":328,"props":1012,"children":1016},{"href":1013,"rel":1014},"https://calendar.app.google/gbT42VeCDd7ioXh79",[1015],"nofollow",[1017],{"type":47,"value":1018},"Book a Call",{"type":47,"value":1020}," or see how our dedicated ",{"type":42,"tag":328,"props":1022,"children":1023},{"href":810},[1024],{"type":47,"value":1025},"React",{"type":47,"value":359},{"type":42,"tag":328,"props":1028,"children":1029},{"href":837},[1030],{"type":47,"value":1031},"Python",{"type":47,"value":1033}," developers work.",{"type":42,"tag":1035,"props":1036,"children":1037},"hr",{},[],{"type":42,"tag":43,"props":1039,"children":1040},{},[1041],{"type":42,"tag":83,"props":1042,"children":1043},{},[1044,1045,1050,1052,1057,1058],{"type":47,"value":419},{"type":42,"tag":328,"props":1046,"children":1047},{"href":857},[1048],{"type":47,"value":1049},"Freelancer vs. Agency for Software Development",{"type":47,"value":1051}," | ",{"type":42,"tag":328,"props":1053,"children":1054},{"href":930},[1055],{"type":47,"value":1056},"How to Hire Developers for Your Startup Without Getting Burned",{"type":47,"value":1051},{"type":42,"tag":328,"props":1059,"children":1061},{"href":1060},"/blog/hire-react-developer-cost/",[1062],{"type":47,"value":1063},"What React Developers Actually Cost in 2026",{"title":7,"searchDepth":444,"depth":444,"links":1065},[1066,1067,1068,1069,1070,1071,1072,1073],{"id":501,"depth":444,"text":504},{"id":675,"depth":444,"text":678},{"id":719,"depth":444,"text":722},{"id":759,"depth":444,"text":762},{"id":787,"depth":444,"text":790},{"id":865,"depth":444,"text":868},{"id":938,"depth":444,"text":941},{"id":999,"depth":444,"text":1002},"content:blog:freelancer-upwork-or-agency.md","blog/freelancer-upwork-or-agency.md","blog/freelancer-upwork-or-agency",{"_path":1078,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1079,"description":1080,"topic":11,"author":12,"authorProfile":13,"coverImg":1081,"coverImgAlt":1082,"published":16,"createdAt":1083,"updatedAt":1084,"keywords":1085,"body":1092,"_type":459,"_id":1972,"_source":461,"_file":1973,"_stem":1974,"_extension":464},"/blog/freelancer-vs-agency-software-development","Freelancer vs. Agency for Software Development: An Honest Comparison","Freelancer or agency for your software project? We break down the real trade-offs -- cost, risk, quality, and long-term outcomes -- with honest advice.","/images/blog/freelancer-vs-agency.webp","Freelancer vs Agency for software development — an honest comparison of trade-offs","2026-04-15","2026-04-20",[1086,1087,1088,1089,1090,1091],"freelancer vs agency software development","freelancer vs development agency","hire freelancer or agency for app","freelancer vs software development company","freelancer vs agency for startup","should I hire freelancer or agency",{"type":39,"children":1093,"toc":1952},[1094,1099,1104,1109,1115,1120,1125,1130,1135,1141,1146,1152,1162,1172,1182,1192,1202,1208,1218,1228,1238,1248,1254,1259,1269,1279,1289,1299,1309,1315,1320,1326,1336,1346,1363,1373,1383,1389,1399,1409,1419,1429,1446,1452,1457,1467,1477,1487,1497,1507,1513,1518,1523,1533,1551,1560,1570,1575,1581,1586,1759,1769,1775,1780,1786,1839,1845,1908,1914,1919,1924,1937,1942,1947],{"type":42,"tag":43,"props":1095,"children":1096},{},[1097],{"type":47,"value":1098},"Let's start with a disclosure: we're an agency. We have a stake in this comparison, and pretending otherwise would be dishonest.",{"type":42,"tag":43,"props":1100,"children":1101},{},[1102],{"type":47,"value":1103},"So here's our commitment for this article: we're going to make the genuine case for freelancers, the genuine case for agencies, and then talk about what actually matters -- which is neither the label nor the pricing model, but whether the people building your product care about the outcome.",{"type":42,"tag":43,"props":1105,"children":1106},{},[1107],{"type":47,"value":1108},"We've worked with great freelancers. We've recommended freelancers to prospects when they were the better fit. We've also seen freelancer engagements go badly, the same way we've seen agency engagements go badly. The model isn't the problem. The fit is.",{"type":42,"tag":66,"props":1110,"children":1112},{"id":1111},"why-this-comparison-is-harder-than-it-looks",[1113],{"type":47,"value":1114},"Why This Comparison Is Harder Than It Looks",{"type":42,"tag":43,"props":1116,"children":1117},{},[1118],{"type":47,"value":1119},"Every version of this article you'll find online follows the same formula: list freelancer pros, list freelancer cons, list agency pros, list agency cons, conclude that agencies are better for \"serious\" projects. Convenient, since they're all written by agencies.",{"type":42,"tag":43,"props":1121,"children":1122},{},[1123],{"type":47,"value":1124},"The reality is messier.",{"type":42,"tag":43,"props":1126,"children":1127},{},[1128],{"type":47,"value":1129},"A brilliant freelancer who understands your product will outperform a mediocre agency every time. A well-run agency will outperform a brilliant freelancer on complex, multi-disciplinary projects. And a bad version of either will cost you months.",{"type":42,"tag":43,"props":1131,"children":1132},{},[1133],{"type":47,"value":1134},"The question isn't \"freelancer or agency?\" The question is: what does your project actually need, and what kind of relationship will get you there?",{"type":42,"tag":66,"props":1136,"children":1138},{"id":1137},"the-honest-case-for-freelancers",[1139],{"type":47,"value":1140},"The Honest Case for Freelancers",{"type":42,"tag":43,"props":1142,"children":1143},{},[1144],{"type":47,"value":1145},"We mean this sincerely. There are situations where a freelancer is the right choice -- even over us.",{"type":42,"tag":375,"props":1147,"children":1149},{"id":1148},"when-freelancers-are-the-right-choice",[1150],{"type":47,"value":1151},"When Freelancers Are the Right Choice",{"type":42,"tag":43,"props":1153,"children":1154},{},[1155,1160],{"type":42,"tag":58,"props":1156,"children":1157},{},[1158],{"type":47,"value":1159},"You have a clearly defined, scoped task.",{"type":47,"value":1161}," You need a React Native developer to build a specific feature. You need a backend engineer to set up your API gateway. The scope is clear, the tech is defined, and you have someone internally who can review the work.",{"type":42,"tag":43,"props":1163,"children":1164},{},[1165,1170],{"type":42,"tag":58,"props":1166,"children":1167},{},[1168],{"type":47,"value":1169},"You have internal product and technical oversight.",{"type":47,"value":1171}," If you have a CTO or technical co-founder who can define requirements, review code, and manage the relationship, a freelancer can slot into that structure efficiently.",{"type":42,"tag":43,"props":1173,"children":1174},{},[1175,1180],{"type":42,"tag":58,"props":1176,"children":1177},{},[1178],{"type":47,"value":1179},"You need specialized expertise for a short engagement.",{"type":47,"value":1181}," You need a machine learning engineer for 6 weeks to build a recommendation model. You need a DevOps specialist to set up your CI/CD pipeline. Agencies often don't have this kind of niche specialization available on short notice.",{"type":42,"tag":43,"props":1183,"children":1184},{},[1185,1190],{"type":42,"tag":58,"props":1186,"children":1187},{},[1188],{"type":47,"value":1189},"Budget is tight and you can manage the project yourself.",{"type":47,"value":1191}," Early-stage startups with technical founders often get better value from freelancers. You're paying for code, not process, and you have the technical judgment to evaluate quality.",{"type":42,"tag":43,"props":1193,"children":1194},{},[1195,1200],{"type":42,"tag":58,"props":1196,"children":1197},{},[1198],{"type":47,"value":1199},"The project is lower-risk.",{"type":47,"value":1201}," A marketing site. An internal dashboard. A prototype you might throw away. When the stakes are lower, the risk profile of a solo practitioner is more acceptable.",{"type":42,"tag":375,"props":1203,"children":1205},{"id":1204},"what-freelancers-do-well",[1206],{"type":47,"value":1207},"What Freelancers Do Well",{"type":42,"tag":43,"props":1209,"children":1210},{},[1211,1216],{"type":42,"tag":58,"props":1212,"children":1213},{},[1214],{"type":47,"value":1215},"Direct communication.",{"type":47,"value":1217}," No account managers, no project managers relaying your messages. You talk to the person writing the code. There's no game of telephone.",{"type":42,"tag":43,"props":1219,"children":1220},{},[1221,1226],{"type":42,"tag":58,"props":1222,"children":1223},{},[1224],{"type":47,"value":1225},"Cost efficiency for defined work.",{"type":47,"value":1227}," For small, well-scoped projects, freelancers are often 30-50% less expensive than agencies. You're not paying for the infrastructure around the developer -- the PM, the QA engineer, the overhead.",{"type":42,"tag":43,"props":1229,"children":1230},{},[1231,1236],{"type":42,"tag":58,"props":1232,"children":1233},{},[1234],{"type":47,"value":1235},"Speed for specific tasks.",{"type":47,"value":1237}," A freelancer can start tomorrow. No onboarding process, no team assembly, no kickoff meetings. For urgent, contained tasks, this speed matters.",{"type":42,"tag":43,"props":1239,"children":1240},{},[1241,1246],{"type":42,"tag":58,"props":1242,"children":1243},{},[1244],{"type":47,"value":1245},"Access to niche skills.",{"type":47,"value":1247}," Need a Solidity developer? A Rust specialist? An accessibility auditor? The freelancer market often has specialists that generalist agencies don't.",{"type":42,"tag":375,"props":1249,"children":1251},{"id":1250},"where-freelancers-struggle",[1252],{"type":47,"value":1253},"Where Freelancers Struggle",{"type":42,"tag":43,"props":1255,"children":1256},{},[1257],{"type":47,"value":1258},"Being honest about freelancers means being honest about the risks too.",{"type":42,"tag":43,"props":1260,"children":1261},{},[1262,1267],{"type":42,"tag":58,"props":1263,"children":1264},{},[1265],{"type":47,"value":1266},"Single point of failure.",{"type":47,"value":1268}," If your freelancer gets sick, takes another contract, or disappears (it happens more than anyone admits), your project stops. There's no backup.",{"type":42,"tag":43,"props":1270,"children":1271},{},[1272,1277],{"type":42,"tag":58,"props":1273,"children":1274},{},[1275],{"type":47,"value":1276},"No second pair of eyes.",{"type":47,"value":1278}," A freelancer writes code, reviews their own code, and deploys their own code. There's no QA process, no code review from a peer, no architectural challenge from a senior engineer. Bugs that a second person would catch in review make it to production.",{"type":42,"tag":43,"props":1280,"children":1281},{},[1282,1287],{"type":42,"tag":58,"props":1283,"children":1284},{},[1285],{"type":47,"value":1286},"Knowledge concentration.",{"type":47,"value":1288}," Everything about your project lives in one person's head. If they leave -- even on good terms -- onboarding their replacement means reverse-engineering their decisions.",{"type":42,"tag":43,"props":1290,"children":1291},{},[1292,1297],{"type":42,"tag":58,"props":1293,"children":1294},{},[1295],{"type":47,"value":1296},"Scaling is hard.",{"type":47,"value":1298}," Your project grows. You need a second developer. Now you're managing two freelancers who don't know each other's code, have different coding styles, and might not agree on architecture. You've become the project manager of a dysfunctional team.",{"type":42,"tag":43,"props":1300,"children":1301},{},[1302,1307],{"type":42,"tag":58,"props":1303,"children":1304},{},[1305],{"type":47,"value":1306},"Continuity risk.",{"type":47,"value":1308}," Freelancers take contracts. When yours ends, they take the next one. Coming back to your project six months later means re-learning context they've already forgotten.",{"type":42,"tag":66,"props":1310,"children":1312},{"id":1311},"the-honest-case-for-agencies",[1313],{"type":47,"value":1314},"The Honest Case for Agencies",{"type":42,"tag":43,"props":1316,"children":1317},{},[1318],{"type":47,"value":1319},"Now the part where we might be biased. We'll try not to be.",{"type":42,"tag":375,"props":1321,"children":1323},{"id":1322},"when-an-agency-is-the-right-choice",[1324],{"type":47,"value":1325},"When an Agency Is the Right Choice",{"type":42,"tag":43,"props":1327,"children":1328},{},[1329,1334],{"type":42,"tag":58,"props":1330,"children":1331},{},[1332],{"type":47,"value":1333},"You're building a core product.",{"type":47,"value":1335}," Not a feature, not a prototype -- the actual product your business will run on. Products require multiple disciplines (frontend, backend, DevOps, QA) working together with shared context.",{"type":42,"tag":43,"props":1337,"children":1338},{},[1339,1344],{"type":42,"tag":58,"props":1340,"children":1341},{},[1342],{"type":47,"value":1343},"You need continuity over months or years.",{"type":47,"value":1345}," If your product will be in development for 6+ months, you need a team that can maintain context across that timeline. An agency that assigns a dedicated team provides that continuity.",{"type":42,"tag":43,"props":1347,"children":1348},{},[1349,1354,1356,1361],{"type":42,"tag":58,"props":1350,"children":1351},{},[1352],{"type":47,"value":1353},"You don't have internal technical leadership.",{"type":47,"value":1355}," If you're a non-technical founder, you need more than code. You need someone to ",{"type":42,"tag":328,"props":1357,"children":1358},{"href":930},[1359],{"type":47,"value":1360},"help you make technical decisions",{"type":47,"value":1362},", challenge your assumptions, and translate between your vision and the engineering reality. A solo freelancer might write good code but won't necessarily guide your product decisions.",{"type":42,"tag":43,"props":1364,"children":1365},{},[1366,1371],{"type":42,"tag":58,"props":1367,"children":1368},{},[1369],{"type":47,"value":1370},"The project is high-stakes.",{"type":47,"value":1372}," Investor demos. Production systems with real users. Revenue-critical features. When failure has real consequences, the redundancy and process that a team provides isn't overhead -- it's insurance.",{"type":42,"tag":43,"props":1374,"children":1375},{},[1376,1381],{"type":42,"tag":58,"props":1377,"children":1378},{},[1379],{"type":47,"value":1380},"You need multiple skill sets working in coordination.",{"type":47,"value":1382}," Frontend, backend, database design, DevOps, QA. A single freelancer who claims to do all of these is either exceptional or spreading themselves too thin. A team brings specialists who collaborate.",{"type":42,"tag":375,"props":1384,"children":1386},{"id":1385},"what-agencies-do-well",[1387],{"type":47,"value":1388},"What Agencies Do Well",{"type":42,"tag":43,"props":1390,"children":1391},{},[1392,1397],{"type":42,"tag":58,"props":1393,"children":1394},{},[1395],{"type":47,"value":1396},"Team depth.",{"type":47,"value":1398}," When your backend developer is blocked, your frontend developer keeps shipping. When someone goes on vacation, the project doesn't stop. Specialization and redundancy work together.",{"type":42,"tag":43,"props":1400,"children":1401},{},[1402,1407],{"type":42,"tag":58,"props":1403,"children":1404},{},[1405],{"type":47,"value":1406},"Process and accountability.",{"type":47,"value":1408}," Code reviews, QA testing, sprint planning, regular demos. These aren't bureaucracy for its own sake -- they catch bugs earlier, keep scope under control, and make sure you see progress regularly.",{"type":42,"tag":43,"props":1410,"children":1411},{},[1412,1417],{"type":42,"tag":58,"props":1413,"children":1414},{},[1415],{"type":47,"value":1416},"Continuity.",{"type":47,"value":1418}," If one engineer leaves, the team's shared knowledge keeps the project moving. No single person is a bottleneck.",{"type":42,"tag":43,"props":1420,"children":1421},{},[1422,1427],{"type":42,"tag":58,"props":1423,"children":1424},{},[1425],{"type":47,"value":1426},"Scalability.",{"type":47,"value":1428}," Need to ramp up for a launch? Need to scale down after an initial build? An agency can flex the team size without you having to find, vet, and onboard new people.",{"type":42,"tag":43,"props":1430,"children":1431},{},[1432,1437,1439,1445],{"type":42,"tag":58,"props":1433,"children":1434},{},[1435],{"type":47,"value":1436},"Documentation and standards.",{"type":47,"value":1438}," A well-run agency has established practices for code quality, documentation, and handoff. These aren't nice-to-haves -- they're what make your codebase ",{"type":42,"tag":328,"props":1440,"children":1442},{"href":1441},"/blog/staff-augmentation-vs-outsourcing/",[1443],{"type":47,"value":1444},"something you can actually take ownership of",{"type":47,"value":442},{"type":42,"tag":375,"props":1447,"children":1449},{"id":1448},"where-agencies-struggle-yes-agencies-fail-too",[1450],{"type":47,"value":1451},"Where Agencies Struggle (Yes, Agencies Fail Too)",{"type":42,"tag":43,"props":1453,"children":1454},{},[1455],{"type":47,"value":1456},"Here's the part most agency-written articles skip.",{"type":42,"tag":43,"props":1458,"children":1459},{},[1460,1465],{"type":42,"tag":58,"props":1461,"children":1462},{},[1463],{"type":47,"value":1464},"Higher cost for simple projects.",{"type":47,"value":1466}," If you need a single developer for a 3-week task, paying for an agency's PM, QA, and overhead doesn't make sense. You're paying for infrastructure you don't need.",{"type":42,"tag":43,"props":1468,"children":1469},{},[1470,1475],{"type":42,"tag":58,"props":1471,"children":1472},{},[1473],{"type":47,"value":1474},"Communication layers.",{"type":47,"value":1476}," Some agencies put account managers and project managers between you and the engineers. What you say gets filtered. What the engineers need to tell you gets filtered. Important nuance gets lost.",{"type":42,"tag":43,"props":1478,"children":1479},{},[1480,1485],{"type":42,"tag":58,"props":1481,"children":1482},{},[1483],{"type":47,"value":1484},"The \"body shop\" problem.",{"type":47,"value":1486}," Some agencies -- especially larger ones -- treat developers as interchangeable resources. They rotate people on and off projects based on availability, not fit. You end up re-explaining your product every few weeks.",{"type":42,"tag":43,"props":1488,"children":1489},{},[1490,1495],{"type":42,"tag":58,"props":1491,"children":1492},{},[1493],{"type":47,"value":1494},"Over-engineering for billable hours.",{"type":47,"value":1496}," We wish this weren't a thing. But some agencies recommend complex solutions not because the project needs them, but because complex solutions generate more revenue. This is a trust problem, not an agency problem -- but it happens often enough to be worth naming.",{"type":42,"tag":43,"props":1498,"children":1499},{},[1500,1505],{"type":42,"tag":58,"props":1501,"children":1502},{},[1503],{"type":47,"value":1504},"Feeling like a number.",{"type":47,"value":1506}," At a large agency, your project might be one of fifty. The account manager is friendly, but the engineers don't know your name, your business, or your users. The work gets done, but nobody's thinking about your product at 2 AM because they genuinely care about the outcome.",{"type":42,"tag":66,"props":1508,"children":1510},{"id":1509},"the-question-nobody-asks-what-kind-of-agency",[1511],{"type":47,"value":1512},"The Question Nobody Asks: What Kind of Agency?",{"type":42,"tag":43,"props":1514,"children":1515},{},[1516],{"type":47,"value":1517},"This is where most comparison articles fall short. They treat \"agency\" as a single category, when the reality is that a 200-person offshore development company and a 20-person product engineering team have almost nothing in common.",{"type":42,"tag":43,"props":1519,"children":1520},{},[1521],{"type":47,"value":1522},"The variables that matter:",{"type":42,"tag":43,"props":1524,"children":1525},{},[1526,1531],{"type":42,"tag":58,"props":1527,"children":1528},{},[1529],{"type":47,"value":1530},"Size.",{"type":47,"value":1532}," At a 200-person agency, you're an account number. At a 20-person team, you know the engineers by name and they know your product. There's no buffer of middle managers between you and the people doing the work.",{"type":42,"tag":43,"props":1534,"children":1535},{},[1536,1541,1543,1549],{"type":42,"tag":58,"props":1537,"children":1538},{},[1539],{"type":47,"value":1540},"Ownership mindset.",{"type":47,"value":1542}," Does the agency build products like they're building their own? Or are they executing specs for billable hours? This is the hardest thing to evaluate, but it's the most important. Teams that have ",{"type":42,"tag":328,"props":1544,"children":1546},{"href":1545},"/blog/why-we-built-formester/",[1547],{"type":47,"value":1548},"built their own products",{"type":47,"value":1550}," tend to think differently about yours.",{"type":42,"tag":43,"props":1552,"children":1553},{},[1554,1558],{"type":42,"tag":58,"props":1555,"children":1556},{},[1557],{"type":47,"value":1416},{"type":47,"value":1559}," Ask: will the same engineers be on my project in six months? If the answer is \"we'll do our best\" or \"it depends on availability,\" you're at a body shop with a nicer website.",{"type":42,"tag":43,"props":1561,"children":1562},{},[1563,1568],{"type":42,"tag":58,"props":1564,"children":1565},{},[1566],{"type":47,"value":1567},"Post-delivery relationship.",{"type":47,"value":1569}," Does the engagement end at delivery, or does the team stay to iterate? PerformLine started with one of our engineers. Two years later, we have 8+ across their product. That happened because the relationship was built on trust, not a contract with a termination clause.",{"type":42,"tag":43,"props":1571,"children":1572},{},[1573],{"type":47,"value":1574},"The uncomfortable truth is that a bad agency experience can be worse than a bad freelancer experience. At least with a freelancer, you're only out the cost of one person. A bad agency can burn through your runway faster and leave you with a codebase that needs rewriting.",{"type":42,"tag":66,"props":1576,"children":1578},{"id":1577},"a-decision-framework-that-actually-helps",[1579],{"type":47,"value":1580},"A Decision Framework That Actually Helps",{"type":42,"tag":43,"props":1582,"children":1583},{},[1584],{"type":47,"value":1585},"Instead of generic advice, here's a framework based on specific project characteristics.",{"type":42,"tag":511,"props":1587,"children":1588},{},[1589,1610],{"type":42,"tag":515,"props":1590,"children":1591},{},[1592],{"type":42,"tag":519,"props":1593,"children":1594},{},[1595,1600,1605],{"type":42,"tag":523,"props":1596,"children":1597},{},[1598],{"type":47,"value":1599},"Your Situation",{"type":42,"tag":523,"props":1601,"children":1602},{},[1603],{"type":47,"value":1604},"Recommendation",{"type":42,"tag":523,"props":1606,"children":1607},{},[1608],{"type":47,"value":1609},"Why",{"type":42,"tag":539,"props":1611,"children":1612},{},[1613,1631,1649,1667,1684,1702,1725,1742],{"type":42,"tag":519,"props":1614,"children":1615},{},[1616,1621,1626],{"type":42,"tag":546,"props":1617,"children":1618},{},[1619],{"type":47,"value":1620},"Small, defined task with internal tech oversight",{"type":42,"tag":546,"props":1622,"children":1623},{},[1624],{"type":47,"value":1625},"Freelancer",{"type":42,"tag":546,"props":1627,"children":1628},{},[1629],{"type":47,"value":1630},"Lower cost, direct communication, no overhead needed",{"type":42,"tag":519,"props":1632,"children":1633},{},[1634,1639,1644],{"type":42,"tag":546,"props":1635,"children":1636},{},[1637],{"type":47,"value":1638},"Full product build, 3+ months, no internal CTO",{"type":42,"tag":546,"props":1640,"children":1641},{},[1642],{"type":47,"value":1643},"Agency (product-focused)",{"type":42,"tag":546,"props":1645,"children":1646},{},[1647],{"type":47,"value":1648},"You need technical guidance, not just code",{"type":42,"tag":519,"props":1650,"children":1651},{},[1652,1657,1662],{"type":42,"tag":546,"props":1653,"children":1654},{},[1655],{"type":47,"value":1656},"Specialized short-term need (ML model, DevOps setup)",{"type":42,"tag":546,"props":1658,"children":1659},{},[1660],{"type":47,"value":1661},"Freelancer (specialist)",{"type":42,"tag":546,"props":1663,"children":1664},{},[1665],{"type":47,"value":1666},"Agencies rarely have niche specialists available on demand",{"type":42,"tag":519,"props":1668,"children":1669},{},[1670,1675,1679],{"type":42,"tag":546,"props":1671,"children":1672},{},[1673],{"type":47,"value":1674},"Core product, high-stakes (investor demo, production)",{"type":42,"tag":546,"props":1676,"children":1677},{},[1678],{"type":47,"value":1643},{"type":42,"tag":546,"props":1680,"children":1681},{},[1682],{"type":47,"value":1683},"Redundancy, process, and multi-discipline coordination matter",{"type":42,"tag":519,"props":1685,"children":1686},{},[1687,1692,1697],{"type":42,"tag":546,"props":1688,"children":1689},{},[1690],{"type":47,"value":1691},"Ongoing maintenance of stable product",{"type":42,"tag":546,"props":1693,"children":1694},{},[1695],{"type":47,"value":1696},"Either",{"type":42,"tag":546,"props":1698,"children":1699},{},[1700],{"type":47,"value":1701},"Depends on complexity and internal capacity",{"type":42,"tag":519,"props":1703,"children":1704},{},[1705,1710,1715],{"type":42,"tag":546,"props":1706,"children":1707},{},[1708],{"type":47,"value":1709},"Rapid scaling needed (3+ developers within a month)",{"type":42,"tag":546,"props":1711,"children":1712},{},[1713],{"type":47,"value":1714},"Agency",{"type":42,"tag":546,"props":1716,"children":1717},{},[1718,1723],{"type":42,"tag":328,"props":1719,"children":1720},{"href":1441},[1721],{"type":47,"value":1722},"Augmentation models",{"type":47,"value":1724}," let you scale without individual hiring",{"type":42,"tag":519,"props":1726,"children":1727},{},[1728,1733,1737],{"type":42,"tag":546,"props":1729,"children":1730},{},[1731],{"type":47,"value":1732},"Budget under $15K, technical founder",{"type":42,"tag":546,"props":1734,"children":1735},{},[1736],{"type":47,"value":1625},{"type":42,"tag":546,"props":1738,"children":1739},{},[1740],{"type":47,"value":1741},"You can manage the relationship and evaluate the code yourself",{"type":42,"tag":519,"props":1743,"children":1744},{},[1745,1750,1754],{"type":42,"tag":546,"props":1746,"children":1747},{},[1748],{"type":47,"value":1749},"Budget $50K+, non-technical founder",{"type":42,"tag":546,"props":1751,"children":1752},{},[1753],{"type":47,"value":1714},{"type":42,"tag":546,"props":1755,"children":1756},{},[1757],{"type":47,"value":1758},"The investment warrants the process and protection",{"type":42,"tag":43,"props":1760,"children":1761},{},[1762,1767],{"type":42,"tag":58,"props":1763,"children":1764},{},[1765],{"type":47,"value":1766},"The hybrid model.",{"type":47,"value":1768}," Some projects benefit from combining both. An agency for core product development, and freelancers for specialized tasks (design, copywriting, specific integrations). This works well when the agency is open to collaborating with external contributors.",{"type":42,"tag":66,"props":1770,"children":1772},{"id":1771},"red-flags-for-each-option",[1773],{"type":47,"value":1774},"Red Flags for Each Option",{"type":42,"tag":43,"props":1776,"children":1777},{},[1778],{"type":47,"value":1779},"Regardless of which direction you go, watch for these.",{"type":42,"tag":375,"props":1781,"children":1783},{"id":1782},"freelancer-red-flags",[1784],{"type":47,"value":1785},"Freelancer Red Flags",{"type":42,"tag":119,"props":1787,"children":1788},{},[1789,1799,1809,1819,1829],{"type":42,"tag":123,"props":1790,"children":1791},{},[1792,1797],{"type":42,"tag":58,"props":1793,"children":1794},{},[1795],{"type":47,"value":1796},"Can't show previous client references.",{"type":47,"value":1798}," Experienced freelancers have happy clients who will vouch for them.",{"type":42,"tag":123,"props":1800,"children":1801},{},[1802,1807],{"type":42,"tag":58,"props":1803,"children":1804},{},[1805],{"type":47,"value":1806},"Resistant to code reviews.",{"type":47,"value":1808}," If they don't want anyone else looking at their code, ask yourself why.",{"type":42,"tag":123,"props":1810,"children":1811},{},[1812,1817],{"type":42,"tag":58,"props":1813,"children":1814},{},[1815],{"type":47,"value":1816},"No version control.",{"type":47,"value":1818}," If they're not using Git with meaningful commit history, walk away.",{"type":42,"tag":123,"props":1820,"children":1821},{},[1822,1827],{"type":42,"tag":58,"props":1823,"children":1824},{},[1825],{"type":47,"value":1826},"Promises unrealistic timelines.",{"type":47,"value":1828}," \"I can build your entire app in 2 weeks\" is not confidence. It's a warning sign.",{"type":42,"tag":123,"props":1830,"children":1831},{},[1832,1837],{"type":42,"tag":58,"props":1833,"children":1834},{},[1835],{"type":47,"value":1836},"No questions about your product.",{"type":47,"value":1838}," A freelancer who starts coding without understanding your users or business is building to a spec, not to an outcome.",{"type":42,"tag":375,"props":1840,"children":1842},{"id":1841},"agency-red-flags",[1843],{"type":47,"value":1844},"Agency Red Flags",{"type":42,"tag":119,"props":1846,"children":1847},{},[1848,1858,1868,1878,1888,1898],{"type":42,"tag":123,"props":1849,"children":1850},{},[1851,1856],{"type":42,"tag":58,"props":1852,"children":1853},{},[1854],{"type":47,"value":1855},"Can't introduce you to the engineers.",{"type":47,"value":1857}," If you only ever talk to the sales team, you don't know who's building your product.",{"type":42,"tag":123,"props":1859,"children":1860},{},[1861,1866],{"type":42,"tag":58,"props":1862,"children":1863},{},[1864],{"type":47,"value":1865},"Rotating developers.",{"type":47,"value":1867}," \"We had to swap your backend developer\" more than once means you're at a body shop.",{"type":42,"tag":123,"props":1869,"children":1870},{},[1871,1876],{"type":42,"tag":58,"props":1872,"children":1873},{},[1874],{"type":47,"value":1875},"No transparent process.",{"type":47,"value":1877}," You should see working software every 1-2 weeks. If you go a month without a demo, something is wrong.",{"type":42,"tag":123,"props":1879,"children":1880},{},[1881,1886],{"type":42,"tag":58,"props":1882,"children":1883},{},[1884],{"type":47,"value":1885},"Won't discuss code ownership.",{"type":47,"value":1887}," This should be explicit in the contract. Any hesitation is a sign.",{"type":42,"tag":123,"props":1889,"children":1890},{},[1891,1896],{"type":42,"tag":58,"props":1892,"children":1893},{},[1894],{"type":47,"value":1895},"\"We'll figure out the team after you sign.\"",{"type":47,"value":1897}," You should know exactly who's working on your project before the contract is signed.",{"type":42,"tag":123,"props":1899,"children":1900},{},[1901,1906],{"type":42,"tag":58,"props":1902,"children":1903},{},[1904],{"type":47,"value":1905},"They agree to everything.",{"type":47,"value":1907}," An agency that never pushes back on scope, timeline, or approach isn't thinking about your outcome. They're thinking about closing the deal.",{"type":42,"tag":66,"props":1909,"children":1911},{"id":1910},"our-perspective-since-were-being-honest",[1912],{"type":47,"value":1913},"Our Perspective (Since We're Being Honest)",{"type":42,"tag":43,"props":1915,"children":1916},{},[1917],{"type":47,"value":1918},"We're an agency. We believe in the agency model for product development -- because building a real product takes a team, and a team that works together consistently produces better outcomes than a rotating cast of individuals.",{"type":42,"tag":43,"props":1920,"children":1921},{},[1922],{"type":47,"value":1923},"But we also know the agency model has earned some of its bad reputation. Too many agencies treat developers as interchangeable, charge for process that doesn't add value, and disappear after delivery.",{"type":42,"tag":43,"props":1925,"children":1926},{},[1927,1929,1935],{"type":47,"value":1928},"That's not us. We're 20+ engineers. The people you meet during the sales process are the people who build your product. We don't rotate developers. We don't pad timelines. We ",{"type":42,"tag":328,"props":1930,"children":1932},{"href":1931},"/blog/mvp-development-cost/",[1933],{"type":47,"value":1934},"tell you honestly",{"type":47,"value":1936}," what you need and what can wait.",{"type":42,"tag":43,"props":1938,"children":1939},{},[1940],{"type":47,"value":1941},"We've also recommended freelancers to prospects when they were the better fit. A startup with a technical CTO who needs one React developer for a 4-week project doesn't need us. They need a great freelancer and we'll say so.",{"type":42,"tag":43,"props":1943,"children":1944},{},[1945],{"type":47,"value":1946},"What matters isn't the model. It's whether the people building your product care about the outcome as much as you do. That's what we optimize for -- and it's what you should optimize for, regardless of whether you choose a freelancer or an agency.",{"type":42,"tag":43,"props":1948,"children":1949},{},[1950],{"type":47,"value":1951},"Not sure which model is right for your project? We're happy to talk it through -- and if a freelancer is the better fit, we'll tell you that honestly.",{"title":7,"searchDepth":444,"depth":444,"links":1953},[1954,1955,1960,1965,1966,1967,1971],{"id":1111,"depth":444,"text":1114},{"id":1137,"depth":444,"text":1140,"children":1956},[1957,1958,1959],{"id":1148,"depth":455,"text":1151},{"id":1204,"depth":455,"text":1207},{"id":1250,"depth":455,"text":1253},{"id":1311,"depth":444,"text":1314,"children":1961},[1962,1963,1964],{"id":1322,"depth":455,"text":1325},{"id":1385,"depth":455,"text":1388},{"id":1448,"depth":455,"text":1451},{"id":1509,"depth":444,"text":1512},{"id":1577,"depth":444,"text":1580},{"id":1771,"depth":444,"text":1774,"children":1968},[1969,1970],{"id":1782,"depth":455,"text":1785},{"id":1841,"depth":455,"text":1844},{"id":1910,"depth":444,"text":1913},"content:blog:freelancer-vs-agency-software-development.md","blog/freelancer-vs-agency-software-development.md","blog/freelancer-vs-agency-software-development",[1976,2315,2675,2960],{"_path":1977,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1978,"description":1979,"metaTitle":1980,"topic":1981,"author":12,"authorProfile":13,"coverImg":1982,"coverImgAlt":1983,"toc":16,"published":16,"createdAt":1984,"updatedAt":1984,"keywords":1985,"faq":1992,"body":2005,"_type":459,"_id":2312,"_source":461,"_file":2313,"_stem":2314,"_extension":464},"/blog/lovable-bubble-app-to-production","From a Lovable or Bubble App to a Real Product: The 5 Gaps to Close","Built on Lovable, Bubble, or another AI/no-code tool and ready for a real product? Here are the 5 gaps you have to close to migrate to production, without starting over.","From a Lovable or Bubble App to a Real Product (The 5 Gaps to Close)","Product and Engineering","/images/blog/lovable-bubble-app-to-production.webp","The five gaps to close when moving a Lovable or Bubble app to a real, production-grade product.","2026-08-16",[1986,1987,1988,1989,1990,1991],"lovable app to production","migrate from bubble to code","bubble app doesn't scale","move no-code app to custom","lovable to real product","take my no-code app to production",[1993,1996,1999,2002],{"question":1994,"answer":1995},"Can I turn my Lovable or Bubble app into a real product?","Yes. The tool got you a validated, working app, which is the hard part most people never reach. Turning it into a real product means closing a few specific gaps (ownership, scale, structure, security, and custom logic) usually by rebuilding it on code you own. You keep everything you learned; the workflows you built become the spec.",{"question":1997,"answer":1998},"Do I have to rebuild from scratch to move off Bubble or Lovable?","You rebuild the app on real code, but you don't start from scratch in the way that sounds. Every screen and workflow you figured out is a finished blueprint, so the thinking is done. It's a graduation, not a do-over, and it's usually faster than the first build because the product is already validated.",{"question":2000,"answer":2001},"Why won't my Bubble or Lovable app scale?","These tools are built for speed of building, not raw performance. Under real load, pages that were snappy with a little data start to lag, and you can't tune what's underneath because you don't control it. That performance ceiling is one of the most common reasons founders migrate to custom code.",{"question":2003,"answer":2004},"When should I migrate off a no-code or AI tool?","When you've hit the ceiling: workarounds stacked on workarounds, users feeling the performance, an integration the platform can't do, costs outpacing revenue, or realizing you can't take your app with you. If you're still validating, stay on the tool. Migration is for once it's working.",{"type":39,"children":2006,"toc":2296},[2007,2012,2017,2026,2032,2037,2050,2056,2061,2073,2079,2084,2089,2095,2100,2113,2119,2124,2129,2135,2140,2145,2151,2156,2189,2208,2214,2227,2232,2236,2241,2245,2250,2254,2259,2263,2268,2272],{"type":42,"tag":43,"props":2008,"children":2009},{},[2010],{"type":47,"value":2011},"You built it on Lovable, or Bubble, or one of the AI tools that turn a description into an app. It worked. You got users. And now you're looking at turning that into a real, production-grade product, and wondering if that means throwing everything away and starting over.",{"type":42,"tag":43,"props":2013,"children":2014},{},[2015],{"type":47,"value":2016},"It doesn't. The tool did the hardest part: it proved the thing works and people want it. What's left is closing a specific set of gaps between \"a working app on a platform\" and \"a real product you own and can grow.\" Here are the five, and how the move actually goes.",{"type":42,"tag":43,"props":2018,"children":2019},{},[2020,2024],{"type":42,"tag":58,"props":2021,"children":2022},{},[2023],{"type":47,"value":62},{"type":47,"value":2025}," you don't start over. You rebuild on code you own, and the workflows you already figured out become the blueprint. The gaps to close are ownership, scale, structure, security, and the custom logic the platform can't do. Migrate the load-bearing pieces first, keep the app live while you do it, and it's a graduation, not a do-over.",{"type":42,"tag":66,"props":2027,"children":2029},{"id":2028},"first-an-honest-check-should-you-migrate-yet",[2030],{"type":47,"value":2031},"First, an Honest Check: Should You Migrate Yet?",{"type":42,"tag":43,"props":2033,"children":2034},{},[2035],{"type":47,"value":2036},"Before the gaps, the honest question. If you're still figuring out whether people want this, don't migrate. Stay on the tool. It's cheaper and faster for learning, and migrating a product you haven't validated is effort you might throw away.",{"type":42,"tag":43,"props":2038,"children":2039},{},[2040,2042,2048],{"type":47,"value":2041},"Migration is for once it's working. If people are using it, paying for it, and asking for more, and you're starting to feel the walls, that's the signal. We wrote a full guide on ",{"type":42,"tag":328,"props":2043,"children":2045},{"href":2044},"/blog/no-code-vs-custom-development/",[2046],{"type":47,"value":2047},"when a no-code or AI-built app hits the ceiling",{"type":47,"value":2049}," if you want to pressure-test the timing first. Assuming you're there, here's what has to change.",{"type":42,"tag":66,"props":2051,"children":2053},{"id":2052},"gap-1-you-dont-own-the-code",[2054],{"type":47,"value":2055},"Gap 1: You Don't Own the Code",{"type":42,"tag":43,"props":2057,"children":2058},{},[2059],{"type":47,"value":2060},"On most of these platforms, you don't own source code. You own a configuration inside someone else's system. If the pricing changes, the platform pivots, or you simply outgrow it, your app doesn't come with you.",{"type":42,"tag":43,"props":2062,"children":2063},{},[2064,2066,2072],{"type":47,"value":2065},"Closing this gap is the whole point of migrating: getting your product onto code that's genuinely yours, that any team can pick up and build on. It's also why we care about this so much, having built our own product and written before about ",{"type":42,"tag":328,"props":2067,"children":2069},{"href":2068},"/blog/avoiding-vendor-lock-in/",[2070],{"type":47,"value":2071},"avoiding vendor lock-in",{"type":47,"value":442},{"type":42,"tag":66,"props":2074,"children":2076},{"id":2075},"gap-2-it-wont-scale-past-the-platforms-ceiling",[2077],{"type":47,"value":2078},"Gap 2: It Won't Scale Past the Platform's Ceiling",{"type":42,"tag":43,"props":2080,"children":2081},{},[2082],{"type":47,"value":2083},"These tools are optimized for building fast, not for raw performance. That's the right trade early on. But under real load, the app that felt instant with a little data starts to lag, and you can't fix it, because you don't control the engine underneath.",{"type":42,"tag":43,"props":2085,"children":2086},{},[2087],{"type":47,"value":2088},"A real product is built to stay fast as the data and traffic grow. That's a foundational choice you can only make in code you control.",{"type":42,"tag":66,"props":2090,"children":2092},{"id":2091},"gap-3-no-structure-or-tests-so-its-fragile",[2093],{"type":47,"value":2094},"Gap 3: No Structure or Tests, So It's Fragile",{"type":42,"tag":43,"props":2096,"children":2097},{},[2098],{"type":47,"value":2099},"Platform-built apps (and AI-built ones especially) tend to have no automated tests and no real structure underneath. That's why they break every time you add something. It works until it quietly doesn't, and you find out from a user.",{"type":42,"tag":43,"props":2101,"children":2102},{},[2103,2105,2111],{"type":47,"value":2104},"Rebuilding on real code means adding the safety net: structure that makes the app easy to change, and tests that catch a problem before your users do. This is the difference between an app you're scared to touch and one you can build on with confidence. (It's the same gap that makes ",{"type":42,"tag":328,"props":2106,"children":2108},{"href":2107},"/blog/where-ai-built-apps-break/",[2109],{"type":47,"value":2110},"AI-built apps break in production",{"type":47,"value":2112},".)",{"type":42,"tag":66,"props":2114,"children":2116},{"id":2115},"gap-4-security-and-data-ownership",[2117],{"type":47,"value":2118},"Gap 4: Security and Data Ownership",{"type":42,"tag":43,"props":2120,"children":2121},{},[2122],{"type":47,"value":2123},"The gap you can't see. Platform-built apps often ship with weak access controls, the kind that let the wrong person reach data they shouldn't. And your customers' data lives inside a system you don't control.",{"type":42,"tag":43,"props":2125,"children":2126},{},[2127],{"type":47,"value":2128},"A production product handles security properly and keeps your data yours. Once real users trust you with real information, this stops being optional.",{"type":42,"tag":66,"props":2130,"children":2132},{"id":2131},"gap-5-the-custom-logic-the-platform-cant-do",[2133],{"type":47,"value":2134},"Gap 5: The Custom Logic the Platform Can't Do",{"type":42,"tag":43,"props":2136,"children":2137},{},[2138],{"type":47,"value":2139},"Eventually you need something the platform simply won't do: a specific integration, a custom workflow, a piece of the product that's genuinely yours and different. On a no-code tool you hit a hard wall. In custom code, that wall isn't there.",{"type":42,"tag":43,"props":2141,"children":2142},{},[2143],{"type":47,"value":2144},"Often this is the actual trigger for migrating: the next important thing you want to build is the one thing the tool can't.",{"type":42,"tag":66,"props":2146,"children":2148},{"id":2147},"how-the-migration-actually-goes",[2149],{"type":47,"value":2150},"How the Migration Actually Goes",{"type":42,"tag":43,"props":2152,"children":2153},{},[2154],{"type":47,"value":2155},"The fear is that everything stops for months while engineers rebuild what already works. It doesn't have to, and it shouldn't.",{"type":42,"tag":119,"props":2157,"children":2158},{},[2159,2169,2179],{"type":42,"tag":123,"props":2160,"children":2161},{},[2162,2167],{"type":42,"tag":58,"props":2163,"children":2164},{},[2165],{"type":47,"value":2166},"You keep what you learned.",{"type":47,"value":2168}," Every screen and workflow you built on the platform is a finished spec. The hard part, knowing what to build, is done. That's why a rebuild of a validated app is usually faster than the original guesswork.",{"type":42,"tag":123,"props":2170,"children":2171},{},[2172,2177],{"type":42,"tag":58,"props":2173,"children":2174},{},[2175],{"type":47,"value":2176},"You run both in parallel.",{"type":47,"value":2178}," The platform app stays live and serving users while the real product comes together. Nothing goes dark.",{"type":42,"tag":123,"props":2180,"children":2181},{},[2182,2187],{"type":42,"tag":58,"props":2183,"children":2184},{},[2185],{"type":47,"value":2186},"You migrate the load-bearing pieces first.",{"type":47,"value":2188}," Start with whatever is straining hardest: the slow workflow, the integration you needed, the part that keeps breaking. Get the highest-pain piece onto solid ground first, then move the rest.",{"type":42,"tag":43,"props":2190,"children":2191},{},[2192,2194,2200,2202,2207],{"type":47,"value":2193},"For a broader look at taking an early product all the way to a mature one, our guide on ",{"type":42,"tag":328,"props":2195,"children":2197},{"href":2196},"/blog/scale-mvp-to-product/",[2198],{"type":47,"value":2199},"scaling from MVP to product",{"type":47,"value":2201}," covers the wider journey; this post is the specific case of doing it ",{"type":42,"tag":83,"props":2203,"children":2204},{},[2205],{"type":47,"value":2206},"from a no-code or AI tool",{"type":47,"value":442},{"type":42,"tag":66,"props":2209,"children":2211},{"id":2210},"getting-help-with-it",[2212],{"type":47,"value":2213},"Getting Help With It",{"type":42,"tag":43,"props":2215,"children":2216},{},[2217,2219,2225],{"type":47,"value":2218},"Migrating off a tool takes two things: understanding what you built and knowing how to rebuild it so it lasts. If your app was built with AI and it's the fragility and breakage pushing you to move, that specific situation is exactly what our ",{"type":42,"tag":328,"props":2220,"children":2222},{"href":2221},"/services/ai-app-rescue/",[2223],{"type":47,"value":2224},"AI App Rescue",{"type":47,"value":2226}," work is for: we keep what works and get it to production without starting over.",{"type":42,"tag":43,"props":2228,"children":2229},{},[2230],{"type":47,"value":2231},"If you're weighing the move, that's a good, honest conversation, and we'll tell you plainly whether you're ready for it or better off staying put a little longer.",{"type":42,"tag":66,"props":2233,"children":2234},{"id":370},[2235],{"type":47,"value":373},{"type":42,"tag":375,"props":2237,"children":2239},{"id":2238},"can-i-turn-my-lovable-or-bubble-app-into-a-real-product",[2240],{"type":47,"value":1994},{"type":42,"tag":43,"props":2242,"children":2243},{},[2244],{"type":47,"value":1995},{"type":42,"tag":375,"props":2246,"children":2248},{"id":2247},"do-i-have-to-rebuild-from-scratch-to-move-off-bubble-or-lovable",[2249],{"type":47,"value":1997},{"type":42,"tag":43,"props":2251,"children":2252},{},[2253],{"type":47,"value":1998},{"type":42,"tag":375,"props":2255,"children":2257},{"id":2256},"why-wont-my-bubble-or-lovable-app-scale",[2258],{"type":47,"value":2000},{"type":42,"tag":43,"props":2260,"children":2261},{},[2262],{"type":47,"value":2001},{"type":42,"tag":375,"props":2264,"children":2266},{"id":2265},"when-should-i-migrate-off-a-no-code-or-ai-tool",[2267],{"type":47,"value":2003},{"type":42,"tag":43,"props":2269,"children":2270},{},[2271],{"type":47,"value":2004},{"type":42,"tag":43,"props":2273,"children":2274},{},[2275],{"type":42,"tag":83,"props":2276,"children":2277},{},[2278,2279,2284,2285,2289,2290,2295],{"type":47,"value":419},{"type":42,"tag":328,"props":2280,"children":2281},{"href":2044},[2282],{"type":47,"value":2283},"No-Code vs Custom: When You Hit the Ceiling",{"type":47,"value":426},{"type":42,"tag":328,"props":2286,"children":2287},{"href":2221},[2288],{"type":47,"value":2224},{"type":47,"value":434},{"type":42,"tag":328,"props":2291,"children":2292},{"href":2107},[2293],{"type":47,"value":2294},"Where AI-Built Apps Actually Break",{"type":47,"value":442},{"title":7,"searchDepth":444,"depth":444,"links":2297},[2298,2299,2300,2301,2302,2303,2304,2305,2306],{"id":2028,"depth":444,"text":2031},{"id":2052,"depth":444,"text":2055},{"id":2075,"depth":444,"text":2078},{"id":2091,"depth":444,"text":2094},{"id":2115,"depth":444,"text":2118},{"id":2131,"depth":444,"text":2134},{"id":2147,"depth":444,"text":2150},{"id":2210,"depth":444,"text":2213},{"id":370,"depth":444,"text":373,"children":2307},[2308,2309,2310,2311],{"id":2238,"depth":455,"text":1994},{"id":2247,"depth":455,"text":1997},{"id":2256,"depth":455,"text":2000},{"id":2265,"depth":455,"text":2003},"content:blog:lovable-bubble-app-to-production.md","blog/lovable-bubble-app-to-production.md","blog/lovable-bubble-app-to-production",{"_path":2316,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":2317,"description":2318,"metaTitle":2319,"topic":11,"author":12,"authorProfile":13,"coverImg":2320,"coverImgAlt":2321,"toc":16,"published":16,"createdAt":2322,"updatedAt":2322,"keywords":2323,"faq":2330,"body":2343,"_type":459,"_id":2672,"_source":461,"_file":2673,"_stem":2674,"_extension":464},"/blog/hire-developer-to-fix-ai-code","How to Hire a Developer to Fix AI-Generated Code","Your AI-built app is breaking and you need help. Here's how to hire the right developer to fix AI-generated code, the green flags to look for, and the red flags to avoid.","How to Hire a Developer to Fix AI-Generated Code (Without Getting Ripped Off)","/images/blog/hire-developer-to-fix-ai-code.webp","How to hire the right developer to fix AI-generated code, with the green flags and red flags to watch for.","2026-08-15",[2324,2325,2326,2327,2328,2329],"hire developer to fix ai generated code","fix ai generated code","hire developer to fix my app","fix vibe coded app","hire developer to fix ai app","who can fix ai code",[2331,2334,2337,2340],{"question":2332,"answer":2333},"How do I find a developer to fix my AI-generated app?","Look for someone who fixes and ships production code, not just someone who writes new code. The best signal is that they ask to see your app before quoting anything, talk about keeping what works instead of rewriting everything, and can name the usual AI failure spots (tests, security, database, scaling). Start with a paid assessment, not a blind rebuild quote.",{"question":2335,"answer":2336},"Should I rewrite my AI-built app or just fix it?","Usually fix, not rewrite. AI typically got you a genuine 80%, and throwing that away wastes it. A good developer assesses each part and gives you a keep, fix, or rebuild call, then rebuilds only what truly needs it. Anyone who says 'rewrite everything' before looking is guessing.",{"question":2338,"answer":2339},"How much does it cost to fix AI-generated code?","It depends entirely on what's fragile. A security fix and some hardening is very different from a partial rebuild. That's why a proper assessment comes first: it scopes the real work so you get a real number instead of a guess. It's almost always less than a full rebuild.",{"question":2341,"answer":2342},"What are the red flags when hiring someone to fix AI code?","They quote a price without looking at your app, they immediately push a full rewrite, they can't explain what they'd check or why, or they have no real production experience. Any of those means you're likely to spend more and end up in the same place.",{"type":39,"children":2344,"toc":2659},[2345,2350,2355,2364,2370,2375,2387,2392,2398,2403,2453,2459,2464,2513,2519,2524,2556,2561,2567,2572,2577,2595,2599,2604,2608,2613,2618,2623,2627,2632,2636],{"type":42,"tag":43,"props":2346,"children":2347},{},[2348],{"type":47,"value":2349},"Your app works, mostly. You built it with AI, it got you real users, and now it breaks when you touch it. So you've decided to hire someone to fix it. Good call. But here's the trap: fixing AI-generated code is a different job from writing new code, and the wrong hire can make it worse and more expensive.",{"type":42,"tag":43,"props":2351,"children":2352},{},[2353],{"type":47,"value":2354},"So here's how to hire the right person, from a team that does exactly this work. The goal is simple: get it fixed, without getting ripped off.",{"type":42,"tag":43,"props":2356,"children":2357},{},[2358,2362],{"type":42,"tag":58,"props":2359,"children":2360},{},[2361],{"type":47,"value":62},{"type":47,"value":2363}," hire someone who fixes and ships production code, not just someone who writes fresh code. The best ones ask to see your app before quoting, talk about keeping what works instead of rewriting everything, and can name where AI-built apps usually break. Start with a paid assessment, not a blind rebuild quote.",{"type":42,"tag":66,"props":2365,"children":2367},{"id":2366},"why-fixing-ai-code-is-a-different-skill",[2368],{"type":47,"value":2369},"Why Fixing AI Code Is a Different Skill",{"type":42,"tag":43,"props":2371,"children":2372},{},[2373],{"type":47,"value":2374},"Writing new code from a blank page and fixing someone else's (or an AI's) code are different skills, and plenty of good builders aren't good fixers.",{"type":42,"tag":43,"props":2376,"children":2377},{},[2378,2380,2385],{"type":47,"value":2379},"Fixing AI-generated code specifically needs three things at once: the ability to read and diagnose unfamiliar code quickly, an understanding of ",{"type":42,"tag":83,"props":2381,"children":2382},{},[2383],{"type":47,"value":2384},"how",{"type":47,"value":2386}," AI tends to write things (and where it cuts corners), and real production experience so they know what \"safe to ship\" actually means. Someone who has only ever built greenfield projects can struggle here, because the job is detective work before it's building work.",{"type":42,"tag":43,"props":2388,"children":2389},{},[2390],{"type":47,"value":2391},"That's why \"I can build you an app\" is not the same as \"I can fix this app.\" You want the second person.",{"type":42,"tag":66,"props":2393,"children":2395},{"id":2394},"the-green-flags-what-a-good-fixer-does",[2396],{"type":47,"value":2397},"The Green Flags: What a Good Fixer Does",{"type":42,"tag":43,"props":2399,"children":2400},{},[2401],{"type":47,"value":2402},"When you talk to someone, these are the signs you've found the right person:",{"type":42,"tag":119,"props":2404,"children":2405},{},[2406,2416,2426,2443],{"type":42,"tag":123,"props":2407,"children":2408},{},[2409,2414],{"type":42,"tag":58,"props":2410,"children":2411},{},[2412],{"type":47,"value":2413},"They ask to see it first.",{"type":47,"value":2415}," A good developer wants to look at your actual code and app before saying anything about price or timeline. Diagnosis comes before the quote.",{"type":42,"tag":123,"props":2417,"children":2418},{},[2419,2424],{"type":42,"tag":58,"props":2420,"children":2421},{},[2422],{"type":47,"value":2423},"They talk about keeping what works.",{"type":47,"value":2425}," They're looking to fix and harden what's fragile, not to throw away the 80% the AI got right. A rescue, not a teardown.",{"type":42,"tag":123,"props":2427,"children":2428},{},[2429,2434,2436,2441],{"type":42,"tag":58,"props":2430,"children":2431},{},[2432],{"type":47,"value":2433},"They know where AI-built apps break.",{"type":47,"value":2435}," They can quickly name the usual suspects: missing tests, security gaps, database performance, scaling, the code breaking whenever you add a feature. If they know the pattern, they've seen it before. (Here's ",{"type":42,"tag":328,"props":2437,"children":2438},{"href":2107},[2439],{"type":47,"value":2440},"where AI-built apps actually break",{"type":47,"value":2442}," so you can check.)",{"type":42,"tag":123,"props":2444,"children":2445},{},[2446,2451],{"type":42,"tag":58,"props":2447,"children":2448},{},[2449],{"type":47,"value":2450},"They explain things plainly.",{"type":47,"value":2452}," They can tell you what's wrong and what they'd do in language you understand, without hiding behind jargon. Clarity is a sign they actually know.",{"type":42,"tag":66,"props":2454,"children":2456},{"id":2455},"the-red-flags-when-to-walk-away",[2457],{"type":47,"value":2458},"The Red Flags: When to Walk Away",{"type":42,"tag":43,"props":2460,"children":2461},{},[2462],{"type":47,"value":2463},"Just as important, here's when to keep looking:",{"type":42,"tag":119,"props":2465,"children":2466},{},[2467,2477,2487,2503],{"type":42,"tag":123,"props":2468,"children":2469},{},[2470,2475],{"type":42,"tag":58,"props":2471,"children":2472},{},[2473],{"type":47,"value":2474},"They quote a price without looking.",{"type":47,"value":2476}," A number before they've seen your app is a guess, and usually a high one to cover themselves.",{"type":42,"tag":123,"props":2478,"children":2479},{},[2480,2485],{"type":42,"tag":58,"props":2481,"children":2482},{},[2483],{"type":47,"value":2484},"They immediately say \"rewrite everything.\"",{"type":47,"value":2486}," Sometimes a rebuild is right, but leading with it before diagnosis usually means it's the only tool they have. It's also the most expensive option, conveniently.",{"type":42,"tag":123,"props":2488,"children":2489},{},[2490,2495,2497,2501],{"type":42,"tag":58,"props":2491,"children":2492},{},[2493],{"type":47,"value":2494},"They can't explain what they'd check.",{"type":47,"value":2496}," If they can't tell you ",{"type":42,"tag":83,"props":2498,"children":2499},{},[2500],{"type":47,"value":2384},{"type":47,"value":2502}," they'd figure out what's wrong, they probably don't know.",{"type":42,"tag":123,"props":2504,"children":2505},{},[2506,2511],{"type":42,"tag":58,"props":2507,"children":2508},{},[2509],{"type":47,"value":2510},"They have no real production experience.",{"type":47,"value":2512}," Someone who's never run software with real users won't know what breaks in production, which is the whole problem you're trying to solve.",{"type":42,"tag":66,"props":2514,"children":2516},{"id":2515},"freelancer-agency-or-dedicated-developer",[2517],{"type":47,"value":2518},"Freelancer, Agency, or Dedicated Developer?",{"type":42,"tag":43,"props":2520,"children":2521},{},[2522],{"type":47,"value":2523},"For this specific job, the honest trade-offs:",{"type":42,"tag":43,"props":2525,"children":2526},{},[2527,2529,2534,2536,2541,2543,2548,2550,2554],{"type":47,"value":2528},"A ",{"type":42,"tag":58,"props":2530,"children":2531},{},[2532],{"type":47,"value":2533},"freelancer",{"type":47,"value":2535}," can be great and affordable if you find one who genuinely fixes production code, but many stop at a working demo, which is how you got here. An ",{"type":42,"tag":58,"props":2537,"children":2538},{},[2539],{"type":47,"value":2540},"agency or dedicated team",{"type":47,"value":2542}," costs more but brings backup: if your fixer hits a wall on security or infrastructure, they have colleagues to pull in, and they've usually seen your exact problem before. We wrote a fuller ",{"type":42,"tag":328,"props":2544,"children":2545},{"href":857},[2546],{"type":47,"value":2547},"freelancer vs agency comparison",{"type":47,"value":2549}," if you want to weigh it, and our general guide on ",{"type":42,"tag":328,"props":2551,"children":2552},{"href":330},[2553],{"type":47,"value":333},{"type":47,"value":2555}," applies here too.",{"type":42,"tag":43,"props":2557,"children":2558},{},[2559],{"type":47,"value":2560},"Whichever route you pick, the vetting above is what matters more than the label.",{"type":42,"tag":66,"props":2562,"children":2564},{"id":2563},"start-with-an-assessment-not-a-rebuild-quote",[2565],{"type":47,"value":2566},"Start With an Assessment, Not a Rebuild Quote",{"type":42,"tag":43,"props":2568,"children":2569},{},[2570],{"type":47,"value":2571},"The single best first step is a paid assessment, not a blind quote for a rebuild.",{"type":42,"tag":43,"props":2573,"children":2574},{},[2575],{"type":47,"value":2576},"A proper assessment means someone looks at your code, your architecture, and how it behaves, then tells you honestly what's solid, what's fragile, and what's a real risk, with a keep, fix, or rebuild call for each part. That gives you a real scope and a real number, instead of a guess. And if the fix turns out to be small, or you don't need much at all, a trustworthy person will tell you that too.",{"type":42,"tag":43,"props":2578,"children":2579},{},[2580,2582,2586,2588,2593],{"type":47,"value":2581},"This is exactly how our ",{"type":42,"tag":328,"props":2583,"children":2584},{"href":2221},[2585],{"type":47,"value":2224},{"type":47,"value":2587}," work starts. We built AI into our own product and we fix AI-built apps for others, so we can tell you quickly whether it's a quick fix or a real project, and price it straight. If you're still earlier and deciding whether to fix it or hand the whole thing to a team, our honest take on ",{"type":42,"tag":328,"props":2589,"children":2590},{"href":437},[2591],{"type":47,"value":2592},"building with AI versus hiring",{"type":47,"value":2594}," covers that.",{"type":42,"tag":66,"props":2596,"children":2597},{"id":370},[2598],{"type":47,"value":373},{"type":42,"tag":375,"props":2600,"children":2602},{"id":2601},"how-do-i-find-a-developer-to-fix-my-ai-generated-app",[2603],{"type":47,"value":2332},{"type":42,"tag":43,"props":2605,"children":2606},{},[2607],{"type":47,"value":2333},{"type":42,"tag":375,"props":2609,"children":2611},{"id":2610},"should-i-rewrite-my-ai-built-app-or-just-fix-it",[2612],{"type":47,"value":2335},{"type":42,"tag":43,"props":2614,"children":2615},{},[2616],{"type":47,"value":2617},"Usually fix, not rewrite. AI typically got you a genuine 80%, and throwing that away wastes it. A good developer assesses each part and gives you a keep, fix, or rebuild call, then rebuilds only what truly needs it. Anyone who says \"rewrite everything\" before looking is guessing.",{"type":42,"tag":375,"props":2619,"children":2621},{"id":2620},"how-much-does-it-cost-to-fix-ai-generated-code",[2622],{"type":47,"value":2338},{"type":42,"tag":43,"props":2624,"children":2625},{},[2626],{"type":47,"value":2339},{"type":42,"tag":375,"props":2628,"children":2630},{"id":2629},"what-are-the-red-flags-when-hiring-someone-to-fix-ai-code",[2631],{"type":47,"value":2341},{"type":42,"tag":43,"props":2633,"children":2634},{},[2635],{"type":47,"value":2342},{"type":42,"tag":43,"props":2637,"children":2638},{},[2639],{"type":42,"tag":83,"props":2640,"children":2641},{},[2642,2643,2647,2648,2652,2653,2658],{"type":47,"value":419},{"type":42,"tag":328,"props":2644,"children":2645},{"href":2221},[2646],{"type":47,"value":2224},{"type":47,"value":426},{"type":42,"tag":328,"props":2649,"children":2650},{"href":2107},[2651],{"type":47,"value":2294},{"type":47,"value":434},{"type":42,"tag":328,"props":2654,"children":2655},{"href":330},[2656],{"type":47,"value":2657},"How to Vet a Developer",{"type":47,"value":442},{"title":7,"searchDepth":444,"depth":444,"links":2660},[2661,2662,2663,2664,2665,2666],{"id":2366,"depth":444,"text":2369},{"id":2394,"depth":444,"text":2397},{"id":2455,"depth":444,"text":2458},{"id":2515,"depth":444,"text":2518},{"id":2563,"depth":444,"text":2566},{"id":370,"depth":444,"text":373,"children":2667},[2668,2669,2670,2671],{"id":2601,"depth":455,"text":2332},{"id":2610,"depth":455,"text":2335},{"id":2620,"depth":455,"text":2338},{"id":2629,"depth":455,"text":2341},"content:blog:hire-developer-to-fix-ai-code.md","blog/hire-developer-to-fix-ai-code.md","blog/hire-developer-to-fix-ai-code",{"_path":2676,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":2677,"description":2678,"metaTitle":2679,"topic":1981,"author":12,"authorProfile":13,"coverImg":2680,"coverImgAlt":2681,"toc":16,"published":16,"createdAt":2682,"updatedAt":2682,"keywords":2683,"faq":2690,"body":2703,"_type":459,"_id":2957,"_source":461,"_file":2958,"_stem":2959,"_extension":464},"/blog/add-ai-to-your-product","How to Add AI to Your Product Without Wrecking It","Adding AI to a product you already have? A practical, honest guide to doing it without breaking what works, wasting money, or shipping a useless bolt-on chatbot.","How to Add AI to Your Existing Product (Without Wrecking It)","/images/blog/add-ai-to-your-product.webp","A practical guide to adding AI to an existing product without breaking what already works.","2026-08-14",[2684,2685,2686,2687,2688,2689],"how to add ai to my product","add ai to existing product","ai integration","adding ai features","ai integration services","add ai to existing app",[2691,2694,2697,2700],{"question":2692,"answer":2693},"How do I add AI to my existing product?","Start with a real user problem, not with the AI. Pick one place where AI clearly helps, ground it in your own data so it's accurate, add guardrails and testing before it touches users, ship that one feature, and measure it before you add more. The mistake is bolting on a generic chatbot nobody asked for.",{"question":2695,"answer":2696},"Will adding AI break my current app?","It can, if it's bolted on carelessly, which is exactly how a lot of AI features go wrong. Done properly, AI is added as a contained feature with its own guardrails and tests, so it doesn't destabilize what already works. The key is treating it like any other production feature, not a magic sprinkle.",{"question":2698,"answer":2699},"Do I need to rebuild my product to add AI?","Almost never. In most cases AI is added into your existing product without a rebuild: the feature, the data grounding, and the infrastructure to run it reliably. If someone tells you that adding AI means starting over, get a second opinion.",{"question":2701,"answer":2702},"How much does it cost to add an AI feature?","The build scales with scope, and there's an ongoing run cost too: roughly $0.10 to $0.90 per AI action, plus hosting and, if it uses your data, a RAG setup. A small, focused feature is inexpensive to run. See our breakdown of what an AI agent actually costs for the full picture.",{"type":39,"children":2704,"toc":2942},[2705,2710,2715,2724,2730,2735,2740,2746,2751,2763,2769,2792,2797,2803,2808,2819,2825,2830,2842,2848,2853,2858,2862,2867,2879,2883,2888,2892,2897,2901,2906,2910,2915,2919],{"type":42,"tag":43,"props":2706,"children":2707},{},[2708],{"type":47,"value":2709},"Adding AI to a product you already have is not the same as building something new. You have real users, real data, and real things that work today. The goal is to make it better, not to break the thing that's paying the bills. And that's exactly where a lot of AI features go wrong.",{"type":42,"tag":43,"props":2711,"children":2712},{},[2713],{"type":47,"value":2714},"So here's a practical, honest guide to adding AI to an existing product without wrecking it, from a team that does this for clients and inside our own SaaS.",{"type":42,"tag":43,"props":2716,"children":2717},{},[2718,2722],{"type":42,"tag":58,"props":2719,"children":2720},{},[2721],{"type":47,"value":62},{"type":47,"value":2723}," start with a real problem, not with the AI. Add it where it genuinely helps, ground it in your own data, put guardrails and testing around it before it touches users, ship one feature, and measure it before you add more. Small and useful beats big and broken.",{"type":42,"tag":66,"props":2725,"children":2727},{"id":2726},"start-with-the-problem-not-the-ai",[2728],{"type":47,"value":2729},"Start With the Problem, Not the AI",{"type":42,"tag":43,"props":2731,"children":2732},{},[2733],{"type":47,"value":2734},"The most common mistake is adding AI because everyone else is, not because it solves anything. That's how you end up with a feature nobody uses and a bill every month.",{"type":42,"tag":43,"props":2736,"children":2737},{},[2738],{"type":47,"value":2739},"Before anything else, name the actual problem. Where do your users get stuck, waste time, or ask for help? AI is worth adding when it makes one of those moments clearly better. If you can't point at the problem, you're not ready to add the AI yet, and we'll tell you that honestly rather than build you something shiny and useless.",{"type":42,"tag":66,"props":2741,"children":2743},{"id":2742},"avoid-the-bolt-on-trap",[2744],{"type":47,"value":2745},"Avoid the Bolt-On Trap",{"type":42,"tag":43,"props":2747,"children":2748},{},[2749],{"type":47,"value":2750},"The classic failed AI feature is a chatbot slapped in the corner of the screen, disconnected from everything, answering generic questions badly. It looks like \"we have AI now.\" It helps no one.",{"type":42,"tag":43,"props":2752,"children":2753},{},[2754,2756,2761],{"type":47,"value":2755},"The better approach is to build AI ",{"type":42,"tag":83,"props":2757,"children":2758},{},[2759],{"type":47,"value":2760},"into",{"type":47,"value":2762}," the workflows people already use. Not a separate chatbot island, but the AI quietly doing the work at the exact moment it helps: summarizing the thing they're looking at, drafting the reply they were about to write, catching the error before they submit. Woven in, not bolted on.",{"type":42,"tag":66,"props":2764,"children":2766},{"id":2765},"ground-it-in-your-own-data",[2767],{"type":47,"value":2768},"Ground It in Your Own Data",{"type":42,"tag":43,"props":2770,"children":2771},{},[2772,2774,2778,2780,2784,2786,2790],{"type":47,"value":2773},"Generic AI knows the internet. It doesn't know ",{"type":42,"tag":83,"props":2775,"children":2776},{},[2777],{"type":47,"value":137},{"type":47,"value":2779}," product, ",{"type":42,"tag":83,"props":2781,"children":2782},{},[2783],{"type":47,"value":137},{"type":47,"value":2785}," customers, or ",{"type":42,"tag":83,"props":2787,"children":2788},{},[2789],{"type":47,"value":137},{"type":47,"value":2791}," rules, and when it guesses, it guesses wrong in ways that embarrass you.",{"type":42,"tag":43,"props":2793,"children":2794},{},[2795],{"type":47,"value":2796},"The fix is grounding the AI in your own data, usually with a setup called RAG, so its answers come from your actual knowledge instead of thin air. This is the difference between an AI feature that's genuinely useful and one that confidently tells your customer something untrue.",{"type":42,"tag":66,"props":2798,"children":2800},{"id":2799},"put-guardrails-around-it-before-it-ships",[2801],{"type":47,"value":2802},"Put Guardrails Around It Before It Ships",{"type":42,"tag":43,"props":2804,"children":2805},{},[2806],{"type":47,"value":2807},"The moment an AI feature can touch customer data, send something, or take an action, it needs guardrails. What is it allowed to do? What happens when it's unsure? How do you stop it from doing something it shouldn't?",{"type":42,"tag":43,"props":2809,"children":2810},{},[2811,2813,2818],{"type":47,"value":2812},"You also need to actually test it, not just try it once and ship. An AI feature that works in your demo can fail in a hundred small ways with real users. Evaluating it before launch is what keeps a helpful feature from becoming a public mistake. This is the same discipline that AI-built apps usually skip, which is ",{"type":42,"tag":328,"props":2814,"children":2815},{"href":2107},[2816],{"type":47,"value":2817},"where they break",{"type":47,"value":442},{"type":42,"tag":66,"props":2820,"children":2822},{"id":2821},"design-for-the-running-cost",[2823],{"type":47,"value":2824},"Design for the Running Cost",{"type":42,"tag":43,"props":2826,"children":2827},{},[2828],{"type":47,"value":2829},"Unlike a normal feature, an AI feature keeps costing money every time someone uses it. Each AI action has a small cost, and it adds up with volume. That's not a reason to avoid AI. It's a reason to design for it: use the right-sized model for the job, don't call the AI when you don't need to, and know your numbers before you scale.",{"type":42,"tag":43,"props":2831,"children":2832},{},[2833,2835,2840],{"type":47,"value":2834},"If you want the full picture, we broke down ",{"type":42,"tag":328,"props":2836,"children":2837},{"href":429},[2838],{"type":47,"value":2839},"what it actually costs to build and run an AI agent",{"type":47,"value":2841},", and the same logic applies to any AI feature.",{"type":42,"tag":66,"props":2843,"children":2845},{"id":2844},"ship-small-measure-then-expand",[2846],{"type":47,"value":2847},"Ship Small, Measure, Then Expand",{"type":42,"tag":43,"props":2849,"children":2850},{},[2851],{"type":47,"value":2852},"One AI feature done well beats ten half-working ones. Pick the single highest-value place, ship it properly, and watch what real users do with it. If it earns its keep, expand. If it doesn't, you've learned that cheaply instead of betting the roadmap on it.",{"type":42,"tag":43,"props":2854,"children":2855},{},[2856],{"type":47,"value":2857},"This is the honest way to add AI: not a big bang, but a real feature that works, that you can trust, and that you can build on.",{"type":42,"tag":66,"props":2859,"children":2860},{"id":2210},[2861],{"type":47,"value":2213},{"type":42,"tag":43,"props":2863,"children":2864},{},[2865],{"type":47,"value":2866},"Adding AI well takes two things at once: knowing your product and knowing how to build AI that survives production. That's exactly the pairing we bring. We've added AI into our own SaaS and delivered it for a client, so we know both the \"make it useful\" and the \"keep it from breaking\" side.",{"type":42,"tag":43,"props":2868,"children":2869},{},[2870,2872,2878],{"type":47,"value":2871},"If you're weighing where AI fits in your product, that's a good first conversation, and we'll be straight about whether it's worth it. See ",{"type":42,"tag":328,"props":2873,"children":2875},{"href":2874},"/services/ai-development/",[2876],{"type":47,"value":2877},"AI development services",{"type":47,"value":367},{"type":42,"tag":66,"props":2880,"children":2881},{"id":370},[2882],{"type":47,"value":373},{"type":42,"tag":375,"props":2884,"children":2886},{"id":2885},"how-do-i-add-ai-to-my-existing-product",[2887],{"type":47,"value":2692},{"type":42,"tag":43,"props":2889,"children":2890},{},[2891],{"type":47,"value":2693},{"type":42,"tag":375,"props":2893,"children":2895},{"id":2894},"will-adding-ai-break-my-current-app",[2896],{"type":47,"value":2695},{"type":42,"tag":43,"props":2898,"children":2899},{},[2900],{"type":47,"value":2696},{"type":42,"tag":375,"props":2902,"children":2904},{"id":2903},"do-i-need-to-rebuild-my-product-to-add-ai",[2905],{"type":47,"value":2698},{"type":42,"tag":43,"props":2907,"children":2908},{},[2909],{"type":47,"value":2699},{"type":42,"tag":375,"props":2911,"children":2913},{"id":2912},"how-much-does-it-cost-to-add-an-ai-feature",[2914],{"type":47,"value":2701},{"type":42,"tag":43,"props":2916,"children":2917},{},[2918],{"type":47,"value":2702},{"type":42,"tag":43,"props":2920,"children":2921},{},[2922],{"type":42,"tag":83,"props":2923,"children":2924},{},[2925,2926,2931,2932,2936,2937,2941],{"type":47,"value":419},{"type":42,"tag":328,"props":2927,"children":2928},{"href":2874},[2929],{"type":47,"value":2930},"AI Development Services",{"type":47,"value":426},{"type":42,"tag":328,"props":2933,"children":2934},{"href":429},[2935],{"type":47,"value":432},{"type":47,"value":434},{"type":42,"tag":328,"props":2938,"children":2939},{"href":2107},[2940],{"type":47,"value":2294},{"type":47,"value":442},{"title":7,"searchDepth":444,"depth":444,"links":2943},[2944,2945,2946,2947,2948,2949,2950,2951],{"id":2726,"depth":444,"text":2729},{"id":2742,"depth":444,"text":2745},{"id":2765,"depth":444,"text":2768},{"id":2799,"depth":444,"text":2802},{"id":2821,"depth":444,"text":2824},{"id":2844,"depth":444,"text":2847},{"id":2210,"depth":444,"text":2213},{"id":370,"depth":444,"text":373,"children":2952},[2953,2954,2955,2956],{"id":2885,"depth":455,"text":2692},{"id":2894,"depth":455,"text":2695},{"id":2903,"depth":455,"text":2698},{"id":2912,"depth":455,"text":2701},"content:blog:add-ai-to-your-product.md","blog/add-ai-to-your-product.md","blog/add-ai-to-your-product",{"_path":2961,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":432,"description":2962,"metaTitle":2963,"topic":1981,"author":12,"authorProfile":13,"coverImg":2964,"coverImgAlt":2965,"toc":16,"published":16,"createdAt":2966,"updatedAt":2966,"keywords":2967,"faq":2974,"body":2987,"_type":459,"_id":3293,"_source":461,"_file":3294,"_stem":3295,"_extension":464},"/blog/ai-agent-development-cost","What does an AI agent really cost to build and run? An honest breakdown of build costs, per-action costs, hosting, and RAG, from a team that runs its own agents.","AI Agent Development Cost in 2026: What It Actually Costs","/images/blog/ai-agent-development-cost.webp","An honest breakdown of what it costs to build and run a production AI agent: build, per-action, hosting, and RAG.","2026-08-12",[2968,2969,2970,2971,2972,2973],"ai agent development cost","how much does an ai agent cost","cost to build an ai agent","ai agent pricing","cost of running an ai agent","ai agent hosting cost",[2975,2978,2981,2984],{"question":2976,"answer":2977},"How much does it cost to build an AI agent?","There's no single number, because the build is engineering time that scales with scope. A single-action agent is a small job. An agent that touches several systems, needs guardrails you can trust, and has to be reliable in production is a multi-week to multi-month build. On top of the build there are running costs: roughly $0.10 to $0.90 per action, cloud hosting from about $15 to $20 a month, and RAG from about $30 a month if it works from your data.",{"question":2979,"answer":2980},"What are the ongoing costs of running an AI agent?","Three main things. Model usage, charged per action, usually around $0.10 to $0.90 each and more for complex actions. Hosting the agent, which is just hosting a small private system, from roughly $15 to $20 a month in the cloud and up with scale. And if it uses your own data, a RAG setup starting around $30 a month that grows with your data volume.",{"question":2982,"answer":2983},"Can I run an AI agent cheaply?","Yes. You can self-host it. Our own finance agent, Freddy, runs on our own machine, private to our team, so its infrastructure cost is close to nothing. Costs rise as you move to the cloud, add more actions, or grow the data behind it, but a small internal agent can be very cheap to run.",{"question":2985,"answer":2986},"Do I even need a custom AI agent?","Not always. If a single prompt or a simple automation already does the job, a full agent is overkill and a waste of money. An agent earns its cost when it takes real, multi-step actions with consequences. We'll tell you honestly when a simpler tool would serve you better.",{"type":39,"children":2988,"toc":3280},[2989,2994,3003,3009,3014,3019,3043,3048,3054,3059,3102,3107,3113,3118,3135,3152,3169,3174,3180,3185,3190,3195,3201,3206,3217,3221,3226,3230,3235,3239,3244,3248,3253,3257],{"type":42,"tag":43,"props":2990,"children":2991},{},[2992],{"type":47,"value":2993},"\"How much does an AI agent cost?\" is a fair question with an annoying answer: it depends. But \"it depends\" is only useful if someone tells you what it depends on. So here's the honest version, with real numbers where we can give them, from a team that builds agents and runs several of our own.",{"type":42,"tag":43,"props":2995,"children":2996},{},[2997,3001],{"type":42,"tag":58,"props":2998,"children":2999},{},[3000],{"type":47,"value":62},{"type":47,"value":3002}," the build is engineering time that scales with how much the agent does. On top of that, an agent has running costs most people forget: roughly $0.10 to $0.90 per action, cloud hosting from about $15 to $20 a month, and, if it uses your data, RAG from about $30 a month. You can also self-host it and run it for almost nothing, which is exactly what we do with our own finance agent.",{"type":42,"tag":66,"props":3004,"children":3006},{"id":3005},"the-two-costs-people-forget-to-separate",[3007],{"type":47,"value":3008},"The Two Costs People Forget to Separate",{"type":42,"tag":43,"props":3010,"children":3011},{},[3012],{"type":47,"value":3013},"Most people ask about the build cost and stop there. But an AI agent is not like a website you build once and forget. It's a small system that keeps running, and running it has its own cost.",{"type":42,"tag":43,"props":3015,"children":3016},{},[3017],{"type":47,"value":3018},"So there are really two questions:",{"type":42,"tag":3020,"props":3021,"children":3022},"ol",{},[3023,3033],{"type":42,"tag":123,"props":3024,"children":3025},{},[3026,3031],{"type":42,"tag":58,"props":3027,"children":3028},{},[3029],{"type":47,"value":3030},"What does it cost to build?",{"type":47,"value":3032}," (a one-time engineering cost)",{"type":42,"tag":123,"props":3034,"children":3035},{},[3036,3041],{"type":42,"tag":58,"props":3037,"children":3038},{},[3039],{"type":47,"value":3040},"What does it cost to run, every month?",{"type":47,"value":3042}," (an ongoing cost)",{"type":42,"tag":43,"props":3044,"children":3045},{},[3046],{"type":47,"value":3047},"Get clear on both before you budget, because a cheap build with expensive running costs, or the other way around, will surprise you later.",{"type":42,"tag":66,"props":3049,"children":3051},{"id":3050},"what-drives-the-build-cost",[3052],{"type":47,"value":3053},"What Drives the Build Cost",{"type":42,"tag":43,"props":3055,"children":3056},{},[3057],{"type":47,"value":3058},"The build is engineering time, and it scales with scope. The things that move the number most:",{"type":42,"tag":119,"props":3060,"children":3061},{},[3062,3072,3082,3092],{"type":42,"tag":123,"props":3063,"children":3064},{},[3065,3070],{"type":42,"tag":58,"props":3066,"children":3067},{},[3068],{"type":47,"value":3069},"How many actions it takes.",{"type":47,"value":3071}," An agent that does one thing is a small job. An agent that does ten, in sequence, with decisions in between, is a much bigger one.",{"type":42,"tag":123,"props":3073,"children":3074},{},[3075,3080],{"type":42,"tag":58,"props":3076,"children":3077},{},[3078],{"type":47,"value":3079},"How many systems it touches.",{"type":47,"value":3081}," Every tool or system the agent connects to (your email, your database, a payment provider, a CRM) is more to build and more to keep reliable.",{"type":42,"tag":123,"props":3083,"children":3084},{},[3085,3090],{"type":42,"tag":58,"props":3086,"children":3087},{},[3088],{"type":47,"value":3089},"How much you need to trust it.",{"type":47,"value":3091}," An agent that touches money or customer data needs real guardrails, error handling, and testing. That reliability is where a lot of the serious engineering goes, and it's not optional once there are consequences.",{"type":42,"tag":123,"props":3093,"children":3094},{},[3095,3100],{"type":42,"tag":58,"props":3096,"children":3097},{},[3098],{"type":47,"value":3099},"Whether it needs your data.",{"type":47,"value":3101}," An agent that answers from your own knowledge needs a RAG setup, which adds to both the build and the running cost.",{"type":42,"tag":43,"props":3103,"children":3104},{},[3105],{"type":47,"value":3106},"This is why anyone who quotes you a flat price without asking what the agent actually does is guessing. A single-action agent can be a couple of weeks. A complex, multi-system agent you can trust in production is a multi-week to multi-month build.",{"type":42,"tag":66,"props":3108,"children":3110},{"id":3109},"the-running-costs-the-part-people-forget",[3111],{"type":47,"value":3112},"The Running Costs (The Part People Forget)",{"type":42,"tag":43,"props":3114,"children":3115},{},[3116],{"type":47,"value":3117},"Here's where we can give you real numbers, because we pay these ourselves.",{"type":42,"tag":43,"props":3119,"children":3120},{},[3121,3126,3128,3133],{"type":42,"tag":58,"props":3122,"children":3123},{},[3124],{"type":47,"value":3125},"Per action.",{"type":47,"value":3127}," Every action an agent takes has a small model cost, usually somewhere around ",{"type":42,"tag":58,"props":3129,"children":3130},{},[3131],{"type":47,"value":3132},"$0.10 to $0.90",{"type":47,"value":3134},", depending on which model you use and how complex the action is. Simple actions sit at the low end. A complex, multi-step action costs more. This adds up with volume, so an agent doing thousands of actions a day is a real line item, while one doing a few dozen is pocket change.",{"type":42,"tag":43,"props":3136,"children":3137},{},[3138,3143,3145,3150],{"type":42,"tag":58,"props":3139,"children":3140},{},[3141],{"type":47,"value":3142},"Hosting.",{"type":47,"value":3144}," The agent needs somewhere to run. Hosting the orchestrator in the cloud is really just hosting a small private system, which typically ",{"type":42,"tag":58,"props":3146,"children":3147},{},[3148],{"type":47,"value":3149},"starts around $15 to $20 a month",{"type":47,"value":3151}," and climbs with scale. You don't have to use the cloud, though. Our own finance agent, Freddy, runs on our own machine, private to our team, so its infrastructure cost is close to nothing. It creates invoices, sends emails, and runs the numbers, all self-hosted.",{"type":42,"tag":43,"props":3153,"children":3154},{},[3155,3160,3162,3167],{"type":42,"tag":58,"props":3156,"children":3157},{},[3158],{"type":47,"value":3159},"RAG (if it uses your data).",{"type":47,"value":3161}," If the agent works from your own knowledge base, that's a RAG setup, and its cost tracks your data volume. It can ",{"type":42,"tag":58,"props":3163,"children":3164},{},[3165],{"type":47,"value":3166},"start around $30 a month",{"type":47,"value":3168}," and grows as the data and usage grow.",{"type":42,"tag":43,"props":3170,"children":3171},{},[3172],{"type":47,"value":3173},"None of these are huge on their own. The point is to know they exist, so \"we built the agent\" doesn't quietly become a monthly bill you didn't plan for.",{"type":42,"tag":66,"props":3175,"children":3177},{"id":3176},"where-founders-overspend",[3178],{"type":47,"value":3179},"Where Founders Overspend",{"type":42,"tag":43,"props":3181,"children":3182},{},[3183],{"type":47,"value":3184},"The most expensive mistake isn't paying too much for an agent. It's building an agent you didn't need.",{"type":42,"tag":43,"props":3186,"children":3187},{},[3188],{"type":47,"value":3189},"If a single prompt, a simple automation, or an off-the-shelf tool already does the job, a full custom agent is overkill. An agent earns its cost when it takes real, multi-step actions with consequences, sends the email, updates the record, moves the money, and is trusted to do it correctly. If your task is simpler than that, build the simpler thing and keep the money.",{"type":42,"tag":43,"props":3191,"children":3192},{},[3193],{"type":47,"value":3194},"We'll say this plainly in a first conversation. We build agents for a living and we still tell people when they don't need one, because selling someone the expensive version of a problem they don't have is a bad way to start a relationship.",{"type":42,"tag":66,"props":3196,"children":3198},{"id":3197},"so-what-should-you-budget",[3199],{"type":47,"value":3200},"So What Should You Budget?",{"type":42,"tag":43,"props":3202,"children":3203},{},[3204],{"type":47,"value":3205},"Honestly, the best way to get a real number is a short conversation about what the agent actually needs to do. But as a rough shape: expect a one-time build that scales with scope, plus a modest monthly run cost made of per-action usage, hosting from around $15 to $20, and RAG from around $30 if you need it. A small internal agent can be genuinely cheap. A production agent that touches money and customers costs more to build well, and it's worth it, because the whole point is that you can trust it.",{"type":42,"tag":43,"props":3207,"children":3208},{},[3209,3211,3215],{"type":47,"value":3210},"If you want a real figure for your case, that's exactly the kind of thing we scope on a call. We've built and run our own agents, so we can tell you quickly whether an agent is even the right tool, and what it would actually cost. See ",{"type":42,"tag":328,"props":3212,"children":3213},{"href":362},[3214],{"type":47,"value":365},{"type":47,"value":3216}," for what we build.",{"type":42,"tag":66,"props":3218,"children":3219},{"id":370},[3220],{"type":47,"value":373},{"type":42,"tag":375,"props":3222,"children":3224},{"id":3223},"how-much-does-it-cost-to-build-an-ai-agent",[3225],{"type":47,"value":2976},{"type":42,"tag":43,"props":3227,"children":3228},{},[3229],{"type":47,"value":2977},{"type":42,"tag":375,"props":3231,"children":3233},{"id":3232},"what-are-the-ongoing-costs-of-running-an-ai-agent",[3234],{"type":47,"value":2979},{"type":42,"tag":43,"props":3236,"children":3237},{},[3238],{"type":47,"value":2980},{"type":42,"tag":375,"props":3240,"children":3242},{"id":3241},"can-i-run-an-ai-agent-cheaply",[3243],{"type":47,"value":2982},{"type":42,"tag":43,"props":3245,"children":3246},{},[3247],{"type":47,"value":2983},{"type":42,"tag":375,"props":3249,"children":3251},{"id":3250},"do-i-even-need-a-custom-ai-agent",[3252],{"type":47,"value":2985},{"type":42,"tag":43,"props":3254,"children":3255},{},[3256],{"type":47,"value":2986},{"type":42,"tag":43,"props":3258,"children":3259},{},[3260],{"type":42,"tag":83,"props":3261,"children":3262},{},[3263,3264,3269,3270,3274,3275,3279],{"type":47,"value":419},{"type":42,"tag":328,"props":3265,"children":3266},{"href":362},[3267],{"type":47,"value":3268},"AI Agent Development",{"type":47,"value":426},{"type":42,"tag":328,"props":3271,"children":3272},{"href":437},[3273],{"type":47,"value":440},{"type":47,"value":434},{"type":42,"tag":328,"props":3276,"children":3277},{"href":2107},[3278],{"type":47,"value":2294},{"type":47,"value":442},{"title":7,"searchDepth":444,"depth":444,"links":3281},[3282,3283,3284,3285,3286,3287],{"id":3005,"depth":444,"text":3008},{"id":3050,"depth":444,"text":3053},{"id":3109,"depth":444,"text":3112},{"id":3176,"depth":444,"text":3179},{"id":3197,"depth":444,"text":3200},{"id":370,"depth":444,"text":373,"children":3288},[3289,3290,3291,3292],{"id":3223,"depth":455,"text":2976},{"id":3232,"depth":455,"text":2979},{"id":3241,"depth":455,"text":2982},{"id":3250,"depth":455,"text":2985},"content:blog:ai-agent-development-cost.md","blog/ai-agent-development-cost.md","blog/ai-agent-development-cost",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"metaTitle":10,"topic":11,"author":12,"authorProfile":13,"coverImg":14,"coverImgAlt":15,"toc":16,"published":16,"createdAt":17,"updatedAt":17,"keywords":3297,"faq":3298,"body":3303,"_type":459,"_id":460,"_source":461,"_file":462,"_stem":463,"_extension":464},[19,20,21,22,23,24],[3299,3300,3301,3302],{"question":27,"answer":28},{"question":30,"answer":31},{"question":33,"answer":34},{"question":36,"answer":37},{"type":39,"children":3304,"toc":3606},[3305,3309,3313,3321,3325,3329,3338,3347,3351,3355,3359,3407,3416,3420,3424,3433,3437,3441,3445,3449,3485,3489,3493,3502,3517,3526,3530,3534,3548,3552,3556,3560,3564,3568,3572,3576,3580,3584],{"type":42,"tag":43,"props":3306,"children":3307},{},[3308],{"type":47,"value":48},{"type":42,"tag":43,"props":3310,"children":3311},{},[3312],{"type":47,"value":53},{"type":42,"tag":43,"props":3314,"children":3315},{},[3316,3320],{"type":42,"tag":58,"props":3317,"children":3318},{},[3319],{"type":47,"value":62},{"type":47,"value":64},{"type":42,"tag":66,"props":3322,"children":3323},{"id":68},[3324],{"type":47,"value":71},{"type":42,"tag":43,"props":3326,"children":3327},{},[3328],{"type":47,"value":76},{"type":42,"tag":43,"props":3330,"children":3331},{},[3332,3333,3337],{"type":47,"value":81},{"type":42,"tag":83,"props":3334,"children":3335},{},[3336],{"type":47,"value":87},{"type":47,"value":89},{"type":42,"tag":43,"props":3339,"children":3340},{},[3341,3342,3346],{"type":47,"value":94},{"type":42,"tag":83,"props":3343,"children":3344},{},[3345],{"type":47,"value":99},{"type":47,"value":101},{"type":42,"tag":43,"props":3348,"children":3349},{},[3350],{"type":47,"value":106},{"type":42,"tag":66,"props":3352,"children":3353},{"id":109},[3354],{"type":47,"value":112},{"type":42,"tag":43,"props":3356,"children":3357},{},[3358],{"type":47,"value":117},{"type":42,"tag":119,"props":3360,"children":3361},{},[3362,3375,3383,3391,3399],{"type":42,"tag":123,"props":3363,"children":3364},{},[3365,3369,3370,3374],{"type":42,"tag":58,"props":3366,"children":3367},{},[3368],{"type":47,"value":130},{"type":47,"value":132},{"type":42,"tag":83,"props":3371,"children":3372},{},[3373],{"type":47,"value":137},{"type":47,"value":139},{"type":42,"tag":123,"props":3376,"children":3377},{},[3378,3382],{"type":42,"tag":58,"props":3379,"children":3380},{},[3381],{"type":47,"value":147},{"type":47,"value":149},{"type":42,"tag":123,"props":3384,"children":3385},{},[3386,3390],{"type":42,"tag":58,"props":3387,"children":3388},{},[3389],{"type":47,"value":157},{"type":47,"value":159},{"type":42,"tag":123,"props":3392,"children":3393},{},[3394,3398],{"type":42,"tag":58,"props":3395,"children":3396},{},[3397],{"type":47,"value":167},{"type":47,"value":169},{"type":42,"tag":123,"props":3400,"children":3401},{},[3402,3406],{"type":42,"tag":58,"props":3403,"children":3404},{},[3405],{"type":47,"value":177},{"type":47,"value":179},{"type":42,"tag":43,"props":3408,"children":3409},{},[3410,3411,3415],{"type":47,"value":184},{"type":42,"tag":58,"props":3412,"children":3413},{},[3414],{"type":47,"value":189},{"type":47,"value":191},{"type":42,"tag":66,"props":3417,"children":3418},{"id":194},[3419],{"type":47,"value":197},{"type":42,"tag":43,"props":3421,"children":3422},{},[3423],{"type":47,"value":202},{"type":42,"tag":43,"props":3425,"children":3426},{},[3427,3428,3432],{"type":47,"value":207},{"type":42,"tag":83,"props":3429,"children":3430},{},[3431],{"type":47,"value":212},{"type":47,"value":214},{"type":42,"tag":43,"props":3434,"children":3435},{},[3436],{"type":47,"value":219},{"type":42,"tag":43,"props":3438,"children":3439},{},[3440],{"type":47,"value":224},{"type":42,"tag":66,"props":3442,"children":3443},{"id":227},[3444],{"type":47,"value":230},{"type":42,"tag":43,"props":3446,"children":3447},{},[3448],{"type":47,"value":235},{"type":42,"tag":119,"props":3450,"children":3451},{},[3452,3464,3477],{"type":42,"tag":123,"props":3453,"children":3454},{},[3455,3459,3460],{"type":42,"tag":58,"props":3456,"children":3457},{},[3458],{"type":47,"value":246},{"type":47,"value":248},{"type":42,"tag":58,"props":3461,"children":3462},{},[3463],{"type":47,"value":253},{"type":42,"tag":123,"props":3465,"children":3466},{},[3467,3471,3472,3476],{"type":42,"tag":58,"props":3468,"children":3469},{},[3470],{"type":47,"value":261},{"type":47,"value":263},{"type":42,"tag":83,"props":3473,"children":3474},{},[3475],{"type":47,"value":268},{"type":47,"value":270},{"type":42,"tag":123,"props":3478,"children":3479},{},[3480,3484],{"type":42,"tag":58,"props":3481,"children":3482},{},[3483],{"type":47,"value":278},{"type":47,"value":280},{"type":42,"tag":43,"props":3486,"children":3487},{},[3488],{"type":47,"value":285},{"type":42,"tag":66,"props":3490,"children":3491},{"id":288},[3492],{"type":47,"value":291},{"type":42,"tag":43,"props":3494,"children":3495},{},[3496,3497,3501],{"type":47,"value":296},{"type":42,"tag":58,"props":3498,"children":3499},{},[3500],{"type":47,"value":301},{"type":47,"value":303},{"type":42,"tag":119,"props":3503,"children":3504},{},[3505,3509,3513],{"type":42,"tag":123,"props":3506,"children":3507},{},[3508],{"type":47,"value":311},{"type":42,"tag":123,"props":3510,"children":3511},{},[3512],{"type":47,"value":316},{"type":42,"tag":123,"props":3514,"children":3515},{},[3516],{"type":47,"value":321},{"type":42,"tag":43,"props":3518,"children":3519},{},[3520,3521,3525],{"type":47,"value":326},{"type":42,"tag":328,"props":3522,"children":3523},{"href":330},[3524],{"type":47,"value":333},{"type":47,"value":335},{"type":42,"tag":66,"props":3527,"children":3528},{"id":338},[3529],{"type":47,"value":341},{"type":42,"tag":43,"props":3531,"children":3532},{},[3533],{"type":47,"value":346},{"type":42,"tag":43,"props":3535,"children":3536},{},[3537,3538,3542,3543,3547],{"type":47,"value":351},{"type":42,"tag":328,"props":3539,"children":3540},{"href":354},[3541],{"type":47,"value":357},{"type":47,"value":359},{"type":42,"tag":328,"props":3544,"children":3545},{"href":362},[3546],{"type":47,"value":365},{"type":47,"value":367},{"type":42,"tag":66,"props":3549,"children":3550},{"id":370},[3551],{"type":47,"value":373},{"type":42,"tag":375,"props":3553,"children":3554},{"id":377},[3555],{"type":47,"value":27},{"type":42,"tag":43,"props":3557,"children":3558},{},[3559],{"type":47,"value":384},{"type":42,"tag":375,"props":3561,"children":3562},{"id":387},[3563],{"type":47,"value":30},{"type":42,"tag":43,"props":3565,"children":3566},{},[3567],{"type":47,"value":31},{"type":42,"tag":375,"props":3569,"children":3570},{"id":396},[3571],{"type":47,"value":33},{"type":42,"tag":43,"props":3573,"children":3574},{},[3575],{"type":47,"value":34},{"type":42,"tag":375,"props":3577,"children":3578},{"id":405},[3579],{"type":47,"value":36},{"type":42,"tag":43,"props":3581,"children":3582},{},[3583],{"type":47,"value":37},{"type":42,"tag":43,"props":3585,"children":3586},{},[3587],{"type":42,"tag":83,"props":3588,"children":3589},{},[3590,3591,3595,3596,3600,3601,3605],{"type":47,"value":419},{"type":42,"tag":328,"props":3592,"children":3593},{"href":354},[3594],{"type":47,"value":424},{"type":47,"value":426},{"type":42,"tag":328,"props":3597,"children":3598},{"href":429},[3599],{"type":47,"value":432},{"type":47,"value":434},{"type":42,"tag":328,"props":3602,"children":3603},{"href":437},[3604],{"type":47,"value":440},{"type":47,"value":442},{"title":7,"searchDepth":444,"depth":444,"links":3607},[3608,3609,3610,3611,3612,3613,3614],{"id":68,"depth":444,"text":71},{"id":109,"depth":444,"text":112},{"id":194,"depth":444,"text":197},{"id":227,"depth":444,"text":230},{"id":288,"depth":444,"text":291},{"id":338,"depth":444,"text":341},{"id":370,"depth":444,"text":373,"children":3615},[3616,3617,3618,3619],{"id":377,"depth":455,"text":27},{"id":387,"depth":455,"text":30},{"id":396,"depth":455,"text":33},{"id":405,"depth":455,"text":36},1786939934801]