Build and test complete SaaS applications with AI assistance on $80 hardware
Democratizing AI-driven development for the global audience with limited budgets
The Old Way: Enterprise AI development required $50,000+ workstations, excluding 95% of global developers
The New Way: A $480 Raspberry Pi setup that gives you the same AI capabilities as Silicon Valley startups
Financial Barrier Removed: What cost $50K now costs $480 (99% reduction) Global Access: Affordable in every country, not just Silicon Valley No-Code Revolution: AI builds your SaaS while you focus on customers Complete Automation: From idea to deployed app without manual coding Instant Testing: AI tests every feature before your users see it
- International Entrepreneurs: Access Silicon Valley AI tools on local budgets
- Students & Educators: Learn modern AI development without debt
- Side Hustlers: Build SaaS products while keeping your day job
- Solo Founders: Complete development team in a $80 device
- Small Teams: Compete with venture-funded startups
- Remote Communities: AI development anywhere with internet
E-commerce Tools
- Price monitoring across thousands of competitors
- Product research and market analysis
- Automated inventory tracking
- Customer sentiment analysis from reviews
Business Intelligence
- Social media monitoring dashboards
- SEO rank tracking services
- Lead generation and qualification
- Competitor analysis platforms
Automation Services
- Website uptime monitoring
- Content verification and compliance
- Data entry and processing
- Form filling and submission services
Marketing Solutions
- A/B testing platforms
- Landing page optimization
- Email campaign monitoring
- Social proof collection
- Describe Your Idea: "I want to monitor competitor prices"
- AI Writes the Code: Claude builds the scraping logic
- AI Tests Everything: Automated browser testing ensures it works
- Deploy & Scale: Your SaaS is ready for customers
- Profit: Focus on marketing while AI maintains the product
No-Code SaaS Development
- Describe your app idea in plain English
- AI writes, tests, and deploys your application
- Focus on customers, not coding
- Launch in days, not months
Massive Cost Reduction
- $480 vs $50,000+ for traditional AI development
- Same capabilities as Silicon Valley startups
- No recurring cloud bills or licensing fees
- Own your development infrastructure
Global Accessibility
- Works anywhere with internet connection
- Affordable in every country and currency
- No technical background required
- Complete tutorials and examples included
Instant Results
- See your SaaS working in real-time
- AI tests every feature automatically
- No debugging or technical troubleshooting
- Deploy to customers the same day
Never set up a Raspberry Pi before? COMPLETE SETUP GUIDE - Step-by-step from zero to SaaS builder in 30 minutes!
# Install system dependencies
sudo apt update
sudo apt install chromium-browser nodejs npm python3
# Verify Chromium works
chromium-browser --version
git clone https://github.com/nfodor/claude-arm64-browser
cd claude-arm64-browser
npm install
chmod +x *.py *.sh
# Verify it works immediately after install:
python3 -c "import sys; sys.path.append('.'); import arm64_browser; print('[OK] ARM64 Browser Works!' if 'error' not in arm64_browser.navigate('https://example.com').lower() else '[FAIL] Failed')"
Expected Result: [OK] ARM64 Browser Works!
# Quick demo with immediate visible results (30 seconds)
python3 instant_demo.py
# Or comprehensive demo showing all capabilities (2-3 minutes)
./run_demo.sh
# Test MCP server directly
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | node index.js
# Test Python wrapper
python3 simple_browser.py
# Install Claude CLI if you haven't already
npm install -g @anthropic/claude-cli
# From the project directory after cloning
claude mcp add chromium-arm64 "$(pwd)/mcp-wrapper.sh" --scope user
claude mcp list
# Should show: chromium-arm64: /path/to/mcp-wrapper.sh - β Connected
You MUST start a new Claude session after adding the MCP server:
# Exit current session if in one
exit
# Start fresh session
claude
Ask Claude to use the chromium-arm64 tools:
List available MCP servers and use chromium-arm64 to navigate to https://example.com
Take a screenshot using the chromium-arm64 tool
Use chromium-arm64 to click the button with selector #submit
Fill the email field using chromium-arm64 with [email protected]
Be explicit to avoid Playwright/Puppeteer:
- "Use chromium-arm64 to navigate..."
- "Using the chromium-arm64 tool, take a screenshot"
- "Open a browser" (might try broken Playwright)
- "Take a screenshot" (might try broken Puppeteer)
When working correctly, you'll see:
You: Use chromium-arm64 to navigate to https://httpbin.org/json and show me what you see
Claude: I'll navigate to https://httpbin.org/json using the chromium-arm64 tool.
[Uses chromium-arm64.navigate tool]
The page displays a JSON object with a slideshow structure containing:
- Author: "Yours Truly"
- Date: "date of publication"
- Title: "Sample Slide Show"
...
import simple_browser
# Navigate to any website
result = simple_browser.browser_navigate("https://example.com")
print(result) # "Successfully navigated to https://example.com"
# Take a screenshot
screenshot = simple_browser.browser_screenshot("homepage.png")
print(screenshot) # "Screenshot saved to /tmp/homepage.png"
# Execute JavaScript
title = simple_browser.browser_evaluate("document.title")
print(title) # Website title
# Extract page content
content = simple_browser.browser_get_content("text")
print(content[:100]) # First 100 chars of page text
Once configured, use these tools directly in Claude Code:
navigate
- Go to URLsscreenshot
- Capture page imagesclick
- Click elements by CSS selectorfill
- Fill form fieldsevaluate
- Execute JavaScriptget_content
- Extract page HTML/textclose_browser
- Clean shutdown
# Complete user journey testing - NO HUMAN DEBUGGING NEEDED
def test_saas_signup_flow():
# Navigate to signup page
simple_browser.browser_navigate("https://yourapp.com/signup")
# Fill registration form
simple_browser.browser_fill("#email", "[email protected]")
simple_browser.browser_fill("#password", "securepass123")
simple_browser.browser_click("#signup-btn")
# Verify successful signup
success_msg = simple_browser.browser_evaluate("document.querySelector('.success-message').textContent")
# Test dashboard access
simple_browser.browser_navigate("https://yourapp.com/dashboard")
dashboard_loaded = simple_browser.browser_evaluate("document.querySelector('.dashboard').style.display !== 'none'")
# Take screenshot for visual regression
simple_browser.browser_screenshot("dashboard_post_signup.png")
return "PASS" if success_msg and dashboard_loaded else "FAIL"
# Backend API validation through frontend
def validate_api_through_ui():
# Test data creation via UI
simple_browser.browser_navigate("https://yourapp.com/create-project")
simple_browser.browser_fill("#project-name", "Test Project AI")
simple_browser.browser_click("#create-btn")
# Verify data appears in list view
simple_browser.browser_navigate("https://yourapp.com/projects")
project_exists = simple_browser.browser_evaluate("document.querySelector('[data-project=\"Test Project AI\"]') !== null")
# Test data modification
simple_browser.browser_click("[data-project=\"Test Project AI\"] .edit-btn")
simple_browser.browser_fill("#project-name", "Modified by AI")
simple_browser.browser_click("#save-btn")
# Verify backend persistence
simple_browser.browser_navigate("https://yourapp.com/projects")
updated = simple_browser.browser_evaluate("document.querySelector('[data-project=\"Modified by AI\"]') !== null")
return {"api_create": project_exists, "api_update": updated}
# Automated cross-platform testing
def test_responsive_design():
test_results = {}
# Mobile viewport
simple_browser.browser_evaluate("window.resizeTo(375, 667)") # iPhone size
simple_browser.browser_navigate("https://yourapp.com")
simple_browser.browser_screenshot("mobile_view.png")
mobile_nav = simple_browser.browser_evaluate("document.querySelector('.mobile-nav').style.display !== 'none'")
# Desktop viewport
simple_browser.browser_evaluate("window.resizeTo(1920, 1080)")
simple_browser.browser_screenshot("desktop_view.png")
desktop_nav = simple_browser.browser_evaluate("document.querySelector('.desktop-nav').style.display !== 'none'")
return {"mobile_responsive": mobile_nav, "desktop_responsive": desktop_nav}
# Monitor competitor pricing
simple_browser.browser_navigate("https://competitor.com/pricing")
simple_browser.browser_screenshot("competitor_pricing.png")
prices = simple_browser.browser_evaluate("document.querySelectorAll('.price').length")
# Check search rankings
simple_browser.browser_navigate("https://google.com/search?q=your+keywords")
simple_browser.browser_screenshot("serp_results.png")
rankings = simple_browser.browser_evaluate("document.querySelector('.g').textContent")
Every SaaS startup MUST ensure their application works end-to-end before shipping. Traditional approaches fail because:
- ** Manual Testing**: Expensive, slow, error-prone, doesn't scale
- ** x86_64 Only Tools**: Puppeteer/Playwright fail on ARM64 with broken binaries
- ** Human Debugging**: QA teams spend days debugging test failures
- ** Limited Coverage**: Can't test every user journey without massive teams
- ** Regression Blind Spots**: Changes break existing features without detection
- Zero Human Debugging: AI agents test complete user flows autonomously
- 24/7 Continuous Testing: Always-on validation on budget hardware
- Full Stack Coverage: Frontend + Backend + API validation through real browser
- Visual Regression Detection: Screenshots catch UI breaking changes automatically
- Cross-Device Testing: Mobile/tablet/desktop viewport automation
- Native ARM64: Uses system Chromium instead of broken x86_64 binaries
- Cost Effective: $480 setup vs $50K+ traditional QA infrastructure
Before: Manual QA teams β Expensive β Slow β Human errors β Limited coverage
Deploy β Hope β Customer finds bugs β Emergency fixes β Reputation damage
After: AI agents β Autonomous β Fast β Comprehensive β 24/7 monitoring
Code β AI tests everything β Deploy with confidence β Happy customers
Standard browser automation fails on ARM64 because Puppeteer/Playwright download x86_64 binaries that don't run. Our solution:
- Uses system-installed Chromium (native ARM64)
- Proper launch flags for headless ARM64 operation
- MCP protocol compliance for Claude Code integration
- Zero dependency on pre-built browser binaries
graph TB
A[Claude Code] --> B[MCP Protocol]
B --> C[ARM64 Browser Server]
C --> D[System Chromium]
D --> E[Web Pages]
F[Python Tools] --> C
G[Direct CLI] --> C
- OS: Raspberry Pi OS (64-bit) or any ARM64 Linux
- RAM: 4GB minimum, 8GB recommended
- Storage: 32GB+ fast SD card (Class 10/A2)
- Browser: Chromium (installed via apt)
- Runtime: Node.js 18+, Python 3.8+
// Optimized for ARM64
{
executablePath: '/usr/bin/chromium-browser',
headless: true,
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--disable-gpu',
'--disable-web-security',
'--disable-features=VizDisplayCompositor'
]
}
chromium-arm64 shows "β Failed to connect"
# Check if the wrapper script exists and is executable
ls -la $(pwd)/mcp-wrapper.sh
chmod +x mcp-wrapper.sh
# Test the server directly
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | node index.js
# Re-add with correct path
claude mcp remove chromium-arm64
claude mcp add chromium-arm64 "$(pwd)/mcp-wrapper.sh" --scope user
# IMPORTANT: Restart Claude
exit
claude
Claude tries to use Playwright/Puppeteer instead
- Be explicit: Always mention "chromium-arm64" in your prompts
- Check available servers:
claude mcp list
- If chromium-arm64 isn't listed, restart Claude
"Server not found" in Claude session
- MCP servers are loaded at startup
- Always restart Claude after adding/modifying MCP servers
- Run
claude mcp list
to verify before starting
Browser won't start
# Check Chromium installation
which chromium-browser
chromium-browser --version
# Test headless mode
chromium-browser --headless --disable-gpu --dump-dom https://example.com
MCP connection fails
# Verify Claude Code MCP setup
claude mcp list
# Test server manually
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | node index.js
Memory issues
# Monitor system resources
htop
# Optimize Chromium memory usage
# Add to browser args: '--memory-pressure-off', '--max_old_space_size=512'
Build a complete AI-powered development environment for less than a high-end graphics card:
Component | Purpose | CostΒΉ |
---|---|---|
Raspberry Pi 5 16GB | Main compute unit | $180 |
Official Pi Display 2 | Touch interface | $120 |
Official Pi Power Supply | Reliable 27W power | $25 |
SanDisk Extreme 128GB A2 | Fast storage | $35 |
Claude Code Pro (2 months) | AI development platform | $80 |
Case + Cables | Protection & connectivity | $40 |
Total | Complete AI Workstation | $480 |
- Portable AI Workstation: Desktop-class performance in a 4"Γ3" footprint
- Claude Sonnet 4 Access: Latest AI model with 200K context window
- Browser Automation: Web scraping, testing, monitoring capabilities
- 24/7 Operation: Always-on AI assistant and automation
- Low Power: 15W total system power (vs 500W+ traditional setup)
- Silent Operation: No fans, completely quiet
- Touch Interface: Direct interaction with built-in display
- ** Autonomous Testing**: AI agents test entire SaaS flows without human debugging - saves 40+ hours/week
- ** Continuous Validation**: 24/7 monitoring ensures your app works before customers find bugs
- ** QA Cost Savings**: Replace expensive manual testing teams with automated AI validation
- ** Faster Shipping**: Deploy with confidence knowing AI has tested all user journeys
- ** Zero Regression**: Automated visual and functional testing prevents breaking changes
- ** Market Research**: Automated competitor analysis saves 20+ hours/week
- ** Customer Support**: AI-powered response generation and testing
- ** Content Creation**: Automated social media monitoring and content ideas
- ** Product Development**: AI-assisted coding and rapid prototyping
We welcome contributions! This project democratizes AI access for startups and makers.
- Mobile browser support (Android/iOS testing)
- Additional MCP tools and integrations
- Performance optimizations for Pi Zero/smaller devices
- UI/UX improvements for touch interface
- Tutorial content and use-case examples
git clone https://github.com/nfodor/claude-arm64-browser
cd claude-arm64-browser
npm install
# No development server needed - ready to use!
MIT License - feel free to use in commercial projects!
- Anthropic for Claude Code and MCP protocol
- Raspberry Pi Foundation for democratizing computing
- Chromium Project for ARM64 browser support
- Open Source Community for making this possible
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
- Repository: github.com/nfodor/claude-arm64-browser
Star this repo if it helps your startup leverage AI on a budget!
Every star helps more developers discover affordable AI solutions
ΒΉ Pricing as of 2025 (USD, approximate):
- Raspberry Pi 5 16GB: $180 (official MSRP)
- Pi Display 2 (11.9" Touch): $120 (official accessory)
- Official 27W USB-C PSU: $25 (recommended for Pi 5)
- SanDisk Extreme 128GB A2: $35 (high-speed micro SD)
- Claude Code Pro: $40/month (2-month startup period)
- Case & Cables: $40 (official case + HDMI/USB accessories)
Prices may vary by region and availability. Check official retailers for current pricing.
Built with β€οΈ for the maker and startup community