Horizon Thinking
AI thinks vertically. You provide the horizontal.
The Core Visual
YOU
β
βββββββββββββββββββββββΌββββββββββββββββββββββΊ HORIZONTAL
β (Your Context)
Patterns β Constraints
History β Integrations
Domain Knowledge β Future Plans
β
β
ββΌβ
β
β AI
β
βΌ VERTICAL
(AI Implementation)AI can only move vertically β straight down from prompt to implementation.
You control the horizontal β where on the landscape the AI aims.
The Two Dimensions
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β HORIZONTAL (You) VERTICAL (AI) β
β ββββββββββββββββ βββββββββββββ β
β β
β β Past ββββββββββββ Present ββββββββββββ Future β β
β β β
β β’ Why things exist β β’ "Build this feature" β
β β’ What patterns to use β β β
β β’ What constraints β βΌ β
β β’ What integrations β β’ Top-to-bottom β
β β’ Domain knowledge β implementation β
β β’ Business rules β β β
β β βΌ β
β β β’ Working code β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββWithout vs. With Horizontal Context
β WITHOUT YOUR HORIZONTAL CONTEXT
ββββββββββββββββββββββββββββββββββ
"Add login"
β
β AI implements straight down
β from the only point it knows
βΌ
βββββββββββββββ
β Basic login β β Generic, doesn't fit your system
β (generic) β
βββββββββββββββ
β
WITH YOUR HORIZONTAL CONTEXT
βββββββββββββββββββββββββββββββ
JWT βββββ SSO βββββ Rate Limit βββββ Audit βββββ GDPR
β
β "Add login with JWT,
β integrate SSO, rate limit,
β log to audit system"
β
βΌ
βββββββββββββββ
β Perfect fit β β Integrates with your system
β for YOUR β
β system β
βββββββββββββββThe Intersection
YOUR HORIZONTAL CONTEXT
Patterns Constraints Integrations History
β β β β
ββββββββββββββ΄βββββββ¬ββββββββ΄ββββββββββββββ
β
βββββββββββββββββββββββββͺββββββββββββββββββββββββββββ
β
β β THE INTERSECTION
β Your context + AI's power
β = Correct implementation
β
βΌ
AI'S VERTICAL POWER
"I can build anything
top-to-bottom...
...but only from the
point YOU place me."The Formula
Horizontal Context (what you provide) Γ Vertical Power (what AI does) = Correct Output
Missing horizontal = AI builds in the wrong place.
QUALITY OF OUTPUT = HORIZONTAL CONTEXT Γ VERTICAL EXECUTION
Your Context: 10% βββΊ AI builds generic code (wrong patterns)
Your Context: 50% βββΊ AI builds decent code (some integration)
Your Context: 90% βββΊ AI builds perfect fit (your system exactly)What Goes on Each Axis
| HORIZONTAL (You Provide) | VERTICAL (AI Executes) |
|---|---|
| Existing systems to integrate | Feature implementation |
| Patterns to follow | Function logic |
| Constraints (no new deps, bundle size) | Error handling |
| History (why things are this way) | API design |
| Future plans (multi-tenancy later) | Database queries |
| Domain knowledge | Testing |
| Business rules | Documentation |
The Horizon Checklist
Before every prompt, expand the horizontal:
β‘ INTEGRATIONS "This connects to [existing system]"
β‘ PATTERNS "Follow the pattern in [file]"
β‘ CONSTRAINTS "Cannot use [limitation]"
β‘ HISTORY "We use X because [reason]"
β‘ FUTURE "Must support [planned feature] later"
β‘ DOMAIN "Users typically [behavior]"
β‘ ENVIRONMENT "In prod we use [difference]"Example: Email Feature
β Narrow Horizontal (Bad)
Prompt: "Add a function to send notification emails"
β
βΌ
Generic nodemailer
Hardcoded addresses
No templates
No rate limiting
No GDPR complianceβ Wide Horizontal (Good)
Horizontal context you provide:
βββ SendGrid (configured in /src/lib/email.ts)
βββ Template system in /src/templates
βββ env.EMAIL_FROM for addresses
βββ GDPR: must include unsubscribe
βββ Rate limit: 10/user/hour
βββ Follow sendWelcomeEmail() pattern
β
βΌ
Uses SendGrid
Uses your templates
Respects rate limits
GDPR compliant
Matches your patternsWhen Output is Wrong
Ask: "What horizontal context did I miss?"
Wrong output?
β
βΌ
βββββββββββββββββββββββββββββββββββ
β AI isn't broken. β
β Your horizontal was incomplete.β
β β
β What did AI NOT know? β
β β’ Existing service? β
β β’ Pattern to follow? β
β β’ Constraint? β
β β’ Integration? β
β β’ Business rule? β
β β
β Add it. Try again. β
βββββββββββββββββββββββββββββββββββKey Takeaways
β οΈ
The AI is never "wrong" β it's building from where you placed it.
Bad output = you aimed the vertical power at the wrong horizontal point.
- AI = Vertical β Implements straight down, powerfully
- You = Horizontal β Position where the AI aims
- Intersection = Output β Quality depends on your context
- Wrong output? β Widen your horizontal, not blame the vertical
"AI can drill to any depth. You choose where to drill."