On: GitHub Logo & PyPI

AI SEO Software to Future-proof You

In an era dominated by cloud subscriptions and complex frameworks, Pipulate champions a local-first revolution. It’s a free, open-source framework that transforms how you build AI-assisted applications by embracing a radical philosophy: explicit code is better than abstract code when you have AI to help manage it. Think: Notebooks β€” without Python 🚫🐍.

Your data. Your AI. Your machine. Your control.
No subscriptions, no vendor lock-in, no cloud costs.

Quick Start: Be Running in 5 Minutes

1. Install Nix (One-Time Setup)

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

Close your terminal and open a new one after installation.

2. Install Pipulate

With a custom name

curl -L https://pipulate.com/install.sh | sh -s Botifython

Or default installation

curl -L https://pipulate.com/install.sh | sh

3. Run It

cd ~/Botifython
nix develop

These few commands:

That’s it! You now have a local-first development environment with AI integration.

4. Run It Again!

  1. You can just forcibly exit out of that Terminal it’s running from.
  2. Open a new Terminal, and once again:
cd ~/Botifython
nix develop

5. The Big Reset (If Necessary)

Things sometimes go wrong. This is how you do a full Pipulate reset. This will also delete anything you downloaded with Pipulate. Adjust custom install name to what you used.

rm -rf ~/Botifython
curl -L https://pipulate.com/install.sh | sh -s Botifython
cd ~/Botifython
nix develop

Wait for BOTH TABS to auto-open in your browser.


The Local-First Revolution in AI-Assisted Development

🎯 For SEO Practitioners

Use apps that produce SEO β€œdeliverables” with AI assistance.

Integrated Data Science Environment

Jupyter Notebooks run alongside the FastHTML server, allowing developers to prototype workflows in a familiar environment before porting them to Pipulate’s step-based interface for end-users. The same Python virtual environment (.venv) is shared, and ad-hoc package installation is supported. If you’re using Cursor, VSCode or Windsurf, set your Ctrl+Shift+P β€œPython: Set Interpreter” to β€œEnter Interpreter Path” ./pipulate/.venv/bin/python. You might have to adjust based on the folder you use as your workspace. But then you’ll have a Python environment unified between Cursor, JupyterLab and Pipulate.

      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚   Jupyter Lab    β”‚    β”‚    FastHTML      β”‚
      β”‚   Notebooks      β”‚    β”‚     Server       β”‚
      β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
      β”‚ β”‚ Cell 1   β”‚     β”‚    β”‚  β”‚ Step 1   β”‚    β”‚
      β”‚ β”‚          β”‚     β”‚--->β”‚  β”‚          β”‚    β”‚
      β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
      β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
      β”‚ β”‚ Cell 2   β”‚     β”‚    β”‚  β”‚ Step 2   β”‚    β”‚
      β”‚ β”‚          β”‚     β”‚--->β”‚  β”‚          β”‚    β”‚
      β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
      β”‚  localhost:8888  β”‚    β”‚  localhost:5001  β”‚
      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ For Developers

Transform your Jupyter Notebook experiments into production-ready workflows:

What You Can Build

Pipulate excels at data processing workflows and AI-assisted applications:


How It Works: Simplicity Meets Power

Pipulate runs like a desktop app but uses web technologies. Think Electron, but better:

Why Local-First Wins

Cloud-First Pipulate Local-First
πŸ’Έ Monthly subscriptions πŸ†“ Free forever
πŸ”’ Vendor lock-in πŸ”“ Full control
πŸ“‘ Internet required 🏠 Works offline
🐌 API rate limits ⚑ No limits
πŸ‘οΈ Data mining πŸ” Complete privacy
πŸ”„ Constant updates break things πŸ›‘οΈ Stable, reproducible environment

Why Pipulate? The Philosophy That Changes Everything

Traditional development follows the DRY (Don’t Repeat Yourself) principle, creating abstract, complex systems that are hard to understand and modify. Pipulate embraces WET (Write Everything Twice) - explicit, readable workflows that are:

Learn more about the WET Philosophy β†’


The Technical Magic

# This is how simple Pipulate code looks
@rt("/process-data")
def process_data():
    return Div(
        H1("Processing Complete βœ…"),
        P("Your data has been analyzed locally"),
        hx_get="/next-step",
        hx_trigger="load"
    )

No template languages. No build steps. No client-side JavaScript frameworks. Just Python functions that generate HTML, powered by HTMX for seamless interactivity.

Architecture Overview Diagram

This diagram illustrates the high-level components and their interactions

                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” Like Electron, but full Linux subsystem
                 β”‚   Browser   β”‚ in a folder for macOS and Windows (WSL)
                 β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚ HTTP/WS
                       β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚           Nix Flake Shell             β”‚ - In-app LLM (where it belongs)
    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ - 100% reproducible
    β”‚  β”‚   FastHTML    β”‚  β”‚    Ollama    β”‚  β”‚ - 100% local
    β”‚  β”‚   HTMX App    β”‚  β”‚  Local LLM   β”‚  β”‚ - 100% multi-OS
    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
    β”‚          β”‚                            β”‚
    β”‚    β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
    β”‚    β”‚MiniDataAPI│◄───►│ SQLite DB  β”‚   β”‚
    β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

This complete, self-contained environment runs identically on any operating system, providing the foundation for all Pipulate workflows and AI interactions.

The Complete Guided Experience

Ready to dive deeper? Our Guide takes you through the complete journey:

  1. The WET Blueprint - The philosophy that changes everything
  2. Understanding Pipulate - Architecture and approach
  3. Building Your First Workflow - Hands-on development
  4. Advanced Patterns - Expert-level techniques

System Requirements


Join the Local-First Revolution

The future of software development is looking more like the past, but with AI capabilities that make it even better. It’s a future where:

Start your revolution today.

Install Pipulate β†’ Read the Guide β†’ View the Code β†’

Pipulate is free and open source software created by Mike Levin. Join the movement toward local-first, AI-assisted development.