Skip to content
ship-dailyPublic

About

Open-source launchpad where products grow in public. Launch, get real feedback, ship updates, relaunch.

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ShipDaily — Ship daily, together. A community where early-stage founders, indie hackers and SaaS builders back each other.

ShipDaily

The open-source launchpad where products grow in public.
Launch, get real feedback, ship updates, relaunch.

Website · Discord · Good first issues · Contributing

License: AGPL-3.0 CI Join the Discord GitHub stars Status: building in public


Why ShipDaily

Building got cheap. Getting anyone to actually try what you built didn't.

Most launchpads give you one day of vote-begging, then nothing. ShipDaily is built around what happens after launch day: real people trying your product, telling you what's wrong, and coming back when you've fixed it.

How it works

Launch your product ──▶ real founders try it and react ──▶ you ship updates
        ▲                                                        │
        └──────────── relaunch, past testers come back ◀─────────┘
🚀 Launch Weeks Small weekly cohorts of up to 20 products, opening every Monday, so every launch actually gets seen.
✅ "Tried it" votes A vote only counts after someone opens your product and leaves a one-line reaction.
🔁 Feedback credits Give-to-get: try other products to earn credits, spend them to launch. Add the ShipDaily badge to your site for starter credits.
🟩 Ship graph A GitHub-style contribution graph for shipping. Updates and launches fill the squares. No streaks, no guilt.
🧱 Product pages A living page per product: changelog, launch history, and how reactions changed between launches.
📣 Relaunch Ship a big update, relaunch it, and everyone who tried the last version hears about it.

Status

ShipDaily is being built in the open. The landing page is live at shipdaily.ai; the app lives in this repo.

  • Landing page
  • Sign in with GitHub, Google or a 6-digit email code
  • Founder onboarding and the home board
  • Branded emails, rate limiting, CI
  • Products, changelog and ship graph (#8, #10, #11)
  • Credits (#15)
  • Launch Weeks and tried-it feedback (#19, #23)
  • Pro plan (#26)

See all open issues, grouped by area: labels.

Quick start

The fastest way to run everything, with nothing installed but Docker:

git clone https://github.com/ship-daily/shipdaily.git
cd shipdaily
docker compose up

That starts Postgres, creates the tables and runs the app with hot reload at http://localhost:3000.

To sign in, use any email address. Locally no email is sent; the 6-digit code shows up in the logs:

docker compose logs -f app

No accounts, API keys or OAuth apps needed. Stop everything with docker compose down (your local data is kept).

Prefer running it without Docker for the app?

Requirements: Bun 1.3+ and any Postgres 15+ (docker compose up -d db gives you one).

bun install
cp .env.example .env.local      # set BETTER_AUTH_SECRET (openssl rand -base64 32)
docker compose up -d db         # Postgres on localhost:5432
bun run db:migrate
bun dev                         # http://localhost:3000

The sign-in code is printed in the terminal running bun dev.

CONTRIBUTING.md covers every command, the project layout, conventions and troubleshooting.

Tech stack

Layer Choice
App Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS v4
Data Postgres with Drizzle ORM (Neon in production)
Auth Better Auth: GitHub, Google and email codes
Email Resend, with a shared branded template
Hosting Vercel today; ready for Cloudflare Workers via OpenNext
Tooling Bun, Docker, GitHub Actions

Self-hosting

ShipDaily runs anywhere Node.js and Postgres do. Build the production image:

docker build --target prod -t shipdaily .
docker run -p 3000:3000 \
  -e DATABASE_URL=postgres://user:pass@host:5432/shipdaily \
  -e BETTER_AUTH_SECRET=$(openssl rand -base64 32) \
  -e BETTER_AUTH_URL=https://your-domain.com \
  shipdaily

Create the tables first, with the same image:

docker run --rm -e DATABASE_URL=postgres://user:pass@host:5432/shipdaily shipdaily bun run db:migrate

All settings (OAuth, email and more) are documented in .env.example.

Contributing

Contributions of every size are welcome.

  1. Pick an issue, ideally a good first issue, and comment on it so nobody doubles up.
  2. Run the app with docker compose up.
  3. Open a pull request. CI runs lint, typecheck and build, and the CLA bot asks you to sign once.

Bigger change in mind? Open an issue first so we can agree on the approach. Not sure where to start? Ask in Discord.

Open source

ShipDaily is AGPL-3.0. The whole platform is public and you're free to run it yourself. If you run a modified version as a service, you share your changes back.

The only things kept out of this repo are anti-abuse thresholds and ranking weights. Publishing them would make the system easy to game, so they're read from environment variables instead.

Community

License

AGPL-3.0 © ShipDaily

About

Open-source launchpad where products grow in public. Launch, get real feedback, ship updates, relaunch.

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages