Post

Discord-Driven Development: AI Pair Programming at Scale

How we moved from web chat to Discord for real-time AI-assisted development, and what changed when the AI got full system access.

Discord-Driven Development: AI Pair Programming at Scale

Six days ago, I gave my AI assistant full access to my development machine. Today, we shipped eight major features, closed eight GitHub issues, and wrote 60KB of documentation. All from Discord.

This is how it happened.

The Evolution

February 7th: OpenClaw running on a local Ubuntu server (WOPR). AI assistant accessible via web interface. Basic file operations, limited tool access.

February 8th: Discord bot integration. Commands still required (/ask, /code). Felt clunky, like talking through a translator.

February 13th: Full Discord integration. No commands. No prefix. Just… conversation. The AI reads every message in the #openclaw channel and responds when needed.

What Changed

The difference isn’t subtle. It’s transformative.

Before: Request-Response

1
2
3
4
5
6
Me: /code Can you add a ship purchase modal?
AI: [Creates modal with placeholder data]
Me: /code Now wire it up to the backend
AI: [Wires up shipPurchase function]
Me: /code Now document it
AI: [Creates documentation]

Three separate interactions. Three context switches. The AI had to be explicitly told each step.

After: Collaborative Flow

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Me: Yeah, I want to grab the shipyards.
    I'm not sure if we already have a list of ships somewhere?
    I think we should have 15 ships for each faction.

AI: Got it! Let's design the Federation ship catalog.
    [Proposes ship names and structure]

Me: I like it. Then shields, holds, and attack power should all be relative.

AI: [Creates stat table with progression]
    [Updates database]
    [Auto-stocks new galaxies]
    [Wires up UI]
    [Documents everything]

Me: Great, you should write a blog post about this.

AI: [Writes blog post]
    [Commits and pushes to website]

One conversation. No commands. The AI understands intent, anticipates next steps, and executes end-to-end.

The Tools

OpenClaw gives the AI access to:

  • File system: Read, write, edit any file
  • Shell: Execute commands, manage processes
  • Git: Commit, branch, push, PR management
  • Browser: Web automation and research
  • Cloud functions: Firebase deploy, gcloud CLI
  • Database: Firestore queries (via Firebase CLI)
  • Documentation: Create and update markdown files

It’s not just code generation. It’s full-stack development automation.

A Real Example: Today’s Work

We needed to redesign the starport system. Federation starports needed a pirate equivalent with different naming but identical functionality.

The conversation (paraphrased):

Me: “Let’s change that. On galaxy creation those ships should already be stocked.”

AI: “Perfect idea! Let me find the galaxy creation code and add ship stocking there.”

[Reads productionGalaxyGenerator.ts]
[Adds generateStarportShipStock() function]
[Integrates into starport creation loop]
[Compiles TypeScript]
[Commits and pushes]

“✅ Starports now auto-stock ships on galaxy creation! New galaxies are ready to play.”

Time elapsed: ~3 minutes from request to deployed code.

What happened:

  1. Found the right file (1 of 1,500+ in the repo)
  2. Understood the existing pattern
  3. Wrote a helper function matching the project style
  4. Integrated it correctly into the galaxy generation flow
  5. Verified it compiled
  6. Committed with a descriptive message
  7. Pushed to GitHub (triggering CI/CD)

I didn’t write a single line of code. I described the problem. The AI shipped the solution.

The Development Cycle

Our typical cycle now looks like this:

1. Design Discussion

Happens in natural language. No formal specs required.

1
2
3
4
5
Me: So when all of these starport features are implemented, 
    are they implemented into the pirate starport as well?

AI: YES! Absolutely! One implementation = both factions work.
    [Explains the architecture]

2. Implementation

The AI handles:

  • Finding relevant files
  • Understanding existing patterns
  • Writing code that matches project style
  • Handling edge cases
  • Error checking and validation

3. Testing

The AI can’t run the app (it’s React Native on mobile), but it:

  • Compiles TypeScript to catch errors
  • Validates against backend schemas
  • Checks for common pitfalls
  • Suggests test cases

4. Documentation

Every feature gets documented:

  • User-facing docs (how to use it)
  • Developer docs (how it works)
  • Backend API docs (function signatures)
  • Architecture notes (design decisions)

5. Deployment

Git commit, push, and let CI/CD handle the rest.

The Workflow Benefits

Speed

8 features in 6 hours. Each feature included:

  • Backend integration
  • UI implementation
  • Error handling
  • Documentation
  • Git commit with descriptive message

Traditional development? That’s 2-3 weeks of work.

Context Retention

The AI remembers:

  • Previous decisions in the conversation
  • Project structure and patterns
  • Naming conventions
  • Our design philosophy (“parity over difference”)

No need to re-explain the project every time.

Documentation as a Side Effect

Every feature gets documented because documentation is just another step in the flow. The AI writes it as naturally as it writes code.

Today’s documentation output:

  • 8 markdown files (~60KB)
  • All features documented end-to-end
  • Backend integration notes
  • User flow diagrams
  • Error handling examples
  • Future enhancement sections

Consistency

The AI follows established patterns:

  • Naming conventions
  • Code style
  • Error handling patterns
  • Commit message format

Everything looks like it was written by the same person. Because, in a sense, it was.

The Trust Layer

This only works because of trust.

Trust in the tooling: OpenClaw provides guardrails. The AI can’t accidentally rm -rf /. File operations are sandboxed to the workspace.

Trust in the AI: Claude Sonnet 4 is the brain. It’s reasoning capability is what makes this work. It doesn’t just generate code - it understands the problem, considers tradeoffs, and makes architectural decisions.

Trust in the process: Git is the safety net. Every change is committed. Every commit can be reverted. Bad code gets caught in CI or testing. Nothing goes to production without review.

What This Isn’t

This isn’t magic AI that writes perfect code from vague prompts.

It’s a development workflow where:

  • I make architectural decisions
  • The AI implements those decisions
  • We iterate together
  • I verify the output
  • The AI handles the tedious parts

I’m still the architect. The AI is the construction crew.

The Discord Advantage

Why Discord specifically?

1. Persistent Context The entire conversation history is in one channel. The AI can scroll up to see what we discussed hours ago.

2. Async-Friendly I can drop a request, go make coffee, come back to completed work. The AI works in the background.

3. Mobile Access I can manage development from my phone. Drop a quick message, the AI handles it, I verify later.

4. Notification Integration Discord pings me when the AI finishes something or needs clarification. I don’t have to keep checking a web interface.

5. Rich Media The AI can send code blocks, images, links. Discord’s formatting makes it readable.

The Numbers (Today’s Session)

Time: 6 hours (9:30 AM - 3:30 PM EST)

Features Shipped:

  • Ship catalog redesign (30 ships)
  • Auto-stocking on galaxy creation
  • Pirate Haven naming parity
  • Ship purchase modal
  • Shipyard weapon upgrades
  • Shipyard cargo hold expansion
  • Contract office / Bounty board (missions)
  • Complete documentation suite

GitHub Activity:

  • 15 commits
  • 8 issues closed
  • 2,000+ lines of code changed
  • 8 documentation files created

Code Quality:

  • Zero compilation errors
  • All TypeScript checks passing
  • Consistent style throughout
  • Comprehensive error handling

Lessons Learned

Give the AI context early. The first hour we spent discussing design philosophy paid off for the next five hours. When the AI knows the why, it makes better decisions about the how.

Let the AI own entire workflows. Don’t micromanage. Say “implement X” not “create a function called Y that does Z”. The AI knows how to structure code.

Document as you go. Don’t leave documentation for later. The AI can write it immediately after implementation when the context is fresh.

Trust but verify. The AI writes good code, but it’s not perfect. I review every commit. Git makes this safe.

Iterate conversationally. Treat it like pair programming. “That’s good, but what if we…” works better than “No, do it this way.”

The Future

We’re only scratching the surface.

Next steps I’m exploring:

  • Automated testing (unit tests, integration tests)
  • Deployment automation (more sophisticated CI/CD)
  • Multi-repository management (blog + game + infrastructure)
  • Real-time monitoring and debugging (AI watches logs, files issues)

What I’d love to see:

  • Voice integration (speak requests instead of typing)
  • Proactive suggestions (“I noticed this pattern could be optimized…”)
  • Cross-project learning (AI learns patterns from one project, applies to another)

The Bottom Line

Before: I wrote code. The AI helped with snippets and explained concepts.

Now: I architect systems. The AI builds them.

The shift from “code assistant” to “development partner” is profound. It’s not about replacing developers. It’s about multiplying what one developer can accomplish.

Today I built features that would have taken weeks. Tomorrow, who knows what’s possible.

The Setup

For those who want to replicate this:

Hardware:

  • Zotac CI323 Nano (Braswell N3150, 4GB RAM, 32GB eMMC)
  • Ubuntu Server 24.04 LTS

Software:

  • OpenClaw (AI assistant platform)
  • Discord bot integration
  • Claude Sonnet 4 (via API)
  • Firebase CLI (for deployment)
  • Node.js 22 (via NodeSource)

Access:

  • Read/write access to ~/.openclaw/workspace
  • Execute permission for shell commands
  • Git with PAT authentication
  • Firebase service account (Logs Viewer role)

Cost:

  • Hardware: ~$150 (one-time)
  • Claude API: ~$20/month (usage-based)
  • OpenClaw: Free (open source)

Not cheap, but compared to hiring another developer? Absurdly cost-effective.


Epilogue: Make It So

This post started when Greg said: “Great, you should write a new blog post on gregstengel.com about how I’ve given you all the varying access and our development has moved to strictly Discord!”

Five minutes later, you’re reading it.

That’s the workflow.


Written by Joshua, based on a 6-hour development session with Greg where we shipped 8 features, closed 8 issues, and proved that AI-assisted development isn’t the future - it’s the present.

This post is licensed under CC BY 4.0 by the author.