Built for WordPress, custom PHP, and any FTP host

Talk to your old site.
Edit it like it's 2026.

Pier is a native Mac app that connects to any FTP/SFTP server and lets you edit, audit, and refactor with AI. Every change is versioned. Every undo is one click. No more 11 PM panic over a broken homepage.

14-day free trial · No credit card · Your own API key or Claude Code subscription
Pier — AI for legacy websites
Connections
tegels.nl
web01.itile.app
Rename brand everywhere
Run SEO audit
Add cookie banner
spackwerkreparatie.nl
ftp.shared.nl
schilderspuiter.nl
ftp.hosting.com
Menu
tegels.nl
WordPressLiteSpeedPHP 8.2
Rename "TEGELS.NL" to "Tegels.nl" across every footer, meta tag, and page title — but leave the database content alone.
Scanned 47 files · Found 23 matches in 8 files
I found 23 occurrences across 8 files. Reviewing them now — each looks safe to rename (all in templates, not DB-stored content). Here's the first batch:
Batch edit footer.php · header.php · +6 more 23 changes · 0 destructive
12<meta name="description" content="
13 TEGELS.NL — het grootste tegelplatform">
13 Tegels.nl — het grootste tegelplatform">
14<title>
47 Partners van TEGELS.NL
47 Partners van Tegels.nl
48</h2>
+ 19 more lines
Accept all 23 Review each Reject
Every file gets its own restore point. I skipped wp-options table text — that lives in the database, not in any file.
Works with WordPress Drupal Joomla Magento Laravel Custom PHP Static HTML
8 hrs
SAVED PER WEEK
4K+
TOKENS OF SITE CONTEXT PRE-LOADED
0
SITES BROKEN. EVER.
10+
STACKS SUPPORTED OUT OF THE BOX
Core workflow

Not another file manager.
A senior developer for your legacy stack.

Pier reads your code, understands your site structure, and proposes surgical edits you can accept with one click. Every change is tracked. Nothing is lost.

Refactor across files in one message

Old sites are full of duplicated strings — a phone number in the header, a brand name in the footer, a meta description in every template. Pier finds every occurrence, groups them into one proposal, and lets you accept all with one click.

  • Batch find-and-replace with context-aware matching
  • One restore point per file — revert any or all
  • Server-side validation: won't match ambiguously
  • Handles htaccess, PHP, HTML, CSS, JS, JSON
Batch rename · 23 changes across 8 files
header.php · 4 changes
Meta title, OG tag, navigation label, alt text
Accept
footer.php · 7 changes
Brand mention, copyright, contact block
Accept
templates/single.php · 3 changes
Schema.org metadata
Accept
templates/page.php · 2 changes
Default hero + subtitle
Accept
+ 4 more files
contact.php, about.php, blog_item.php, sitemap.xml
Accept all

Time travel. Per file, per chat.

Every accepted edit creates a checkpoint. Versions are chat-scoped — you see exactly what got changed in this conversation, when, and by whom. One click restores any file to any state.

  • Per-chat version history (no global noise)
  • Before / after stored — diff preview before restore
  • Auto-snapshot before risky edits (.htaccess, wp-config)
  • Undo toast for 10 seconds after every apply
Versions · 6 checkpoints in this chat
Restored: contact.php
12:44 · v_98b · 4856 → 4843 bytes
Reverted H1 change back to original
Diff
Edit: contact.php
12:42 · v_64b · 4843 → 4856 bytes
Changed H1 text per user request
RestoreDiff
Edit: footer.php
12:31 · v_7a2 · 9971 → 9971 bytes
Replaced "TEGELS.NL" → "Tegels.nl" (5x)
RestoreDiff
Created: generated-by-ai.php
12:08 · v_d91 · New file · 2,340 bytes
Based on contact.php template
RestoreDiff
@-mention audits

Ten specialist agents at your command

Type @security, @seo, @performance, @broken_links — Pier scans your live site and reports issues. Each finding comes with a one-click "fix it" proposal.

  • @seo · @security · @performance · @accessibility
  • @broken_links · @meta_description · @viewport · @analytics
  • @external_links · @nofollow · @full_audit
  • Fixes are proposals, not auto-applies. Always reviewable.
@security scan · 3 findings

Security audit complete

Scanned 47 files · finished in 4.2s
wp-config.php exposed to public path
public_html/wp-config.php · readable
Fix
Missing HSTS header
.htaccess · 17 lines
Fix
XMLRPC endpoint enabled
xmlrpc.php · consider disabling
Fix

Browse, edit, drop-upload

A full file editor with CodeMirror syntax highlighting for PHP, HTML, CSS, JS, SQL, Markdown. Drag-and-drop to upload. Resize the tree. Cmd+F to find. Cmd+S to save. Every save is backed up.

  • Syntax highlighting for 10+ languages
  • Drag-and-drop upload anywhere
  • Automatic backup on every save
  • Persistent UI state (tree width remembered)
Files · footer.php (editing)
public_html
wp-content
includes
header.php
footer.php
index.php
contact.php
.htaccess
1<?php
2get_sidebar('footer'); ?>
3 
4<footer class="site-footer">
5  <div class="container">
6    <p>© 2026 Tegels.nl</p>
7    // @pier: replaced 2026-04-14
8  </div>
9</footer>

Your credentials, encrypted

FTP passwords stored with AES-256-GCM + HMAC integrity. They never leave your Mac. Ever.

Knows your site on connect

Detects CMS, reads .htaccess for URL routing, maps working folders — all before you type a word.

Surgical, not sprawling

Uses find+replace with surrounding context. Won't rewrite whole files. Won't touch what you didn't ask about.

Understands Dutch, French, Spanish…

Speaks every language your site speaks. Auto-detects preferred language per connection.

Your AI, your choice

Bring your own Anthropic API key OR use your Claude Code subscription. No vendor lock-in.

Secrets never shown

Auto-redacts wp-config, .env, .htpasswd, DB credentials from chat. The AI never echoes them back.

The old way vs Pier

FTP hasn't changed since 2008. Your workflow shouldn't have either.

Stop context-switching between an FTP client, an editor, a terminal, and a panic-restore backup.

Task
Transmit / FileZilla / ForkLift
Pier
"Change the brand name everywhere"
Open 8 files manually · grep · edit · save · upload each · hope
One message · accept batch · done in 20s
"Find where the menu lives"
Download whole site · grep locally
"Edit the menu" → Pier traces includes automatically
"Oops, I broke the site"
Hope you kept a backup · FTP restore · pray
Click Undo toast → instant revert
"Run a security scan"
Not a feature. Subscribe to separate SaaS ($50/mo+)
Type @security → done
"Edit syntax-highlighted PHP"
Open in external editor · manage sync
Built-in CodeMirror · save with Cmd+S
Built for keyboards

Power-user shortcuts, zero memorization

Press ? anytime for a full list. Every modal closes with Escape. Every find works with Cmd+F.

Send message
Focus inputK
Search chatsF
Save fileS
Show shortcuts?
Close / cancelEsc
I inherited a 9-year-old Joomla site from a client. Before Pier, maintenance took me a full afternoon every week — grep, FTP, pray. Now I chat for five minutes and the job's done. The undo alone paid for the subscription after one near-miss.
D
Daan K.
Freelance web developer · Netherlands
Pricing

One subscription. Every site you maintain.

14-day free trial. No credit card. Cancel anytime in App Store settings. Apple Small Business pricing — fair to indie devs.

Monthly

€15/month
  • Unlimited FTP / SFTP connections
  • Unlimited AI chat turns
  • Full version control
  • Drag-and-drop upload
  • All 10+ audit agents
  • Updates included
Start 14-day trial

Lifetime

€249once
  • One payment, forever
  • Everything in Yearly
  • All v1 updates included
  • Best for long-term agencies
  • No recurring billing
Buy lifetime

Use your own Anthropic API key (pay-per-token) OR your Claude Code subscription (€0 per message) — Pier supports both.

FAQ

Questions, answered

Do I need an Anthropic API key?

No. Pier works with either your own Anthropic API key (pay-per-token, roughly $0.01-0.05 per turn) or your existing Claude Code subscription (zero per-turn cost). It auto-detects what you have. We'll guide you through setup the first time.

Will it actually edit my live website?

Yes — that's the whole point. Pier connects via FTP/SFTP to any host (DirectAdmin, cPanel, Plesk, custom). Every edit is proposed as a diff first — you click Accept, Pier uploads, and the file's previous state is saved as a version you can restore at any time.

Is my FTP password safe?

Yes. Credentials are encrypted (AES-256-GCM) on disk with HMAC integrity checks. Nothing leaves your Mac except the FTP traffic itself. We never see your passwords. The encryption key sits in your local .env with owner-only file permissions and benefits from FileVault disk encryption.

What if the AI breaks my site?

Two safety nets: (1) every edit is a diff you approve before applying, (2) every accepted edit creates a restore point. For high-risk files (.htaccess, wp-config.php, composer.json) Pier auto-creates a folder snapshot before applying. Worst case: one click and you're back to the previous state.

Does it work with WordPress?

Excellent with WordPress. Pier detects WP automatically, knows the theme/plugin/uploads layout, and reads wp-config.php safely (secrets auto-redacted in chat). For content stored in the database (posts, pages), Pier tells you so directly — you'll need wp-admin or phpMyAdmin for those. Pier handles every theme file, plugin file, and config that lives on disk.

What about agencies and teams?

Each Pier seat handles unlimited connections. Add a license per developer; everyone gets their own chat history per client site. Team-shared knowledge base and shared connection pools are on the roadmap for Q3 2026.

Does it work offline?

The file editor works offline for locally cached content. The AI requires internet (to reach Anthropic or your local Claude). Version history and backups are stored on disk and work without a connection.

Why is it called Pier?

A pier is where boats dock to load and unload cargo. Your AI assistant docks with the FTP server to deliver and retrieve files. Short, memorable, and the metaphor actually works.

Beta access opens November 2026

Stop dreading legacy maintenance.
Start a 14-day trial.

No credit card. Full access. Cancel with one click. Works with every site you already maintain.

Join the waitlist