Template · CSV

Launch tracker template to download

One row per platform, one status per row, and a date to check again. Fill it in right here or download the CSV for your spreadsheet. The statuses separate "I pressed submit" from "anyone can see it", so your launch report adds up.

Fill in the tracker

Add one row per platform. The counts update as you type, and Download gives you the same rows as a CSV that opens in Excel, Google Sheets, LibreOffice and Numbers.

Your counts

Rows
0
Submitted
0
Live
0
Needs you
0
Check due today
0

    Your rows stay in this browser (local storage) and are never sent anywhere. Clear removes them.

    Tracking link: UTM builder for your launch links →

    Download without filling in

    Both files use UTF-8 with a byte order mark and comma separators, so accents and CJK characters survive in Excel.

    What a filled-in tracker looks like

    Ten made-up rows around a launch on October 6, 2026. The names are placeholders and the links use reserved example domains; replace every row with your own.

    Platform or channelStatusSubmitted onCheck again onProofNext action
    Launch platform ALiveSep 22, 2026Listing opened signed out, no pending labelNone
    Launch platform BScheduledSep 23, 2026Oct 6, 2026Confirmation email names the launch dateOpen the listing on October 6
    Startup directory CPending reviewSep 24, 2026Oct 8, 2026Success page after submittingCheck again after the 14-day review window
    Software directory DPending reviewSep 25, 2026Oct 1, 2026Public page carries a "pending approval" labelCheck the label again
    Launch community EQueuedSep 25, 2026Oct 13, 2026Dashboard shows position 12 in the queueWait; never resubmit
    Newsletter FNeeds youOct 2, 2026Form stops at a CAPTCHASolve the CAPTCHA, then submit
    Directory GDraftDescription and screenshots readySubmit after launch day
    Review site HAlready listedProduct page existed before this launchNone
    Directory IProblemSep 26, 2026Oct 10, 2026Form error: "domain must be at least 30 days old"Try again after the domain is 30 days old
    Marketplace JParkedOnly a paid listing is offeredYour decision: pay or skip

    Submitted: 5 · Live: 1 · Needs you: 1

    The nine statuses

    Each row has exactly one status. Change it only when you have the proof in the fourth column. These are the same buckets LaunchRepo uses in its own dashboard, explained in detail in the article linked below.

    StatusCode in the CSVMeaningProof before you set itNext actionCounts as submitted
    DraftdraftPrepared on your side, nothing sent yet.None needed.Finish and submit, or delete the row.No
    Needs youneeds_youA named step waits for a person: CAPTCHA, two-factor code, badge, a decision.Write the exact step in the row.Do that step, then set the real status.No
    Pending reviewpendingThe platform received it and has not decided yet.A receipt: success page, email or dashboard entry.Check again after the stated review window.Yes
    QueuedqueuedIt has a place in line, but no date yet.The platform shows the queue or your position.Wait and check again. Do not submit a second time.Yes
    ScheduledscheduledThe platform confirmed a date.The confirmed date, written in the row.Open the listing on that date.Yes
    LivelivePublished: a signed-out visitor sees it and nothing says pending.The public URL, opened signed out.Nothing. Keep the URL.Yes
    Already listedalready_listedA listing existed before you started.The existing URL.Nothing. Do not submit again.No
    ProblemproblemBlocked by a rule or account limit, or the form does not work right now.The error or rule, word for word.Fix the cause, try later, or drop it.No
    ParkedparkedPaid-only route or not a fit. Your decision.The reason in one line.Nothing unless you change your mind.No

    Three numbers to report

    A single "done" total hides the difference between sent and published. Report three numbers instead:

    1. Submitted: pending review + queued + scheduled + live. The platforms that received your product.
    2. Live: public listings you can link to today.
    3. Needs you: rows waiting for a person.

    The CSV itself contains no formulas, on purpose (see the next section). Once the file is open in your spreadsheet, paste these into any empty cell. They read the status_code column, which stays in English in every language:

    Submitted: =COUNTIF(I:I,"pending")+COUNTIF(I:I,"queued")+COUNTIF(I:I,"scheduled")+COUNTIF(I:I,"live")
    Live: =COUNTIF(I:I,"live")
    Needs you: =COUNTIF(I:I,"needs_you")

    If your spreadsheet uses a comma as the decimal separator (common in German, French, Spanish and many other locales), use the second version with semicolons.

    Submitted: =COUNTIF(I:I;"pending")+COUNTIF(I:I;"queued")+COUNTIF(I:I;"scheduled")+COUNTIF(I:I;"live")
    Live: =COUNTIF(I:I;"live")
    Needs you: =COUNTIF(I:I;"needs_you")

    Track directory submissions without double counting →

    What each column is for

    Eight columns plus the status code. Each one answers a question you will have in a week:

    Platform or channel
    Where the product goes, in your own words.
    Status
    Exactly one of the nine statuses above.
    Submitted on
    The day the platform received it. Empty for drafts.
    Check again on
    When to look again: review window, launch date, follow-up.
    Public URL
    The listing as a signed-out visitor sees it.
    Tracking link
    The UTM-tagged link you gave this platform.
    Proof
    What you saw: success page, email, date, label.
    Next action
    The one thing that moves this row forward.

    Safe to open in a spreadsheet

    • A cell that starts with =, +, - or @ can run as a formula when a spreadsheet opens a CSV. The exporter puts an apostrophe in front of such values, including the full-width variants used in Japanese and Chinese input, so they show as text.
    • Every value with a comma, semicolon, quote or line break is wrapped in double quotes, and quotes inside are doubled, as RFC 4180 describes.
    • Control characters are removed and each field has a length limit, so one pasted email cannot break the file.
    • OWASP notes that Excel may drop the protection when you save and reopen the file as CSV. Save your working copy as .xlsx or in Google Sheets.
    TopicOriginal wordingWhat the exporter does
    Formula cellsany cells starting with = will be interpreted by the software as a formula.Values starting with = + - @ get a leading apostrophe.
    MitigationPrepend each cell field with a single quoteThe apostrophe is the mitigation used here; it keeps the value readable.
    Full-width charactersFull-width (double-byte) variants of formula-initiating characters= + - @ are treated like their ASCII versions.

    What this template does not do

    • It does not check any platform for you. Every status is what you observed yourself.
    • It comes without a list of platforms. Which ones fit your product is a separate decision.
    • It is not the LaunchRepo tracker. That one is a script your coding agent runs; it refuses a live status without a reviewed public URL and never overwrites a row silently.
    • It keeps your rows in one browser only. For a second device, download the CSV.

    Launch plan template →

    Sources

    Checked on September 30, 2026. The status model is LaunchRepo’s own, already public in the article linked above.

    SourcePage dateChecked
    OWASP: CSV Injectionno date on the page
    RFC 4180: Common format and MIME type for CSV files (October 2005)no date on the page

    Frequently asked questions

    What should a launch tracker contain?
    One row per platform with a single status, the date the platform received it, the date to check again, the public URL once it exists, the link you gave the platform, and what you actually saw as proof. That is enough to answer "where are we?" without guessing.
    Why nine statuses instead of "done"?
    "Done" mixes up sent, waiting and published. Nine statuses keep those apart, and because each row has exactly one, the counts always add up to the number of rows.
    Does the CSV work in Google Sheets and Excel?
    Yes. It is UTF-8 with a byte order mark and comma separators. In Google Sheets use File → Import; in Excel open the file directly or use Data → From Text/CSV.
    Why does the CSV contain no formulas?
    A CSV that runs formulas when opened is the same mechanism attackers use for CSV injection. The file stays plain data; the page gives you three formulas to paste yourself.
    Is anything I type sent to LaunchRepo?
    No. The rows stay in your browser’s local storage and the CSV is created on your device. Clear all deletes them.
    When is a listing really live?
    When the public URL opens for a signed-out visitor and nothing on it says pending. A page that loads but shows a pending label stays pending review.

    Let your coding agent keep the tracker

    LaunchRepo gives your coding agent the submission playbooks and a tracker that records these statuses with proof, so a new session knows exactly where the last one stopped.

    See pricing