Strategy,
made usable.

Helping owners and leadership teams turn intent into clear, repeatable decisions across the business.

Built from real operating experience—not slide decks.

What Strategy Actually Is

Strategy is not vision decks or buzzwords—Strategy is being explicit about what you want, why it matters, what stands in the way, and what must be built to close the gap.It's about working ON the business, not IN the businessStrategy isn’t a document.
It’s a set of decisions made well.

In practice, that means clear tradeoffs, explicit ownership, and decision rules people actually use.

Strategy has three layers.

Corporate Strategy
Is directional and board-level (purpose, long-term path)

Business Strategy
Is economic and competitive (positioning, value creation)

Functional Strategy
Is operational and concrete (execution, day to day)

Most companies struggle not because they lack vision — but because these layers aren’t connected

How I Work

Most leaders are clear on what they want.
The real work is naming what’s in the way —
and building what’s missing.

The Work Starts With Three SentencesI want to → (because...)
But the problem is →
Therefore, we build.

Most of my work happens alongside founders, CEOs, and their leadership teams.

Corporate strategy

I want to..:
Grow enterprise value and deploy capital intelligently.
But the problem is:
Tradeoffs are unclear and decisions get made reactively.
Therefore, we build:
Clear capital allocation logic and decision rules.

Businss strategy

I want to:
Win consistently with the right customers and pricing.
But the problem is:
Positioning and pricing decisions aren’t explicit.
Therefore, we build:
Simple competitive logic and go-to-market frameworks.

Functional strategy

I want to:
Have teams execute without constant oversight.
But the problem is:
Data is fragmented and ownership is unclear.
Therefore, we build:
Dashboards, decision ownership, and operating cadence.

This is how intent turns into repeatable decisions.

About Me

Colin Gload is an operator and advisor who helps founders and leadership teams turn decisions into operating realityHe co-founded Lumina Solar in 2018 and, as Chief Revenue Officer, helped scale the business from $0 to ~$65M in annual revenue and 165+ employees building one of the highest-rated solar providers in the nation. Working inside the business, Colin led revenue growth and go-to-market execution across marketing, sales systems, forecasting, and operating discipline, building real teams, real processes, and real accountability in a trade-based, asset-heavy environment.In addition to operating experience, Colin has worked closely with boards and executive teams on strategy, capital allocation, performance management, and long-term planning,bridging day-to-day execution with board-level decision making.Through Dakota Strategy, Colin helps leadership teams simplify strategy into three clear layers, corporate (where to play and how to allocate capital), business (how the company wins), and functional (how teams execute day to day). His work follows a practical pattern: I want to → but the problem is → therefore we build—turning intent into decision rules, operating cadence, dashboards, and systems that actually get used.His focus is outcomes: stronger financial performance, clearer accountability, faster decisions, and teams aligned around what truly matters.

Based in: Fallston, MDFamily: Wife Brittany, Son Brody, Daughter AuroraRecognition: Baltimore 40 Under 40 (2022)

Contact

In one sentence each, complete the thoughts below

Thanks — your note is received.

Strategy starts with clarity.We review every inquiry through a simple lens: what you want, why it matters, what’s in the way, and what must be built to move forward.If there’s a strong fit, you’ll hear from us shortly to discuss next steps.

Dakota Strategy — The Alignment Gap
Dakota Strategy
The alignment gap
between strategy and execution
Corporate Strategy
Directional and board-level — purpose, long-term path
Business Strategy
Economic and competitive — positioning, value creation
Functional Strategy
Operational and concrete — execution, day to day
Most companies struggle not because they lack vision — but because these layers aren't connected.
drag the top anchor to shift strategy
window.addEventListener('load', function() { var canvas = document.getElementById('c'); var ctx = canvas.getContext('2d'); // Set canvas resolution based on container width var W = 420, H = 390; canvas.width = W; canvas.height = H; var aligned = false; var CORP_Y = 44, BIZ_Y = 185, FUNC_Y = 340; var corpTarget = W/2, corpX = W/2, bizX = W/2, funcX = W/2; var SEG1 = 9, SEG2 = 11; var SEG1_LEN = (BIZ_Y - CORP_Y) / SEG1; var SEG2_LEN = (FUNC_Y - BIZ_Y) / SEG2; function makeNodes(n, x, yStart, segLen) { var arr = []; for (var i = 0; i <= n; i++) arr.push({ x: x, y: yStart + i * segLen, vx: 0, vy: 0 }); return arr; } var nodes1 = makeNodes(SEG1, W/2, CORP_Y, SEG1_LEN); var nodes2 = makeNodes(SEG2, W/2, BIZ_Y, SEG2_LEN); var dragging = false, autoTime = 0, userInteracted = false; function simulate() { var bizLag = aligned ? 0.16 : 0.032; var funcLag = aligned ? 0.13 : 0.015; corpX += (corpTarget - corpX) * 0.2; bizX += (corpX - bizX) * bizLag; funcX += (bizX - funcX) * funcLag; simulateChain(nodes1, SEG1, SEG1_LEN, corpX, CORP_Y, bizX, BIZ_Y); simulateChain(nodes2, SEG2, SEG2_LEN, bizX, BIZ_Y, funcX, FUNC_Y); } function simulateChain(nodes, n, segLen, topX, topY, botX, botY) { for (var i = 1; i <= n; i++) { nodes[i].vy += 0.28; nodes[i].vx *= 0.93; nodes[i].vy *= 0.93; nodes[i].x += nodes[i].vx; nodes[i].y += nodes[i].vy; } for (var iter = 0; iter < 14; iter++) { nodes[0].x = topX; nodes[0].y = topY; nodes[n].x = botX; nodes[n].y = botY; for (var i = 1; i <= n; i++) { var dx = nodes[i].x - nodes[i-1].x; var dy = nodes[i].y - nodes[i-1].y; var dist = Math.sqrt(dx*dx + dy*dy) || 0.001; var diff = (dist - segLen) / dist; nodes[i].x -= dx * diff * 0.5; nodes[i].y -= dy * diff * 0.5; nodes[i-1].x += dx * diff * 0.5; nodes[i-1].y += dy * diff * 0.5; } nodes[0].x = topX; nodes[0].y = topY; nodes[n].x = botX; nodes[n].y = botY; } } function drawChain(nodes, n, color, lw) { for (var i = 1; i <= n; i++) { ctx.beginPath(); ctx.moveTo(nodes[i-1].x, nodes[i-1].y); ctx.lineTo(nodes[i].x, nodes[i].y); ctx.strokeStyle = color; ctx.lineWidth = lw; ctx.lineCap = 'round'; ctx.stroke(); } } function drawAnchor(x, y, color, label, sub, draggable) { var g = ctx.createRadialGradient(x, y, 0, x, y, 24); g.addColorStop(0, color + '28'); g.addColorStop(1, 'transparent'); ctx.beginPath(); ctx.arc(x, y, 24, 0, Math.PI*2); ctx.fillStyle = g; ctx.fill(); ctx.beginPath(); ctx.arc(x, y, 10, 0, Math.PI*2); ctx.strokeStyle = color + '45'; ctx.lineWidth = 1; ctx.stroke(); ctx.beginPath(); ctx.arc(x, y, 5.5, 0, Math.PI*2); ctx.fillStyle = color; ctx.fill(); ctx.textAlign = 'left'; ctx.font = '500 9px "DM Mono", monospace'; ctx.fillStyle = color; ctx.fillText(label.toUpperCase(), x + 18, y - 2); ctx.font = '300 8px "DM Mono", monospace'; ctx.fillStyle = color + '75'; ctx.fillText(sub, x + 18, y + 10); if (draggable) { ctx.fillStyle = color + '40'; ctx.fillText('\u2190 drag \u2192', x + 18, y + 22); } } function drawLagLine(x1, y, x2, color) { if (Math.abs(x1 - x2) < 6) return; ctx.beginPath(); ctx.setLineDash([3, 5]); ctx.moveTo(x1, y); ctx.lineTo(x2, y); ctx.strokeStyle = color + '28'; ctx.lineWidth = 1; ctx.stroke(); ctx.setLineDash([]); } function draw() { ctx.clearRect(0, 0, W, H); ctx.strokeStyle = 'rgba(255,255,255,0.022)'; ctx.lineWidth = 1; for (var x = 0; x < W; x += 42) { ctx.beginPath(); ctx.moveTo(x,0); ctx.lineTo(x,H); ctx.stroke(); } for (var y = 0; y < H; y += 42) { ctx.beginPath(); ctx.moveTo(0,y); ctx.lineTo(W,y); ctx.stroke(); } drawLagLine(corpX, CORP_Y, bizX, '#c9a96e'); drawLagLine(bizX, BIZ_Y, funcX, '#b5957a'); drawChain(nodes1, SEG1, '#c9a96e', 2.8); drawChain(nodes2, SEG2, '#9a7a62', 2.0); drawAnchor(corpX, CORP_Y, '#c9a96e', 'Corporate Strategy', 'direction & capital', true); drawAnchor(bizX, BIZ_Y, '#b5957a', 'Business Strategy', 'positioning & wins', false); drawAnchor(funcX, FUNC_Y, '#8a7060', 'Functional Strategy', 'execution & teams', false); } function loop() { simulate(); draw(); requestAnimationFrame(loop); } // Get canvas-relative coordinates, accounting for CSS scaling function getPos(clientX, clientY) { var rect = canvas.getBoundingClientRect(); var scaleX = W / rect.width; var scaleY = H / rect.height; return { x: (clientX - rect.left) * scaleX, y: (clientY - rect.top) * scaleY }; } function isNearCorp(p) { return (p.x - corpX) * (p.x - corpX) + (p.y - CORP_Y) * (p.y - CORP_Y) < 900; } canvas.addEventListener('mousedown', function(e) { var p = getPos(e.clientX, e.clientY); if (isNearCorp(p)) { dragging = true; userInteracted = true; } }); window.addEventListener('mousemove', function(e) { if (!dragging) return; var p = getPos(e.clientX, e.clientY); corpTarget = Math.max(30, Math.min(W - 30, p.x)); }); window.addEventListener('mouseup', function() { dragging = false; }); canvas.addEventListener('touchstart', function(e) { e.preventDefault(); var t = e.touches[0]; var p = getPos(t.clientX, t.clientY); if (isNearCorp(p)) { dragging = true; userInteracted = true; } }, { passive: false }); window.addEventListener('touchmove', function(e) { if (!dragging) return; e.preventDefault(); var t = e.touches[0]; var p = getPos(t.clientX, t.clientY); corpTarget = Math.max(30, Math.min(W - 30, p.x)); }, { passive: false }); window.addEventListener('touchend', function() { dragging = false; }); // Toggle buttons var btnU = document.getElementById('btn-unaligned'); var btnA = document.getElementById('btn-aligned'); var cap = document.getElementById('caption'); btnU.addEventListener('click', function() { aligned = false; btnU.classList.add('active'); btnA.classList.remove('active'); cap.textContent = "Most companies struggle not because they lack vision — but because these layers aren't connected."; }); btnA.addEventListener('click', function() { aligned = true; btnA.classList.add('active'); btnU.classList.remove('active'); cap.textContent = "Lag never disappears entirely — but when strategies are integrated, it tightens dramatically."; }); // Auto demo function autoMove() { if (!userInteracted) { autoTime += 0.006; corpTarget = W/2 + Math.sin(autoTime) * 105; } requestAnimationFrame(autoMove); } autoMove(); loop(); }); // end window.load