Quickstart

Make sure Claude Code or similar is installed. Then:

Just tell Claude
claude --model claude-opus-4-6 --dangerously-skip-permissions
"Build me a Substack clone with Tidepool. See tidepool.sh/api for docs."

That's it. Claude reads the API, installs tidepool, builds your app, and deploys it. The whole thing takes about 10 minutes. The copy button includes a detailed prompt for best results.

See full prompt
Build a Substack clone as a Tidepool pod. Run 'curl https://tidepool.sh/api' first to learn the platform. Use tp.auth (with email verification+password), tp.payments ($5/mo paid tier), and tp.admin (restricted to author). Seed users: author@example.com / test123 (paid subscription), freereader@example.com / test123, paidreader@example.com / test123. Seed 5-7 real articles in tp.db (keys like post:slug), mix of free and paid, rendered with tp.markdown(). Topic: short essays on the Puritans — contrasting what they're known for in popular culture with what they actually said, ending with what that says about modern society. The author's view allows inline editing (title, body, free/paid, draft/published, image placement and scaling); readers see the same view minus controls. We have provided one hero image per article topic at https://tidepool.sh/quickstart/{romantic_love,family_inheritance,entrepreneurship,debt,land_ownership,marriage,child_rearing,political_life,class_differences}.jpg — download and use to build the clone. Style: serif fonts, no emojis. The dignity of a First Things or Atlantic style print magazine, avoid 2010s Wordpress style. Landing page: use a compact two-column grid of equally-sized article cards on desktop — no oversized featured/hero card. Keep it dense and scannable. Mobile-friendly. Hero images for each article. Test with 'tidepool dev' after each change. Verify: article cards on landing page, article detail, auth flow, paywall on paid articles, admin panel, author editing.
or do it manually
Step-by-step walkthrough
1

Install & init

pip install tidepool
tidepool init my-app
cd my-app

This creates a directory with a starter main.py.

2

Develop locally

Edit main.py to build your app. Here's a Linux kernel star tracker that updates every hour:

import tp

@tp.background(seconds=3600)
def track_stars(tp):
    resp = tp.http.get("https://api.github.com/repos/torvalds/linux")
    stars = resp.json()["stargazers_count"]
    history = tp.db.get("history", [])
    from datetime import datetime
    history.append({"stars": stars, "time": datetime.now().isoformat()})
    tp.db.set("history", history[-168:])  # keep 1 week

@tp.route("/")
def home(req):
    history = tp.db.get("history", [])
    latest = f'{history[-1]["stars"]:,}' if history else "loading..."
    rows = "".join(f'<tr><td>{h["time"][:16]}</td><td>{h["stars"]:,}</td></tr>'
                   for h in reversed(history[-24:]))
    return f"""<h1>Linux Kernel: {latest} stars</h1>
    <table><tr><th>Time</th><th>Stars</th></tr>{rows}</table>
    <p>Updates hourly. <a href='/_admin/'>Admin</a></p>"""

Run it locally with auto-reload:

tidepool dev
# http://localhost:8000
3

Deploy

tidepool --url https://tidepool.sh register --email you@example.com
tidepool deploy

Your pod is live at https://my-app.tidepool.sh in ~30 seconds. You get 25 free credits on signup (~5 days of compute). Check your email to verify.

Push & pull

Edit code and push changes. Or pull a live pod to work on it locally.

tidepool push              # push code + data to your pod
tidepool pull abc123       # pull pod abc123 to develop locally