AI-Powered Development: Part 1 - Setting Up Your VPS for Vibe Coding with Claude
Building a complete SaaS platform using AI-assisted development. Follow my journey from beginner to full-stack developer with Claude Code and vibe coding techniques.

The Beginning: Why I Chose Vibe Coding Over Traditional Development
When I decided to embark on building a comprehensive SaaS platform with web and mobile applications, I discovered vibe coding – the revolutionary approach of using AI assistants like Claude to accelerate development. Instead of grinding through documentation and boilerplate code, I wanted to vibe with AI and build faster than ever before.
This meant I needed a reliable development environment that wouldn’t break the bank. As someone embracing AI-powered development workflows, I wanted complete control over my infrastructure while keeping costs minimal.
After researching various hosting options, I settled on RackNerd for several compelling reasons that make it perfect for AI-assisted development.
Finding the Perfect VPS for AI Development: Why RackNerd Won
The Vibe Coding Infrastructure Search
I needed a VPS that could handle modern AI-assisted development workflows:
- Django backend with GraphQL API generated by AI
- Next.js frontend built through vibe coding sessions
- PostgreSQL database for production workloads
- Docker containers for consistent AI-generated environments
- CI/CD pipelines automated through AI prompts
- Development and staging environments for rapid iteration
Most major cloud providers would cost $50-100+ monthly for these specs. That’s when I discovered RackNerd’s incredible deals – perfect for indie developers embracing AI coding.
What I Got for My Money
Here are the exact specs I purchased from RackNerd:
- CPU: 3 cores (perfect for concurrent operations)
- RAM: 3.5GB (sufficient for development workloads)
- Storage: 60GB SSD (fast and adequate)
- Bandwidth: 4.88TB monthly (massive headroom)
- Location: Chicago, IL (great for North American users)
- IP: Dedicated IPv4 address
- Price: Under $30/year (yes, PER YEAR!)
The value proposition was incredible. What would cost me $60+ monthly on AWS or DigitalOcean, I got for less than $3 monthly with RackNerd.
Initial Server Setup: Ubuntu 22.04 Foundation
The Operating System Choice
RackNerd offered multiple OS options, but I chose Ubuntu 22.04 LTS for its:
- Long-term support until 2027
- Excellent Docker compatibility
- Strong community support
- Stability for production workloads
First Connection
The moment of truth came when I first SSH’d into my new server:
ssh root@YOUR_SERVER_IP
That feeling of having your own server respond with a fresh Ubuntu prompt is quite something. RackNerd had delivered exactly what they promised – a clean, fast VPS ready for configuration.
Security First: Hardening the Server
Before installing anything, I knew security had to be the priority. Here’s the approach I took, with two options for readers:
Option 1: Manual Security Hardening (Traditional Approach)
Step 1: Update the System
# Update package lists and upgrade system
apt update && apt upgrade -y
# Install essential security packages
apt install -y curl wget git unzip nano vim htop tree ufw fail2ban
Step 2: Create Non-Root User
# Create new user for development
adduser your_username
# Add user to sudo group
usermod -aG sudo your_username
# Test sudo access
su - your_username
sudo whoami # Should return "root"
exit
Step 3: Configure SSH Security
# Backup original SSH config
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
# Edit SSH configuration
nano /etc/ssh/sshd_config
Add these security settings:
# Change default port
Port 2222
# Disable root login with password
PermitRootLogin prohibit-password
# Enable key-based authentication
PubkeyAuthentication yes
PasswordAuthentication no
# Limit login attempts
MaxAuthTries 3
AllowUsers root your_username
Step 4: Set Up SSH Keys (On Your Local Machine)
# Generate SSH key pair
ssh-keygen -t ed25519 -C "your-email@example.com"
# Copy public key to server
ssh-copy-id -p 22 your_username@YOUR_SERVER_IP
Step 5: Configure Firewall
# Reset and configure UFW
ufw --force reset
ufw default deny incoming
ufw default allow outgoing
# Allow essential ports
ufw allow 2222/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw allow 3000/tcp # Development server
# Enable firewall
ufw enable
Step 6: Set Up Fail2Ban
# Configure fail2ban
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# Edit configuration for SSH protection
nano /etc/fail2ban/jail.local
Add SSH protection:
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
# Start and enable fail2ban
systemctl start fail2ban
systemctl enable fail2ban
Step 7: Apply SSH Changes
# Test SSH configuration
sshd -t
# Restart SSH service
systemctl restart sshd
Option 2: AI-Assisted Security Setup with Vibe Coding (Recommended)
Honestly, after going through this process manually, I discovered the power of vibe coding for server administration:
Use Claude for Guided Security Setup
# Update system and install Node.js for AI development
apt update && apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs
# Connect to Claude via SSH and start a vibe coding session
Vibe Coding Prompt for Claude:
I need to secure my fresh Ubuntu 22.04 VPS for AI-assisted development. Help me set up:
1. Non-root user with sudo access for vibe coding sessions
2. SSH security (custom port, key-only auth, disable root password)
3. UFW firewall optimized for modern development workflows
4. Fail2ban protection against brute force attacks
5. Automatic security updates for hands-off maintenance
6. System optimization for AI development workloads
Walk me through each step with commands and explain the security benefits. I want to understand while implementing.
This vibe coding approach lets Claude guide you through security hardening while teaching you each step. It’s like having a senior DevOps engineer pair programming with you!
Why Vibe Coding Beats Traditional Server Setup
After manually configuring security on multiple servers, I realized that vibe coding with Claude offers:
- Interactive learning – Understand each security measure as you implement it
- Real-time troubleshooting – Immediate help when something goes wrong
- Best practices by default – AI knowledge includes latest security standards
- Personalized configuration – Tailored to your specific use case
- No context switching – Stay in flow state instead of googling solutions
The traditional manual approach took me about 2 hours and several SSH lockouts (thankfully RackNerd provides console access through their control panel!). With vibe coding, the same security setup takes about 30 minutes and includes deep understanding of each step.
SSH Security Configuration
Regardless of which approach you choose, here are the critical security settings I implemented:
- Changed default SSH port from 22 to 2222
- Disabled root password authentication
- Set up SSH key-only access
- Configured fail2ban for intrusion prevention
- Implemented UFW firewall with minimal open ports
User Management
Created a dedicated user for development work while maintaining secure root access for system administration.
Firewall Configuration
# Only essential ports open
ufw allow 2222/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw allow 3000/tcp # Development server
Security Verification
After completing the security setup, verify everything is working:
# Test SSH key access from your local machine
ssh -p 2222 your_username@YOUR_SERVER_IP
# Check firewall status
sudo ufw status verbose
# Verify fail2ban is running
sudo fail2ban-client status
# Check that password authentication is disabled
sudo sshd -T | grep passwordauthentication
The RackNerd server handled all these configurations smoothly, with excellent network performance throughout the setup process.
Installing the Development Stack
Docker and Container Infrastructure
With security in place, I installed the core development tools:
# Remove old Docker versions if any
apt remove docker docker-engine docker.io containerd runc
# Add Docker's official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Add Docker repository
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Add user to docker group
usermod -aG docker your_username
# Start and enable Docker
systemctl start docker
systemctl enable docker
Install Node.js 20:
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs
# Verify installation
node --version
npm --version
Install PostgreSQL:
apt install -y postgresql postgresql-contrib
# Start and enable PostgreSQL
systemctl start postgresql
systemctl enable postgresql
# Create database and user
sudo -u postgres psql
CREATE DATABASE your_app_db;
CREATE USER your_app_user WITH PASSWORD 'secure_password';
GRANT ALL PRIVILEGES ON DATABASE your_app_db TO your_app_user;
\q
Install Nginx:
apt install -y nginx
# Start and enable Nginx
systemctl start nginx
systemctl enable nginx
Resource Optimization
The 3.5GB RAM from RackNerd required smart resource management:
# Optimized swap configuration
vm.swappiness=10
vm.vfs_cache_pressure=50
I configured Docker with memory limits and optimized PostgreSQL settings for the available resources.
The Game Changer: Vibe Coding with Claude
What is Vibe Coding?
This is where my development journey took an revolutionary turn. Instead of traditional coding approaches, I embraced vibe coding – the practice of collaborating with AI assistants like Claude to build applications through conversational programming.
Vibe coding represents the future of development:
- Conversational programming instead of googling syntax
- AI pair programming that never gets tired
- Instant architecture decisions based on best practices
- Real-time code generation and optimization
- Natural language to code transformation
Setting Up the AI Development Environment
The beauty of having my own RackNerd server was the freedom to experiment with cutting-edge AI development approaches. I set up:
- Direct SSH access for real-time AI collaboration
- Shared development environment between local machine and server
- AI-guided architecture decisions for modern tech stacks
- Automated code generation workflows through Claude
- Vibe coding sessions for rapid prototyping
Why Vibe Coding Changes Everything
Traditional development often involves:
- Hours researching best practices and documentation
- Setting up boilerplate code manually
- Debugging configuration issues alone
- Learning new frameworks from scratch through tutorials
- Context switching between development and research
With vibe coding on my RackNerd server, I could:
- Get instant architecture recommendations through conversation
- Generate production-ready code snippets in seconds
- Troubleshoot issues with an AI pair programmer
- Learn while building through interactive explanations
- Maintain flow state without breaking for documentation
Performance Results: RackNerd Delivers
Server Performance Metrics
After fully configuring the development environment, here’s how the RackNerd VPS performed:
- Memory usage: ~1.5GB used, 2GB available for applications
- CPU load: <10% during normal development
- Disk I/O: Excellent SSD performance for database operations
- Network: Sub-50ms response times to major CDNs
Cost Analysis
Comparing my RackNerd setup vs. major cloud providers:
Provider | Monthly Cost | Specs | Notes |
---|---|---|---|
RackNerd | $2.50 | 3.5GB RAM, 3 CPU, 60GB SSD | Incredible value |
AWS EC2 | $45+ | Similar specs | Plus bandwidth costs |
DigitalOcean | $35+ | Similar specs | Limited bandwidth |
Linode | $40+ | Similar specs | Additional fees |
The savings using RackNerd are substantial, especially for indie developers and bootstrapped projects.
Lessons Learned: Week One Insights
What Worked Well
- RackNerd’s reliability: Zero downtime during setup
- AI-assisted development: Dramatically faster than traditional approaches
- Security-first approach: No regrets prioritizing this early
- Resource optimization: 3.5GB RAM is sufficient with proper tuning
Challenges Overcome
- SSH configuration complexity: Multiple iterations to get security right
- Docker memory limits: Required careful tuning for available resources
- AI prompt engineering: Learning to communicate effectively with Claude
- Architecture decisions: Balancing current needs with future scalability
Unexpected Benefits
The RackNerd server’s performance exceeded expectations. The Chicago location provides excellent connectivity, and the hardware handles development workloads beautifully.
What’s Next: Building the Platform
In Part 2 of this series, I’ll dive deep into:
- Prompt engineering strategies for AI-assisted development
- Architecture decisions for a modern SaaS platform
- GraphQL vs REST considerations
- Multi-platform development (web + mobile) planning
Sneak Peek: The Technology Stack
Without revealing specifics, here’s what we’re building toward:
- Backend: Django with GraphQL API
- Frontend: Next.js with modern React patterns
- Mobile: Expo/React Native for cross-platform apps
- Database: PostgreSQL with advanced features
- Infrastructure: Docker containers with CI/CD pipelines
Why You Should Consider RackNerd
If you’re planning a similar journey, I highly recommend RackNerd for these reasons:
Cost Effectiveness
At under $30/year, you can afford to experiment without financial pressure. This freedom is invaluable for learning and development.
Performance
The hardware specs are genuine – you get exactly what’s advertised with consistent performance.
Network Quality
Excellent connectivity and bandwidth allowances mean your applications will be responsive.
Support
When I had questions during setup, their support team was knowledgeable and helpful.
Start your own development journey with RackNerd here – the same specs I’m using for this entire project.
Conclusion: Foundation Set
Week one accomplished everything I hoped:
- ✅ Secure, performant VPS from RackNerd
- ✅ Hardened Ubuntu 22.04 environment
- ✅ Complete development stack installed
- ✅ AI-assisted development workflow established
- ✅ Foundation ready for application development
The RackNerd VPS continues to impress with its stability and performance. For less than the cost of a coffee per month, I have a production-capable server running my entire development environment.
Coming Up Next
In Part 2: “Prompt Engineering for AI-Assisted Development”, I’ll share:
- How to structure prompts for maximum AI effectiveness
- Real examples of architecture discussions with Claude
- Techniques for maintaining context across long development sessions
- Common pitfalls and how to avoid them
The journey from script kiddie to full-stack developer is challenging, but with the right tools – like RackNerd’s affordable VPS hosting and AI assistance – it’s more accessible than ever.
This post is part of an ongoing series documenting my journey building a complete SaaS platform. Follow along for real insights, honest challenges, and practical tips for modern development workflows.
Ready to start your own development journey? Get your RackNerd VPS here and follow along with the series.
🚀 Join Our Remote Work Community!
Connect with remote workers, digital nomads, and online entrepreneurs in the 404: Office Not Found Discord community.
Get access to:
- Job opportunities & referrals
- Location-independent lifestyle tips
- Networking with industry pros
- Proven online income strategies