Contents

Chapter 1

Customization Guide — Side Project Manager

This guide explains how to adapt the Side Project Manager template to fit your specific workflow, whether you're a solo indie hacker or running a small team.


Personalizing the Status Pipeline

The default status pipeline is:

Idea → Validating → Building → Launching → Live → Paused → Archived

For a Simpler Workflow

If you don't need the full pipeline, reduce it to:

Idea → Active → Shipped → Archived

Delete the unused status options from the Select property and update any board views.

For a More Detailed Workflow

Add intermediate states if you need them:

Idea → Researching → Validating → Prototyping → Building → Alpha → Beta → Launching → Live → Maintaining → Paused → Archived

For Multiple Launch Channels

If you launch on multiple platforms, add a "Launch Channels" multi-select property with values like: Product Hunt, Hacker News, Reddit, Twitter, Newsletter, Blog.


Adapting the Idea Validation Scoring

Changing the Weights

The default validation formula uses these weights:

  • Market Size: 2x
  • Personal Interest: 1.5x
  • Technical Feasibility: 1x
  • Time to MVP: 1.5x
  • Monetization Potential: 2x

To emphasize learning over revenue, increase Personal Interest and Technical Feasibility weights:

  • Market Size: 1x
  • Personal Interest: 2.5x
  • Technical Feasibility: 2x
  • Time to MVP: 1x
  • Monetization Potential: 1x

To emphasize revenue, increase Market Size and Monetization weights:

  • Market Size: 2.5x
  • Personal Interest: 1x
  • Technical Feasibility: 1x
  • Time to MVP: 1.5x
  • Monetization Potential: 2.5x

Update the formula in formulas/FORMULAS.md with your new weights.

Adding Custom Criteria

To add a new scoring criterion (e.g., "Competitive Moat"):

1. Add a Number property to the Ideas Backlog database (scale 1-5)

2. Update the validation formula to include the new factor

3. Add the new weight to the formula denominator


Team Adaptations

Adding Team Members

If you're working with a co-founder or small team:

1. Add an "Assignee" property (Person type) to the MVP Checklist and Launch Tracker databases

2. Create a Team Members database with Name, Role, Email, and Capacity (hours/week)

3. Add a relation from MVP Checklist → Team Members

4. Create a "My Tasks" view filtered by the current user

Adding Communication Channels

Add a Multi-select property called "Channels" to the Projects database:

  • Discord server
  • Slack workspace
  • Email list
  • Twitter community
  • GitHub Discussions

Capacity Planning

Add a "Weekly Hours Available" number property to your Projects database. Compare this against the Effort estimates in your MVP Checklist to avoid overcommitting. Create a rollup on the Projects database that sums "Effort (hours)" from incomplete MVP Checklist tasks to see remaining work per project.


Revenue Tracking Enhancements

Tracking Multiple Revenue Streams per Project

The default Revenue Log tracks one revenue type per entry. For projects with multiple streams:

1. Create separate Revenue Log entries for each stream (subscription, one-time sales, etc.)

2. Use the Revenue Type select to distinguish them

3. Create a "Revenue by Type" grouped table view

Adding Financial Goals

Add these properties to the Projects database:

  • Revenue Goal (Number, USD) — your monthly revenue target
  • Goal Progress (Formula) — Monthly Revenue / Revenue Goal * 100
  • Runway (Formula) — how many months until the project is profitable based on current growth

Expense Categories

Add a "Category" multi-select to the Revenue Log's Expenses column:

  • Hosting (servers, CDN, database)
  • Domain & DNS
  • Marketing (ads, promotions)
  • Tools & Services (monitoring, analytics)
  • Design Assets (icons, illustrations)
  • Legal (LLC, trademarks)

View Customization Ideas

Create a Gallery view on the Projects database:

  • Card preview: Description
  • Card content: Status, Monthly Revenue, Last Active
  • Filter: Status is not "Archived"
  • Sort: Priority descending, then Monthly Revenue descending

Weekly Focus Board

Create a Board view on the MVP Checklist:

  • Group by: Project
  • Filter: Status is "In Progress" OR (Status is "Not Started" AND Priority is "High")
  • Sort: Due Date ascending

Revenue Dashboard Table

Create a Table view on the Revenue Log:

  • Group by: Project
  • Calculate: Sum on Gross Revenue, Expenses, Net Revenue
  • Sort: Month descending
  • Show running totals per project group

Feedback Triage Board

Create a Board view on User Feedback:

  • Group by: Status
  • Filter: Category is "Bug" OR Severity is "High"
  • Sort: Date descending

Integration Suggestions

Notion API Automations

Notion's API can automate parts of your workflow. Here are starting points:

1. Auto-update Last Active — A cron job that updates the "Last Active" date on a project whenever you push to its repository

2. Revenue Import — Pull Stripe revenue data into the Revenue Log via the API

3. GitHub Issue Sync — Mirror GitHub issues into the User Feedback database

Connecting with Other Tools

ToolIntegration Point
GitHubLink repository URLs in the Projects database. Use GitHub Actions to update project status
StripeImport monthly revenue data into the Revenue Log
Plausible/FathomTrack live URLs' analytics; add "Monthly Visitors" property to Projects
Toggl/ClockifyImport time tracking data to update Hours Logged on Projects
Mailchimp/ConvertKitTrack newsletter subscriber counts as a revenue/growth metric

Archiving and Maintenance

Monthly Review Ritual

Set a recurring monthly reminder to:

1. Archive projects that have been "Paused" for 3+ months

2. Update revenue figures in the Revenue Log

3. Review and prioritize the Ideas Backlog

4. Close resolved User Feedback entries

Annual Retrospective

At the end of each year:

1. Export your Revenue Log to CSV for tax purposes

2. Calculate total hours invested vs. total revenue earned

3. Identify which project categories performed best

4. Update your Idea Validation weights based on what you learned

Chapter 2

Import Guide — Side Project Manager

This guide walks you through importing the Side Project Manager template system into your Notion workspace. The process takes about 15-20 minutes.


Prerequisites

  • A Notion account (free or paid)
  • The CSV files from the databases/ folder
  • The markdown files from the pages/ folder

Step 1: Import the Projects Database

This is the master database. Import it first because other databases will reference it.

1. Open Notion and navigate to the page where you want your Side Project Manager to live

2. Click the + button or type / and select "Table - Full page"

3. In the new empty table, click ··· (three dots) in the top-right corner

4. Select "Merge with CSV"

5. Choose databases/projects.csv from your computer

6. Notion will create columns matching the CSV headers

Configure Column Types

After import, update these column types by clicking the column header → "Edit property":

ColumnSet Type ToNotes
NameTitleShould already be set
StatusSelectAdd colors: Idea=gray, Validating=yellow, Building=blue, Launching=orange, Live=green, Paused=red, Archived=gray
DescriptionTextDefault
Tech StackMulti-selectNotion will auto-detect the semicolons as separate tags
StartedDate
Last ActiveDate
Hours LoggedNumberFormat as "Number"
Repository URLURL
Live URLURL
Monthly RevenueNumberFormat as "US Dollar"
Total RevenueNumberFormat as "US Dollar"
CategorySelectColors: Developer Tool=blue, CLI Tool=purple, Productivity=green, Design Tool=pink, Database=orange, Education=teal
PrioritySelectHigh=red, Medium=yellow, Low=gray

Create Views

1. Board View — Click "+ Add a view""Board" → Group by Status

2. Gallery View — Click "+ Add a view""Gallery" → Set card preview to Description

3. Active Only Table — Duplicate the default table view, add filter: Status is not "Archived" and Status is not "Idea"


Step 2: Import the Ideas Backlog Database

1. Create a new "Table - Full page" in your Side Project Manager section

2. Merge with CSV → select databases/ideas_backlog.csv

Configure Column Types

ColumnSet Type ToNotes
Idea NameTitle
One-LinerText
Market SizeNumberRange 1-5
Personal InterestNumberRange 1-5
Technical FeasibilityNumberRange 1-5
Time to MVPNumberRange 1-5
Monetization PotentialNumberRange 1-5
Validation ScoreFormulaSee formulas/FORMULAS.md for the formula
StatusSelectReady to Build=green, Needs Research=yellow, Exploring=blue, Rejected=red
SourceSelect
Date AddedDate
NotesText
Related ProjectRelationLink to Projects database

Create Views

1. Ranked Table — Sort by Validation Score descending

2. Board View — Group by Status

3. Pipeline View — Filter to exclude "Rejected", sort by Validation Score descending


Step 3: Import the MVP Checklist Database

1. Create a new "Table - Full page"

2. Merge with CSV → select databases/mvp_checklist.csv

Configure Column Types

ColumnSet Type ToNotes
TaskTitle
ProjectRelationLink to Projects database
CategorySelectInfrastructure=gray, Design=pink, Core Feature=blue, Documentation=green, Enhancement=purple, Research=yellow, Marketing=orange
PrioritySelectHigh=red, Medium=yellow, Low=gray
StatusSelectDone=green, In Progress=blue, Not Started=gray
Effort (hours)Number
Actual HoursNumber
Due DateDate
DependenciesText
NotesText

Create Views

1. Board View — Group by Status

2. By Project — Group by Project relation

3. Timeline View — Click "+ Add a view""Timeline" → Use Due Date field

4. Overdue Filter — Table with filter: Due Date is before Today AND Status is not Done


Step 4: Import the Launch Tracker Database

1. Create a new "Table - Full page"

2. Merge with CSV → select databases/launch_tracker.csv

Configure Column Types

ColumnSet Type ToNotes
TaskTitle
ProjectRelationLink to Projects database
PhaseSelectPre-Launch=yellow, Launch Day=orange, Post-Launch=blue
CategorySelectContent=blue, Design=pink, Marketing=green, Infrastructure=gray, QA=purple, Operations=orange, Community=teal, Analysis=indigo, Product=red
StatusSelectDone=green, In Progress=blue, Not Started=gray
Due DateDate
OwnerText
NotesText

Create Views

1. Board by Phase — Group by Phase

2. Board by Status — Group by Status

3. Calendar View — Use Due Date

4. Countdown — Filter: Status is not Done, Sort by Due Date ascending


Step 5: Import the Revenue Log Database

1. Create a new "Table - Full page"

2. Merge with CSV → select databases/revenue_log.csv

Configure Column Types

ColumnSet Type ToNotes
ProjectRelationLink to Projects database
MonthDateFormat as "Month, Year"
Revenue TypeSelectSubscription=green, One-time Sale=blue, Advertising=yellow, Sponsorship=purple, Consulting=orange
Gross RevenueNumberFormat as "US Dollar"
ExpensesNumberFormat as "US Dollar"
Net RevenueFormulaSee formulas/FORMULAS.md
SubscribersNumber
New SignupsNumber
ChurnedNumber
NotesText

Create Views

1. By Project — Group by Project relation

2. Monthly Timeline — Sort by Month descending

3. Revenue Chart — Table with sum totals on Gross Revenue, Expenses, Net Revenue columns


Step 6: Import the User Feedback Database

1. Create a new "Table - Full page"

2. Merge with CSV → select databases/user_feedback.csv

Configure Column Types

ColumnSet Type ToNotes
ProjectRelationLink to Projects database
FeedbackTitle
CategorySelectBug=red, Feature Request=blue, Praise=green, UX=purple
SeveritySelectHigh=red, Medium=yellow, Low=gray
StatusSelectFixed=green, In Progress=blue, Planned=yellow, Under Review=purple, Not Started=gray, Investigating=orange, Done=green, Noted=gray, Backlog=gray
SourceSelect
DateDate
SubmitterText
ResponseText

Create Views

1. Board by Status — Group by Status

2. Board by Category — Group by Category

3. Critical Bugs — Filter: Category is Bug AND Severity is High


Step 7: Set Up Rollups on the Projects Database

Go back to your Projects database and add these rollup properties:

1. Open Tasks — Rollup on MVP Checklist relation → Count where Status is not "Done"

2. Total Feedback — Rollup on User Feedback relation → Count all

3. Monthly Revenue — Rollup on Revenue Log relation → Sum of Gross Revenue (show latest month)


Step 8: Create Dashboard Pages

Copy the markdown content from pages/ into new Notion pages:

1. Create a page called "Command Center" → paste content from pages/command-center.md

2. Create a page called "Idea Validation Framework" → paste from pages/idea-validation-framework.md

3. Create a page called "Launch Playbook" → paste from pages/launch-playbook.md

Add linked database views to the dashboard pages as described in each page's content.


Troubleshooting

CSV columns appear as text instead of the correct type:

Click the column header → "Edit property" → change the type. Notion defaults to Text for CSV imports.

Relations don't show matching entries:

Ensure the relation points to the correct database. The "Related Project" column should link to your Projects database by name.

Formulas show errors:

Copy the formula exactly from formulas/FORMULAS.md. Notion formulas are case-sensitive and require exact property names.

Multi-select values appear as single text:

If Tech Stack imports as one long string, click the column header → change type to Multi-select. Then edit each cell to split the values.

Side Project Manager v1.0.0 — Free Preview