Don't let your deploys go unnoticed.

Every deployment is a win. Dplyd gives developers a simple public log of what shipped, when it shipped, and why it mattered. Share your wins, build a streak, and celebrate with the community.

Free forever No credit card API access included
Team of developers celebrating a successful deployment

Here's how it works.

Step 1

Deploy your code

Push to production using your favorite tools. Add one curl to your CI/CD — that's it.

Step 2

Share the moment

Your deployment appears in the live feed for the world to see. Add context about what you shipped.

Step 3

Celebrate together

Get reactions from fellow developers. Build your streak and show off with embeddable badges.

Polaroid photos of deployment moments scattered on a desk

Every deployment tells a story.

A midnight bug fix. A major feature launch. A complete rewrite that was totally worth it. Your deployments are more than git commits — they're milestones worth remembering.

Public deploy log

A permanent record of everything you've shipped, visible on your profile.

Embeddable badges

Add a live deploy badge to your GitHub README or portfolio. Updates automatically.

Shipping streaks

Track your consistency. How many days in a row can you ship?

deploy.sh
# After your deploy succeeds...
curl -X POST https://dplyd.com/api \
  -H "Authorization: Bearer $DPLYD_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message": "Shipped v2.0!"}'

View full API docs →

One line in your CI/CD.

Add a single curl command to your deployment script. That's it. Works with GitHub Actions, GitLab CI, Vercel, Netlify, or any pipeline.

  • No SDK required — just HTTP
  • Supports any language or platform
  • Real-time broadcast to followers

Your deploys deserve an audience.

Join developers who celebrate their deployments and build in public. Free forever. No credit card required.

Create your free account

Live Feed

Real-time deployments from the community

Live
Peter Theill
Peter Theill 
deployed a bug fix about 7 hours ago
about 7 hours ago
🐛 Press assets: handle non-variable logos (SVG/ICO) instead of 500ing
📱 Mobile-friendly navigation and package header
♻️ Restructure footer into Product/Company/Legal; drop Commanigy and dead dark footer
🐛 Center link icon inside hero URL field
💬 Update site title and meta description to package-first copy
🐛 Fix package cards overflowing page width with grid-cols-1
Peter Theill
Peter Theill 
deployed a feature about 11 hours ago
about 11 hours ago
🔥 Remove usage-count stats and placeholder-pricing note
Too few users for the numbers to help: drop the footer stat boxes,
"launched this week" counter, About's "By the Numbers", and the
"thousands of makers" claims. Directory catalog counts stay.
✨ WebMCP: in-page agent tools to read and create launch packages

  • /webmcp JSON endpoints (list, show, create) using session auth + CSRF,


gated by Plan#webmcp? with server-side package-limit enforcement

  • Stimulus controller registers navigator.modelContext tools (list-packages,


get-package, create-package) on <body> for entitled signed-in users

  • create runs the same WebScrapingJob enrichment as the web flow

:moneybag: Restructure plans: free extension, Maker caps at 5, Pro → Shipaholic

  • Chrome extension is now included on every plan, Free included

  • Maker drops from unlimited to 5 packages; Shipaholic keeps unlimited

  • Pro renamed to Shipaholic (display only — :pro key stays for Stripe/enum)

  • Drop all "automated submissions" claims and credits; the assisted flow is


semi-automated via the extension, and the copy now says so

  • New webmcp entitlement flag on Maker and Shipaholic

Peter Theill
Peter Theill 
deployed a documentation update about 12 hours ago
about 12 hours ago
📝 Launch plan → closed record: prep complete, one cron left
Peter Theill
Peter Theill 
deployed a bug fix about 16 hours ago
about 16 hours ago
🐛 Fix 500 following the password-reset redirect; SMTP via 587

  • sessions#new rendered a nonexistent new.turbo_stream when Turbo followed


a redirect with a turbo_stream Accept header — serve the HTML template

  • Resend SMTP moves from port 465 (Hetzner blocks outbound 25/465 by


default) to 587 with STARTTLS; the reset mail job was dying with
Net::OpenTimeout
Peter Theill
Peter Theill 
deployed a feature about 16 hours ago
Peter Theill
Peter Theill 
deployed a bug fix about 17 hours ago
about 17 hours ago
🐛 Upgrade buttons bypass Turbo — fetch can't follow the cross-origin redirect to Stripe Checkout
Peter Theill
Peter Theill 
deployed a refactoring about 17 hours ago
about 17 hours ago
🔧 Fix stripe credentials shape: webhook_secret key name + prices block
Peter Theill
Peter Theill 
deployed a security update about 17 hours ago
about 17 hours ago
🔒️ Live Stripe only in production
With live keys now in the shared credentials file, configured? became true
in development and test — checkout/cancel/mode gate on live_mode?
(production, or explicit STRIPE_LIVE=1) so local runs and the test suite
always simulate. Caught when a test stubbing production hit live Stripe.
Peter Theill
Peter Theill 
deployed a refactoring about 17 hours ago
Peter Theill
Peter Theill 
deployed a refactoring about 17 hours ago
about 17 hours ago
🔧 Helper to add Stripe secrets to credentials (price IDs prefilled)