Building in public — sharing your startup journey, metrics, decisions, and even failures in real-time — is one of the most effective marketing channels available to solo founders. It costs nothing but time, builds genuine audience trust, and creates a distribution channel that compounds over time. This guide covers what to share, where to share it, how to stay consistent, and how to measure results, based on the experience of building tanstackship.com in public.
Why Building in Public Works
Traditional SaaS marketing requires budget: paid ads, content agencies, PR firms. Building in public requires only consistency.
| Channel | Cost per Acquisition | Time to First Result | Trust Level | Scalability |
|---|---|---|---|---|
| Paid ads | $50-200 | Instant | Low | High |
| SEO content | $500-2,000/article | 3-6 months | Medium | High |
| Building in public | $0 | 1-3 months | High | Medium |
| Cold outreach | $0 | 2-4 weeks | Low | Low |
| Referrals | $0 | 6-12 months | Very high | Very high |
What to Share: The Content Spectrum
Level 1: Technical (Low Effort, High Value)
Share specific technical challenges and solutions. This attracts fellow developers and establishes authority:
// Example: Share a specific D1 optimization you discovered
"I spent 3 hours debugging D1 query performance today.
The fix: use `.prepare()` for hot-path queries.
Before: 45ms per query. After: 3ms per query.
Diff: prepared-statement pattern. Thread below ↓"
[Code example showing the optimization]
Level 2: Build Decisions (Medium Effort, Higher Engagement)
Share your decision-making process. People follow along because they learn from your choices:
- "Why I chose TanStack Start over Next.js for my SaaS"
- "My pricing page before/after — what changed and why"
- "The 3 features I cut from my MVP to ship faster"
- "How I structured my D1 database for multi-tenancy"
Level 3: Metrics (High Effort, Maximum Trust)
Share real numbers. This is the most powerful form of building in public:
| Metric | When to Share | What to Include |
|---|---|---|
| Signups | Weekly | Total, daily average, conversion rate |
| Revenue | Monthly | MRR, growth rate, churn |
| Traffic | Monthly | Visitors, top sources, content performance |
| Costs | Quarterly | Infrastructure, tools, subscriptions |
| Users | Monthly | Active users, feature adoption, feedback themes |
Where to Share
Primary Platforms
| Platform | Best For | Posting Cadence | Content Format |
|---|---|---|---|
| Twitter/X | Technical audience, real-time updates | 2-5x daily | Short threads, code snippets, polls |
| B2B audience, professional narrative | 1-2x daily | Long-form posts, stories, reflections | |
| Dev.to | Developer community | 1-2x weekly | Tutorials, deep dives, architecture |
| Indie Hackers | Indie founder community | 1-2x weekly | Revenue reports, learnings |
| Hacker News | Launch announcements, technical posts | Occasional | Build stories, retrospectives |
Cross-Posting Strategy
Monday (Twitter): "Just shipped X feature — here's how it works"
Tuesday (LinkedIn): "The story behind why I built X"
Wednesday (Dev.to): Deep-dive tutorial on X
Thursday (Twitter): Metrics thread — signups, revenue, learnings
Friday (LinkedIn): Weekly reflection — what went well, what didn't
The Anti-Patterns
What NOT to Share
- Copied code — only share your own work
- User data — never share identifiable user information
- Vulnerabilities — fix security issues before discussing them
- Unverified claims — "10x faster" needs a benchmark
- Personal attacks — criticize ideas, not people
Common Mistakes
- Posting daily without value — "Day 47 of building my SaaS" with no substance
- Sharing only wins — audiences trust vulnerability more than perfection
- Ignoring engagement — reply to every comment, especially critical ones
- Inconsistent platforms — pick 2-3 platforms and go deep
- Premature monetization — build audience first, sell second
Building in Public Workflow
Weekly Content Calendar Template
## Monday — Technical
- Topic: [Specific technical challenge solved]
- Format: Code snippet + explanation (Twitter thread)
- Estimated time: 45 minutes
## Wednesday — Metrics / Milestone
- Topic: [This week's numbers]
- Format: Screenshot of dashboard + thread
- Estimated time: 30 minutes
## Friday — Reflection / Decision
- Topic: [One key decision made this week]
- Format: Long-form post (LinkedIn) or thread (Twitter)
- Estimated time: 60 minutes
Tools
# Screenshot capture
Command + Shift + 4 → Screenshot of your dashboard
# Code formatting
# Carbon.now.sh for beautiful code images
# Or use your editor's screenshot tool
# Analytics tracking
# Use your SaaS's built-in UTM system
Measuring the Impact
// Track building-in-public effectiveness via UTM
// src/server/analytics.ts
export const trackSocialReferral = createServerFn({ method: "POST" }).handler(
async ({ data, context }: { data: { platform: string; postType: string } }) => {
await context.env.DB.prepare(`
INSERT INTO social_referrals (id, platform, post_type, user_id, created_at)
VALUES (?, ?, ?, ?, ?)
`).bind(
crypto.randomUUID(),
data.platform,
data.postType,
context.session?.userId ?? null,
Date.now()
).run()
}
)
KPIs to Track
| Metric | Target | How to Measure |
|---|---|---|
| Followers/connections | +500/mo per platform | Platform analytics |
| Engagement rate | > 3% (Twitter), > 5% (LinkedIn) | Impressions / interactions |
| Referral traffic | > 10% of total site traffic | UTM tags on all shared links |
| Signups from social | > 5% of total signups | UTM source tracking |
| Waitlist signups per post | > 10 per technical thread | Short-link click tracking |
The Compounding Effect
Building in public compounds. Your first 10 posts get 50 views each. Your 100th post gets 5,000 views. Your 500th post gets 50,000.
This is because:
- Your audience grows (followers compound)
- Your content improves (practice compounds)
- Your network expands (connections compound)
- Your authority builds (reputation compounds)
After 12 months of consistent building in public:
- Platform A (Twitter): 5,000 followers → each thread reaches 10,000+
- Platform B (LinkedIn): 3,000 connections → each post reaches 8,000+
- Platform C (Dev.to): 500 followers → each article reaches 2,000+
Total reach: ~20,000-30,000 impressions per week. Cost: $0.
Case Study: Building TanStack Ship in Public
The journey of building tanstackship.com in public generated:
Month 1: 200 followers, 0 waitlist signups, posting every other day
Month 2: 800 followers, 15 signups, 2 technical threads went viral
Month 3: 2,500 followers, 80 signups, started weekly revenue reports
Month 6: 8,000 followers across platforms, 500+ signups
The most effective content was not promotional — it was educational. A thread titled "How I structured a SaaS database for multi-tenancy with D1" generated more signups than any direct "check out my product" post.
Getting Started Today
Step 1: Choose 2 platforms (recommended: Twitter + LinkedIn)
Step 2: Write 5 threads/posts about your current work
Step 3: Schedule one per day for this week
Step 4: Reply to every comment for 15 minutes daily
Step 5: After 1 week, review what resonated
Step 6: Double down on the format that got most engagement
Conclusion
Building in public is the single most cost-effective marketing channel for solo founders. It requires no budget, no special skills, and no permission. All it requires is consistency and a willingness to share.
The ROI is not immediate — the first month feels like shouting into the void. But the compounding effect is real. After 6-12 months of consistent sharing, you will have an audience that knows, likes, and trusts you. When you launch or announce something new, that audience becomes your distribution channel.
For a behind-the-scenes look at building a SaaS from scratch, follow the journey at tanstackship.com.












