PageSourceSearch

https://fundrobin.com/assets/TheoryOfChange-T4ZhBKPR.js

js fundrobin.com collected 2026-10-07 03:09:31 UTC 23,693 bytes, 1 lines download raw bytes

1import{a as c,j as e,d as A,A as E,b as d,C as m,a0 as I,a6 as j,T as W,af as G,aL as v,c as F,aJ as M}from"./react-core-rcR7rEnv.js";import{S as D,H,f as P,h as R,F as B,Z as U}from"./page-homepage-BTKoNnze.js";import{R as N,r as T}from"./RelatedTools-BQudlxVj.js";import{U as L,a as q,d as z,A as $}from"./document-export-f8VRJhFB.js";import{m as Y}from"./animations-heavy-Bfh8LoKT.js";import{M as J,r as V}from"./markdown-async-BD2tKf35.js";import"./router-essential-DcEXLZgn.js";import"./react-dom-server-B838w9qp.js";import"./vendor-misc-small-CXVdBr3k.js";const{text:p,layout:h,presets:K}=P;function re(){const[t,o]=c.useState({problem:"",targetGroup:"",activities:"",shortTermOutcomes:"",longTermOutcomes:"",impact:""}),[x,g]=c.useState(!1),[r,b]=c.useState(null),[f,u]=c.useState(null),[y,w]=c.useState(!1),[s,C]=c.useState({}),k=async()=>{if(!t.problem||!t.targetGroup||!t.activities){u("Please fill in the problem statement, target group, and activities");return}g(!0),u(null),b(null);try{const a=await fetch(`${U}/api/v1/ai-tools/theory-of-change`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){const O=await a.json();throw new Error(O.error||"Failed to generate theory of change")}const i=await a.json();b(i.markdown)}catch(a){u(a.message)}finally{g(!1)}},S=()=>{r&&(navigator.clipboard.writeText(r),w(!0),setTimeout(()=>w(!1),2e3))},l=a=>{C(i=>({...i,[a]:!i[a]}))},n={problem:"Lack of youth employment opportunities, poor mental health support, educational inequality, food insecurity",targetGroup:"Young people aged 16-24 in deprived areas, refugees, elderly isolated residents, small charities",activities:"Training workshops, mentoring sessions, community events, counselling services, awareness campaigns",shortTermOutcomes:"Increased confidence, new skills learned, improved wellbeing, better understanding of services",longTermOutcomes:"Sustained employment, improved quality of life, stronger community connections, reduced isolation",impact:"Systemic change in employment practices, policy influence, reduced inequality, transformed communities"};return e.jsxs(e.Fragment,{children:[e.jsx(D,{title:"Free Theory of Change Builder | FundRobin",description:"Build a professional theory of change for your nonprofit. Free AI tool to map your program's pathway from problem to impact.",canonical:"https://fundrobin.com/free-tools/theory-of-change",keywords:"theory of change builder, theory of change template, nonprofit planning, program theory, impact pathway, outcomes framework",ogImage:"https://fundrobin.com/og-theory-of-change.webp",additionalSchema:[{"@context":"https://schema.org","@type":"WebApplication",name:"Theory of Change Builder",description:"Free AI-powered tool to create theory of change diagrams for nonprofit programs",url:"https://fundrobin.com/free-tools/theory-of-change",applicationCategory:"BusinessApplication",operatingSystem:"Web Browser",offers:{"@type":"Offer",price:"0",priceCurrency:"USD"}
1,creator:{"@type":"Organization",name:"FundRobin"}},{"@context":"https://schema.org","@type":"HowTo",name:"How to Create a Theory of Change",step:[{"@type":"HowToStep",name:"Define the Problem",text:"Identify the core problem your program addresses"},{"@type":"HowToStep",name:"Identify Target Group",text:"Define who benefits from your program"},{"@type":"HowToStep",name:"Plan Activities",text:"List what your program will do"},{"@type":"HowToStep",name:"Map Outcomes",text:"Define short and long-term changes"},{"@type":"HowToStep",name:"Define Impact",text:"Articulate the ultimate goal"}]}]}),e.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-slate-50 via-white to-cyan-50",children:[e.jsx(H,{}),e.jsxs("main",{id:"main-content",children:[e.jsx(L,{}),e.jsxs("section",{className:`${K.heroSection} pt-24 lg:pt-32`,children:[e.jsx("div",{className:"absolute top-0 right-0 w-[500px] h-[500px] bg-gradient-to-br from-cyan-200/20 to-blue-200/20 rounded-full blur-3xl"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-[500px] h-[500px] bg-gradient-to-tr from-purple-200/20 to-cyan-200/20 rounded-full blur-3xl"}),e.jsx("div",{className:h.container,children:e.jsxs(Y.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:"max-w-3xl mx-auto relative z-10",children:[e.jsxs("div",{className:"inline-flex items-center space-x-2 bg-gradient-to-r from-cyan-100 via-blue-100 to-purple-100 px-6 py-3 rounded-full mb-6 border border-cyan-200/50",children:[e.jsx(A,{className:"w-5 h-5 text-cyan-600"}),e.jsx("span",{className:`text-sm font-semibold ${p.gradient.secondary}`,children:"Free Strategy Tool"})]}),e.jsxs("h1",{className:`${p.display[1]} text-slate-900 mb-4 leading-tight`,children:["Theory of Change",e.jsx("span",{className:`block ${p.gradient.brand}`,children:"Builder"})]}),e.jsx("p",{className:`${p.body.large} text-slate-600 mb-8`,children:"Define your problem, activities, and pathway to impact. Generate a professional theory of change complete with assumptions and logic mapping."})]})})]}),e.jsx("section",{className:"py-8",children:e.jsx("div",{className:h.container,children:e.jsx("div",{className:"max-w-4xl mx-auto",children:e.jsx("div",{className:"flex items-center justify-center gap-2 md:gap-3 flex-wrap",children:["PROBLEM","ACTIVITIES","OUTCOMES","IMPACT"].map((a,i)=>e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:"px-3 py-2 bg-white border-2 border-purple-200 rounded-full text-xs font-semibold text-purple-700",children:a}),i<3&&e.jsx(E,{className:"w-4 h-4 mx-1 md:mx-2 text-slate-500"})]},a))})})})}),e.jsx("section",{className:"py-8 pb-16",children:e.jsx("div",{className:h.container,children:e.jsxs("div",{className:"max-w-2xl mx-auto space-y-4",children:[e.jsxs("div",{className:"bg-white rounded-xl border border-slate-200 p-4",children:[e.jsxs("button",{onClick:()=>l("problem"),className:"w-full flex items-center justify-between text-left",children:[e.jsxs("label",{className:"text-sm font-semibold text-slate-900",children:["PROBLEM STATEMENT ",e.jsx("span",{className:"text-red-500",children:"*"}),e.jsx("span",{className:"text-slate-500 font-normal ml-2",children:"(What issue?)"})]}),s.problem?e.jsx(d,{className:"w-5 h-5 text-slate-500"}):e.jsx(m,{className:"w-5 h-5 text-slate-500"})]}),s.problem&&e.jsxs("p",{className:"text-xs text-slate-500 mt-2 mb-2",children:["Example: ",n.problem]}),e.jsx("textarea",{value:t.problem,onChange:a=>o({...t,problem:a.target.value}),placeholder:"Describe the core problem your program addresses...",rows:2,"aria-label":"Describe the core problem your program addresses",className:"w-full px-4 py-2 border border-slate-200 rounded-xl focus:border-cyan-500 focus:outline-none resize-none mt-2"})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-slate-200 p-4",children:[e.jsxs("button",{onClick:()=>l("targetGroup"),className:"w-full flex items-center justify-between text-left",children:[e.jsxs("label",{className:"text-sm font-semibold text-slate-900",children:["TARGET GROUP ",e.jsx("span",{className:"text-red-500",children:"*"}),e.jsx("span",{className:"text-slate-500 font-normal ml-2",children:"(Who benefits?)"})]}),s.targetGroup?e.jsx(d,{className:"w-5 h-5 text-slate-500"}):e.jsx(m,{className:"w-5 h-5 text-slate-500"})]}),s.targetGroup&&e.jsxs("p",{className:"text-xs text-slate-500 mt-2 mb-2",children:["Example: ",n.targetGroup]}),e.jsx("textarea",{value:t.targetGroup,onChange:a=>o({...t,targetGroup:a.target.value}
1),placeholder:"Who will benefit from your program...",rows:2,"aria-label":"Who will benefit from your program",className:"w-full px-4 py-2 border border-slate-200 rounded-xl focus:border-cyan-500 focus:outline-none resize-none mt-2"})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-slate-200 p-4",children:[e.jsxs("button",{onClick:()=>l("activities"),className:"w-full flex items-center justify-between text-left",children:[e.jsxs("label",{className:"text-sm font-semibold text-slate-900",children:["ACTIVITIES ",e.jsx("span",{className:"text-red-500",children:"*"}),e.jsx("span",{className:"text-slate-500 font-normal ml-2",children:"(What you do)"})]}),s.activities?e.jsx(d,{className:"w-5 h-5 text-slate-500"}):e.jsx(m,{className:"w-5 h-5 text-slate-500"})]}),s.activities&&e.jsxs("p",{className:"text-xs text-slate-500 mt-2 mb-2",children:["Example: ",n.activities]}),e.jsx("textarea",{value:t.activities,onChange:a=>o({...t,activities:a.target.value}),placeholder:"What activities will you deliver...",rows:2,"aria-label":"What activities will you deliver",className:"w-full px-4 py-2 border border-slate-200 rounded-xl focus:border-cyan-500 focus:outline-none resize-none mt-2"})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-slate-200 p-4",children:[e.jsxs("button",{onClick:()=>l("shortTermOutcomes"),className:"w-full flex items-center justify-between text-left",children:[e.jsxs("label",{className:"text-sm font-semibold text-slate-900",children:["SHORT-TERM OUTCOMES"," ",e.jsx("span",{className:"text-slate-500 font-normal",children:"(1-2 years)"})]}),s.shortTermOutcomes?e.jsx(d,{className:"w-5 h-5 text-slate-500"}):e.jsx(m,{className:"w-5 h-5 text-slate-500"})]}),s.shortTermOutcomes&&e.jsxs("p",{className:"text-xs text-slate-500 mt-2 mb-2",children:["Example: ",n.shortTermOutcomes]}),e.jsx("textarea",{value:t.shortTermOutcomes,onChange:a=>o({...t,shortTermOutcomes:a.target.value}),placeholder:"What changes will occur in 1-2 years...",rows:2,"aria-label":"Short-term outcomes: what changes will occur in 1-2 years",className:"w-full px-4 py-2 border border-slate-200 rounded-xl focus:border-cyan-500 focus:outline-none resize-none mt-2"})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-slate-200 p-4",children:[e.jsxs("button",{onClick:()=>l("longTermOutcomes"),className:"w-full flex items-center justify-between text-left",children:[e.jsxs("label",{className:"text-sm font-semibold text-slate-900",children:["LONG-TERM OUTCOMES"," ",e.jsx("span",{className:"text-slate-500 font-normal",children:"(3-5 years)"})]}),s.longTermOutcomes?e.jsx(d,{className:"w-5 h-5 text-slate-500"}):e.jsx(m,{className:"w-5 h-5 text-slate-500"})]}),s.longTermOutcomes&&e.jsxs("p",{className:"text-xs text-slate-500 mt-2 mb-2",children:["Example: ",n.longTermOutcomes]}),e.jsx("textarea",{value:t.longTermOutcomes,onChange:a=>o({...t,longTermOutcomes:a.target.value}),placeholder:"What changes will occur in 3-5 years...",rows:2,"aria-label":"Long-term outcomes: what changes will occur in 3-5 years",className:"w-full px-4 py-2 border border-slate-200 rounded-xl focus:border-cyan-500 focus:outline-none resize-none mt-2"})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-slate-200 p-4",children:[e.jsxs("button",{onClick:()=>l("impact"),className:"w-full flex items-center justify-between text-left",children:[e.jsxs("label",{className:"text-sm font-semibold text-slate-900",children:["ULTIMATE IMPACT"," ",e.jsx("span",{className:"text-slate-500 font-normal",children:"(Your vision)"})]}),s.impact?e.jsx(d,{className:"w-5 h-5 text-slate-500"}):e.jsx(m,{className:"w-5 h-5 text-slate-500"})]}),s.impact&&e.jsxs("p",{className:"text-xs text-slate-500 mt-2 mb-2",children:["Example: ",n.impact]}),e.jsx("textarea",{value:t.impact,onChange:a=>o({...t,impact:a.target.value}),placeholder:"What is your ultimate vision for change...",rows:2,"aria-label":"Ultimate impact: what is your ultimate vision for change",className:"w-full px-4 py-2 border border-slate-200 rounded-xl focus:border-cyan-500 focus:outline-none resize-none mt-2"})]}),f&&e.jsxs("div",{className:"p-3 bg-red-50 border border-red-200 rounded-xl flex items-center gap-2 text-red-700",children:[e.jsx(I,{className:"w-5 h-5 flex-shrink-0"}),e.jsx("span",{className:"text-sm",children:f})]}),e.jsx("button",{onClick:k,disabled:x,className:"w-full py-3 bg-purple-600 text-white rounded-xl font-medium hover:bg-purple-700 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:x?e.jsxs(e.Fragment,{children:[e.jsx(j,{className:"w-5 h-5 animate-spin"}),"Generating Theory of Change..."]}):e.jsxs(e.Fragment,{children:[e.jsx(W,{className:"w-5 h-5"}),"Generate Theory of Change"]})}),x&&e.jsxs("div",{className:"mt-4 p-4 bg-purple-50 border border-purple-200 rounded-xl flex items-start gap-3",children:[e.jsx(j,{className:"w-5 h-5 animate-spin text-purple-600 flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-purple-900",children:"AI is building your theory of change…"}),e.jsx("p",{className:"text-sm text-purple-800 mt-0.5",children:"This takes 1–2 minutes. Please don't close or navigate away — your output will appear here when it's ready."})]})]})]})})}),r&&e.jsx("section",{className:"py-12",children:e.jsx("div",{className:h.container,children:e.jsx("div",{className:"max-w-3xl mx-auto",children:e.jsxs("div",{className:"bg-white rounded-2xl border border-slate-200 shadow-lg p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4 flex-wrap gap-2",children:[e.jsxs("h2",{className:"text-xl font-bold text-slate-900 flex items-center gap-2",children:[e.jsx(G,{className:"w-5 h-5 text-purple-600"}),"Your Theory of Change"]}),e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsxs("button",{onClick:()=>q(r,"Theory of Change"),className:"flex items-center gap-1 text-sm text-slate-600 hover:text-cyan-600 border border-slate-200 rounded-lg px-3 py-1.5",children:[e.jsx(v,{className:"w-4 h-4"})," Word"]}),e.jsxs("button",{onClick:()=>z(r,"Theory of Change"),className:"flex items-center gap-1 text-sm text-slate-600 hover:text-cyan-600 border border-slate-200 rounded-lg px-3 py-1.5",children:[e.jsx(v,{className:"w-4 h-4"})," PDF"]}),e.jsxs("button",{onClick:S,className:"flex items-center gap-1 text-sm text-slate-600 hover:text-cyan-600",children:[y?e.jsx(F,{className:"w-4 h-4"}):e.jsx(M,{className:"w-4 h-4"}),y?"Copied!":"Copy"]})]})]}),e.jsx("div",{className:"text-slate-700 leading-relaxed space-y-4",children:e.jsx(J,{remarkPlugins:[V],components:{h1:({children:a})=>e.jsx("h1",{className:"text-2xl font-bold text-slate-900 mt-8 mb-3 pb-2 border-b border-slate-200 first:mt-0",children:a}),h2:({children:a})=>e.jsx("h2",{className:"text-xl font-bold text-slate-800 mt-7 mb-3 pb-1 border-b border-slate-100",children:a}),h3:({children:a})=>e.jsx("h3",{className:"text-lg font-semibold text-slate-800 mt-6 mb-2",children:a}),h4:({children:a})=>e.jsx("h4",{className:"text-base font-semibold text-slate-700 mt-5 mb-1.5",children:a}),p:({children:a})=>e.jsx("p",{className:"leading-relaxed mb-3",children:a}),ul:({children:a})=>e.jsx("ul",{className:"list-disc pl-5 mb-3 space-y-1.5",children:a}),ol:({children:a})=>e.jsx("ol",{className:"list-decimal pl-5 mb-3 space-y-1.5",children:a}),li:({children:a})=>e.jsx("li",{className:"leading-relaxed pl-0.5",children:a}),strong:({children:a})=>e.jsx("strong",{className:"font-semibold text-slate-900",children:a}),hr:()=>e.jsx("hr",{className:"my-6 border-slate-200"}),blockquote:({children:a})=>e.jsx("blockquote",{className:"border-l-4 border-slate-300 pl-4 my-4 italic text-slate-500",children:a})},children:r})}),e.jsx(N,{tools:T["theory-of-change"]}),e.jsx($,{})]})})})}),e.jsx(R,{route:"/free-tools/theory-of-change"}),e.jsx("section",{className:"py-20 border-t border-slate-100",children:e.jsx("div",{className:h.container,children:e.jsxs("div",{className:"max-w-4xl mx-auto 
1space-y-16",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-3xl font-bold text-slate-900 mb-4",children:"What Is a Theory of Change?"}),e.jsxs("div",{className:"space-y-4 text-lg text-slate-600 leading-relaxed",children:[e.jsx("p",{children:`A Theory of Change (ToC) is a comprehensive description of how and why a set of activities is expected to lead to a desired goal. It goes deeper than a logic model by articulating the causal mechanisms, underlying assumptions, and contextual conditions that connect your work to the change you're trying to create. It answers: "Why do we believe that doing X will lead to Y?"`}),e.jsx("p",{children:"Originally developed in evaluation practice, Theories of Change have become a standard requirement for impact investors, major foundations, and government funders who want to understand not just what you do, but why you believe it works. A compelling Theory of Change demonstrates that your organisation has done the hard thinking about change — that you understand your beneficiaries, your context, and the mechanisms through which your work produces results."}),e.jsx("p",{children:"Our free Theory of Change builder generates a structured narrative based on your programme inputs. It maps your long-term goals back through the intermediate steps, surface assumptions, and articulates the causal logic connecting your activities to impact. Use it as a starting point for your own ToC document or to structure your thinking before a major grant application."})]})]}),e.jsxs("div",{className:"bg-slate-50 rounded-2xl p-8",children:[e.jsx("h2",{className:"text-2xl font-bold text-slate-900 mb-6",children:"Who Uses Theory of Change?"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-3",children:["Nonprofit leaders articulating their organisation's strategic direction","Programme managers planning evidence-based interventions","Grant writers applying to impact-focused foundations","Impact investors conducting due diligence on social ventures","Evaluators designing monitoring and evaluation frameworks","Boards reviewing organisational effectiveness and focus","Researchers studying social change processes","Capacity-building consultants working with social sector organisations"].map(a=>e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-cyan-500 mt-2.5 shrink-0"}),e.jsx("span",{className:"text-slate-700",children:a})]},a))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-slate-900 mb-4",children:"How to Build a Credible Theory of Change"}),e.jsxs("div",{className:"space-y-4 text-slate-600 leading-relaxed",children:[e.jsx("p",{children:'Start with your long-term goal and work backwards — a process sometimes called "backwards mapping." Ask: What needs to be true immediately before your goal is achieved? What changes need to happen for those preconditions to be in place? Keep working backwards until you reach the changes your activities directly produce. This backward mapping ensures your ToC is outcome-driven, not activity-driven.'}),e.jsx("p",{children:"Surface your assumptions explicitly. What do you believe to be true about your beneficiaries, your context, or the causal relationships in your model? Assumptions are not weaknesses — every theory has them. Making them explicit allows you to test them and shows funders that you've thought critically about your approach. Common assumptions include: that the target population will access and engage with your programme, that change is possible within the project timeframe, and that external factors won't undermine your work."}),e.jsx("p",{children:"Connect your ToC to evidence. Where does research or practice evidence support the causal links you're claiming? Citing relevant evidence — even briefly — dramatically strengthens a Theory of Change by showing your model isn't just plausible, it's grounded in what works."})]})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-slate-900 mb-8",children:"Frequently Asked Questions"}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"border-b border-slate-100 pb-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-2",children:"How long should a Theory of Change be?"}),e.jsx("p",{className:"text-slate-600 leading-relaxed",children:"A Theory of Change can range from a single-page diagram with brief annotations to a 10–15 page narrative document, depending on purpose and audience. For grant applications, funders typically want a concise version — often 1–3 pages — that captures the essence of your theory without overwhelming readers. For internal strategic planning or major funding bids, a fuller document with supporting evidence and detailed assumptions is more appropriate. Match the depth to the context and always check what the funder specifically requests."})]}),e.jsxs("div",{className:"border-b border-slate-100 pb-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-2",children:"What's the difference between a Theory of Change and a logic model?"}),e.jsx("p",{className:"text-slate-600 leading-relaxed",children:"A logic model is a structured, typically visual, table mapping inputs through activities, outputs, and outcomes in sequence. A Theory of Change is a more narrative explanation of how change happens, including the assumptions and causal mechanisms behind the logical chain. Logic models are standardised and evaluable; Theories of Change are explanatory and contextual. Many strong applications include both — the Theory of Change explains the reasoning, the logic model translates it into a structured, measurable framework."})]}),e.jsxs("div",{className:"border-b border-slate-100 pb-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-2",children:"Can a small charity have a Theory of Change?"}),e.jsx("p",{className:"text-slate-600 leading-relaxed",children:"Absolutely. A Theory of Change doesn't need to be complex or academically rigorous to be valuable. Even a simple, one-page diagram with clear causal arrows and key assumptions helps a small charity communicate why its work matters and think critically about how 
1it creates change. For small organisations, developing a Theory of Change is often most valuable as an internal exercise that builds team alignment and improves programme design — grant applications are a secondary benefit."})]}),e.jsxs("div",{className:"border-b border-slate-100 pb-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-2",children:"How do I know if my Theory of Change is good?"}),e.jsx("p",{className:"text-slate-600 leading-relaxed",children:"A strong Theory of Change is: plausible (the causal links make logical sense), doable (the activities are achievable with the resources you have), testable (you can design indicators to test whether the links are holding), explicit about assumptions, and grounded in evidence or at least in practice wisdom. Share a draft with people who know your field — including critics — and ask where they see logical gaps, unrealistic assumptions, or missing steps. Iteration improves every Theory of Change."})]}),e.jsxs("div",{className:"pb-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-2",children:"Does a Theory of Change need to include a diagram?"}),e.jsx("p",{className:"text-slate-600 leading-relaxed",children:"A visual diagram helps readers grasp complex causal relationships quickly, and most Theories of Change include one. However, the diagram alone is insufficient — you need accompanying narrative to explain the causal mechanisms and assumptions behind each link. Some funders specifically ask for a narrative Theory of Change without a diagram. Others provide a diagram template to complete. Our builder generates narrative content that you can complement with your own visual representation of the causal chain."})]})]})]})]})})}),e.jsx("section",{className:"py-8 border-t border-slate-100",children:e.jsx("div",{className:h.container,children:e.jsx(N,{tools:T["theory-of-change"]})})})]}),e.jsx(B,{})]})]})}export{re as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.