We are in full betaBecome a founder
Share startup updates with your team, investors, or the world

Turn Your Startup Updates intoSlides, Reports, and Shareable Pages

Automatically turn milestones, sprint notes, images, and progress updates into polished slideshows, investor-ready PDF reports, and public or private update pages.

Used for investor updatesTeam reportingBuild in public projects

Chaos in · clarity out

Stop stitching startup updates across docs, chats, and email.

Capture progress once — then turn it into slides, reports, and shareable pages in seconds. Watch the mess become one sprint timeline you actually trust.

Illustration cycles between scattered docs, chat messages, and email — then a single sprint dashboard with one timeline.

For the weeks that don't go to plan

Your progress lives in too many tabs — but you still have to look like you've got it together.

Board prep at midnight. A team that needs the real story in one link. Supporters who want to follow along — not dig through screenshots in chat. You shouldn't need five tools to ship one honest update.

Investor updatesTeam reportingBuild in public

How it works

Three steps from raw updates to stakeholder-ready output.

Step 1

Post updates

Milestones, sprint notes, links, images — one structured timeline.

Step 2

Zipsite organizes everything

A clear project story for teams, investors, and stakeholder review.

Step 3

Share anywhere

Shareable page, slideshow, or PDF — public or private.

Built for how you actually work

Outcome-focused workflows — from weekly sprints to board-ready reporting.

For founders

Send investor and shareholder updates without rebuilding decks every week.

Investor updates

For teams

Keep everyone aligned with structured sprint updates, milestones, and visibility.

Team updates

For builders

Share startup progress publicly, attract supporters, and document the journey.

Build in public

One place for all your startup updates

Capture progress once — then ship slideshows, PDFs, and pages your stakeholders actually read.

Project updates & milestones
Public and private sharing
Slideshow export
PDF report export
Progress tracking
Team visibility
Activity feed
Community discovery
Shareholder reporting
Stakeholder-ready outputs

Project intelligence, not another empty doc

Milestones, visibility, and exports in one workspace — built for startup reporting and stakeholder review.

acme-startup / dashboard
Investor view
Metrics

MRR

$42k

Runway

14 mo

Activation

38%

Milestone timeline

Beta launch
Enterprise pilot
Series A deck

Visibility

Team & shareholders

Private links, controlled access, and exports for stakeholders.

Public page

Share progress with your community and discovery feed.

Export center

Generate slideshows and PDFs from the same timeline

SlideshowPDF reportShareable page
AgentDAO partnership

Powered by AgentDAO

AI-assisted organization, reporting, and project intelligence — support infrastructure behind Zipsite, not a replacement for your update timeline.

Abot
Automation
AI-powered automation tools to streamline business processes
  • Task automation
  • Workflow optimization
  • Business process management
AccountBot
Finance
Automates financial management tasks like bookkeeping and reporting
  • Bookkeeping
  • Financial reporting
  • Expense tracking
AdvoAgent
Marketing
Specializes in PPC and strategic keyword buying
  • PPC management
  • Keyword research
  • Ad optimization
AgentNews
Content
Builds news sites using AI agents
  • News aggregation
  • Content generation
  • Site building
Live

Live startup activity

New directory listings, founder milestones, and sprint updates — the same flow that powers slideshow and PDF exports.

MB
Maida Barrientos·
6h ago
Realtydao.com and app.realtydao.com conversion to nextjs - in progress
Community Fundraising for…
7%
00
MB
Maida Barrientos·
6h ago
tools.contrib - used for widgetizing contrib widgets -  Nextjs conversion - in progress

[Content from tools.contrib.com](https://tools.contrib.com)
Community Fundraising for…
7%
00
MB
Maida Barrientos·
10h ago
Converted https://api.dntrademark.com, https://dntrademark.com and https://dash.dntrademark.com to nextjs and now upgrading to the latest api

[Content from www.dntrademark.com](https://www.dntrademark.com)
Community Fundraising for…
7%
00
LC
Lucille Conde·
11h ago
Jayson Task Updates:
contrib.com : My Earnings Page (New)
http://localhost:3000/dashboard/earnings
My Earning Page

The My Earnings page is in place. Here’s what was added:

 

New files

src/lib/earnings.ts — Aggregates earnings from all three sources:

 

Referral rewards via getRewardsForEmail() (CTB + cash)

Completed tasks from VNOC cart_microtask + cart_order_list prices

Custom contributions with status_id: 5 (completed)

Challenge winnings from approved solutions (Approve: "Yes") with CashPrize / EquityPoints

src/app/(dashboard)/dashboard/earnings/page.tsx — Server page that loads data and passes it to the client.

 

src/app/(dashboard)/dashboard/earnings/earnings-client.tsx — Interactive UI with:

 

4 summary cards (Total USD, Referral CTB, Tasks, Challenges)

Earnings history table

Source filters: All | Referrals | Tasks | Challenges

Time filters: All Time | This Month | This Week

Earnings by brand breakdown

CSV export (filtered rows)

Sidebar update

src/components/layout/dashboard-nav-items.tsx — Added My Earnings with a DollarSign icon, placed after Dashboard.

 

Design notes

Matches existing dashboard styling (dark cards, amber/emerald accents)

USD and CTB are tracked separately in summaries

Brand grouping uses task domains, challenge FromDomain, and the referral campaign URL (defaults to contrib.com)

Challenge winnings only count approved solutions, since those represent actual wins
[Content from contrib.com](https://contrib.com)
00
LC
Lucille Conde·
11h ago
Jayson Task Updates
referrals.com : Page builds, component polish, navigation, and content
PART 1 — UI/UX IMPROVEMENTS (1–7)
1 — STATS PAGE (/stats)

Replaced "Performance Over Time" chart placeholder with Recharts area chart (brand color #ff5c62)
Added date range filter UI: 7 days, 30 days, 90 days, All time (client-side for now; server wiring marked TODO)
Expanded per-campaign table with Participants, Shares, and Clicks columns
Added alternating row colors and linked campaign names to /brands/{brandId}/campaigns/{campaignId}
Added member-level stats helpers for time-series and per-campaign data
New files:

src/components/dashboard/stats-chart.tsx
src/components/dashboard/stats-date-filter.tsx
src/components/dashboard/stats-performance-section.tsx
src/lib/member-stats.ts
6 — BILLING PAGE (/billing)

Added dismissible error banner from ?error= URL param (PayPal failures)
Added Cancel Subscription button with confirmation dialog, loading state, and toast
Added Reactivate Subscription button for cancelled-but-not-expired plans
Updated plan cards and buttons from blue to brand colors
Added overflow handling on payment history table
New files:

src/components/billing/billing-error-banner.tsx
src/components/billing/billing-subscription-actions.tsx
2 — SIDEBAR AND NAVIGATION

Added Integrations section under Tools: /integrations/shopify, /integrations/mailchimp, /tools/facebook
Removed duplicate Promotion card from /tools hub (kept /promotions as primary)
Added Integrations section to /tools hub
Added Bulk Import button on /brands linking to /brands/bulk
Updated tools hub link colors to brand tokens
4 — WALKTHROUGH PAGE (/walkthrough)

Replaced text-only steps with zigzag layout (image left/right on desktop, stacked on mobile)
Added image paths under /images/walkthrough/step-01-signup.png through step-08-reward.png
Added fallback placeholders when screenshot files are missing
Updated CTA to brand styling with "Try it now — Create Your Account" linking to /signup
New file:

src/components/public/walkthrough-step-image.tsx
5 — TOOL PAGES

Banners (/tools/banners)

File upload with preview, form fields (name, campaign, link URL), banner grid with delete
Wired to POST /api/upload
Ads (/tools/ads)

Create Ad Campaign dialog, Ad Preview card, Beta badge, coming-soon toast on submit
Partnerships (/tools/partnerships)

Brand browse/search grid, Request Partnership buttons, My Partnership Requests with status badges
New files:

src/components/tools/banner-manager.tsx
src/components/tools/ads-manager.tsx
src/components/tools/partnerships-browser.tsx
3 — KNOWLEDGEBASE (/knowledgebase)

Created dynamic article pages at /knowledgebase/{slug} for all 26 articles
Added breadcrumbs, prose layout, related articles sidebar, and per-article metadata
Fixed index links from #hash anchors to real routes
New files:

src/lib/knowledgebase-articles.ts
src/app/(public)/knowledgebase/[slug]/page.tsx
All 26 article routes:

/knowledgebase/creating-account, adding-brand, first-campaign, embedding-widget
/knowledgebase/campaign-types, goals, rewards, coupons, social-sharing
/knowledgebase/embed-code, widget-modes, widget-customization, shopify-widget
/knowledgebase/plans, paypal, upgrading, cancellation
/knowledgebase/mailchimp, shopify, zapier, rest-api, webhooks
/knowledgebase/dashboard-stats, tracking, exporting, share-links
7 — MOBILE RESPONSIVENESS (initial pass)

overflow-x-auto on stats, billing, and brands tables
min-h-11 touch targets on primary buttons
Responsive grids and flex-wrap on filters and toolbars
PART 2 — TABLET/MOBILE RESPONSIVENESS (below 1024px)
CORE LAYOUT

Mobile breakpoint raised from 768px to 1024px in src/hooks/use-mobile.ts
Sidebar uses slide-out sheet below 1024px; fixed desktop sidebar at 1024px+
Header shows hamburger menu and logo below 1024px; search bar hidden until 1024px+
Tighter main content padding on tablet (p-4 until lg)
DASHBOARD PAGES UPDATED

/dashboard

Stacked subheader and full-width action buttons until lg
Stat cards: 1 col mobile, 2 cols sm, 3 cols lg, 6 cols xl
Brand cards single column until lg
Quick links single column until sm
/stats

Stat cards stack until lg
Campaign table replaced with card list below lg (stats-campaign-mobile-list.tsx)
Date filter and chart header stack until lg
/contacts

Card list below lg; table at lg+ (contacts-mobile-list.tsx)
/brands

Full-width toolbar buttons until lg
Website URL shown under brand name on small screens
Fewer table columns on tablet; stacked action buttons
/billing, /tools

Plan and tool card grids stay 1 column until lg
/brands/[id] and sub-pages

Subheaders stack until lg
Stat grids, developer cards, widget forms, campaign stats: single column until lg
Campaign wizard step indicator vertical until lg
/forum

Header stacks with wrapping buttons
Topic cards stack on small screens
/account

Form fields single column until lg
Shared components

brand-dashboard-panel: date filters stack until lg
brand-edit-panel: header stacks until lg
reward-config-fields, campaign-share-links: lg grids
Tool pages (banners, ads, partnerships): card grids single column until lg
/public pages

/walkthrough: zigzag layout starts at lg
/knowledgebase: category grid 1 col until lg
New files:

src/components/dashboard/stats-campaign-mobile-list.tsx
src/components/dashboard/contacts-mobile-list.tsx
 DESIGN CONSISTENCY
Replaced generic blue-600 styling with brand tokens (bg-brand, text-brand) across updated pages
Used existing dashboard neutrals (#575962, #a7abc3, #ebeef0)
 - create favicon for referrals.com nextjs
Improve UI : sidebar, header navigation, links, dropdown menus, icons, and remove redundant links
[Content from referrals.com](https://referrals.com)
00
LC
Lucille Conde·
12h ago
Kareen Task Update:

contrib.com : Referral Page Polish

1. Page Exists and Loads Referral Data (Share History, Rewards)

VERDICT: DONE

Evidence:
- /src/app/(dashboard)/dashboard/referrals/page.tsx (lines 1-278): Complete referral page component
- Lines 49-60: Calls getReferralPageData() which loads shareHistory, shareTotal, destinationUrl, and
rewards
- Lines 217-268: Rewards section conditionally renders with rewards.length > 0 check
- Page retrieves referredCount and activeReferrals from main database (lines 50-55)

---
2. Referral Link Generates Correctly and Copy Button Works

VERDICT: DONE

Evidence:
- /src/app/api/referrals/route.ts (lines 1-82): POST endpoint that creates tracked links
- Line 66: Generates friendly tracking URL /r/{participantSlug(name)}/{id}
- /src/components/referrals/referral-share.tsx (lines 195-203): copyLink() function records share with
social_type: 0, generates tracked link, and copies to clipboard
- Lines 239-246: Copy button shows "Copied" feedback with Check icon
- Line 148-152: createTrackedLink() calls /api/referrals endpoint with wallet address

---
3. Social Share Buttons (Twitter, Facebook, LinkedIn, Email) Open Pre-filled Share Windows

VERDICT: DONE

Evidence:
- /src/components/referrals/referral-share.tsx (lines 34-67): PLATFORMS array defines all four
platforms
- Facebook (lines 35-41): shareUrl generates facebook.com/sharer/sharer.php?u={encoded_link}
- X/Twitter (lines 42-50): shareUrl generates twitter.com/intent/tweet?text=...&url={encoded_link}
- LinkedIn (lines 51-56): shareUrl generates linkedin.com/sharing/share-offsite/?url={encoded_link}
- Email (lines 58-66): shareUrl generates mailto:?subject=...&body={encoded_link}
- Lines 167-193: share() function opens window and sets location.href to pre-filled URLs
- Line 179: Window opened synchronously within click gesture to avoid popup blocking

---
4. Stats Section Shows People Referred, CTB Earned, Active Referrals with Real Data

VERDICT: DONE

Evidence:
- /src/app/(dashboard)/dashboard/referrals/page.tsx (lines 100-113): Stats grid with three cards
- Lines 49-52: referredCount = prisma.members.count({where: {ReferredBy: memberId}})
- Lines 53-55: activeReferrals = members with ReferredBy === memberId AND EmailVerified === 1
- Lines 75-85: ctbEarned = sum of CTB token amounts from rewards, rounded to 2dp
- Lines 102, 106, 110: Display referredCount, activeReferrals, ctbEarned as real numbers

---
5. Share History Table Paginated if Many Records

VERDICT: DONE

Evidence:
- /src/app/(dashboard)/dashboard/referrals/page.tsx (lines 40-42): Parse ?sharePage query param
(1-based)
- Lines 56-59: Call getReferralPageData() with sharePage and SHARE_HISTORY_PAGE_SIZE
- /src/lib/referrals-db.ts (line 269): SHARE_HISTORY_PAGE_SIZE = 10
- /src/lib/referrals-db.ts (lines 277-296): getShareHistoryForEmail() uses LIMIT/OFFSET pagination
- /src/app/(dashboard)/dashboard/referrals/page.tsx (lines 179-213): Pagination UI with Prev/Next
buttons, shows "Page X of Y"

---
6. Rewards List Shows CTB Token Rewards Earned

VERDICT: DONE

Evidence:
- /src/app/(dashboard)/dashboard/referrals/page.tsx (lines 217-268): "Rewards Earned" section
- Lines 222-227: Render token amount as +{token_amount} {token_symbol} or cash value
- /src/lib/referrals-db.ts (lines 332-346): getRewardsForEmail() queries participants_rewards with
email-based lookup via campaign_participants join
- Returns: id, token_symbol, token_amount, cash_value, coupon, custom_message, is_coupon_used,
date_sent, token_status
- Page shows status ("Sent"/"Pending") and coupon availability for each reward

---
7. APIs getreferralstats and getreferrallist Wired to Real DB or Stubs

VERDICT: PARTIAL (Stubs exist but are basic)

Evidence:
- /src/app/api/referralajax/[method]/route.ts (lines 60-72): getreferralstats endpoint
- Returns only: total_referred count from prisma.members.count({where: {ReferredBy: memberId}})
- Does NOT query participants_rewards table for CTB earned
- Lines 74-96: getreferrallist endpoint
- Returns paginated list of referred members: MemberId, FirstName, LastName, Username, SignupDate
- Does NOT include reward or conversion status
- Note: These endpoints are legacy (not used by the main referral dashboard page which uses
/api/referrals instead and direct DB queries)

---
8. Full Flow Support: Share Link → Friend Signs Up → Referral Recorded → Reward Issued

VERDICT: DONE

Evidence:

A. Share Link Generation:
- /src/app/api/referrals/route.ts (lines 53-67): Creates participant record, snapshots wallet, records
share, returns tracking URL

B. Tracking Link Click:
- /src/app/r/[slug]/[shareId]/route.ts (lines 33-72): Increments click counter, sets
REFERRAL_SHARE_COOKIE with shareId

C. Friend Signs Up:
- /src/app/api/signup/route.ts (lines 43-48): Calls attributeReferralOnSignup() with newMemberId,
email, name

D. Referral Recorded + Reward Issued:
- /src/lib/referrals-db.ts (lines 429-529): recordReferralConversion() does:
- Lines 442-458: Looks up share owner via participants_share.id
- Lines 461-463: Returns null if self-referral (prevent cheating)
- Lines 470-478: Idempotency check: one reward per referred email
- Lines 484-503: Creates/updates referred participant record with invited_by and invited_social
- Lines 506-515: Inserts pending token reward into participants_rewards table with token_symbol,
token_amount, participant_wallet, token_status="pending"
- Lines 518-521: Flags share as verified = 1

E. Data Flow:
- Reward issued: participants_rewards created with status "pending" (line 514)
- Share marked verified: participants_share.verified = 1 (line 519)
- Referred member marked: Members.ReferredBy = ownerMemberId (line 573 in signup-submit)
- Dashboard loads rewards via getRewardsForEmail() which queries participants_rewards (lines 338-345)

Complete end-to-end flow is fully implemented and wired.

00
K
Kathy·
13d ago
Send email for VNOC OFFERS List

[Content from vnoc.growagent.com](https://vnoc.growagent.com/inbox/offers)
00
K
Kathy·
21d ago
Send 2k verified emails each


[Content from vnoc.growagent.com](https://vnoc.growagent.com/schedules)
00
K
Kathy·
26d ago
Growagent.com Marketing reachout nextweek using https://vnoc.growagent.com/

[Content from vnoc.growagent.com](https://vnoc.growagent.com/)
00

A live snapshot of activity on Zipsite — not paid endorsements or fabricated quotes.

12,000+

Founders & teams

3,400+

Active projects

500+

Updates shared

$67K+

Builder earnings / mo

Ready to share your startup updates better?

Create updates once, then share them as pages, slides, and reports — without rebuilding your story every week.

Your first report is minutes away — start free.

Try the slideshow or sprint updates on the Zipsitesolutions demo.