Skip to main content

max / makenotwork

Phase 25-26: HTMX creation wizards, join wizard, creator tiers, MT integration, tag paths, DocEngine migration Phase 25: HTMX creation wizards for projects and items with step indicator sidebar, back navigation, and server-rendered partials. Phase 26: Convert /join signup from client-side JS wizard to HTMX multi-step server-rendered wizard. Account created on step 1, optional profile/pitch/stripe steps update the logged-in user. Also includes: creator tier subscription management (migration 036), MT forum integration client (migration 037), tag path columns (migration 038), DocEngine crate extraction, /api/validate endpoints, guide documentation consolidation, and template/CSS cleanup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author: Max J. <87768334+MaxJMath@users.noreply.github.com> · 2026-03-22 04:13 UTC
Commit: c3b55eb4996390d7250c742a0ab5e0ab188efd63
Parent: c6f981b
172 files changed, +8608 insertions, -1954 deletions
@@ -7,7 +7,7 @@ Flat fee. All your revenue passes through to you.
7 7 ## For Creators
8 8
9 9 1. **Sign up** and choose a pricing tier ($10-$40/month based on content type)
10 - 2. **Upload content** — audio, text, or digital files
10 + 2. **Upload content** — text, audio, software, video, or digital files
11 11 3. **Organize** using hierarchical tags and projects
12 12 4. **Set pricing** — free, pay-what-you-want, fixed price, or subscription
13 13 5. **Get paid** — 0% platform fee, only Stripe processing
@@ -62,30 +62,33 @@ Your subscription funds the platform. We have no reason to take a cut of your re
62 62
63 63 ## Pricing
64 64
65 - | Tier | Monthly | What's Included |
66 - |------|---------|-----------------|
67 - | **Basic** | $10 | Text, all base features |
68 - | **Small Files** | $20 | Audio, software, plugins, sample packs, small downloads |
69 - | **Big Files** | $30 | Video, large downloads, course content (coming soon) |
70 - | **Streaming** | $40 | Live streaming + everything below (coming soon) |
65 + | Tier | Monthly | For | Per-file limit | Total storage |
66 + |------|---------|-----|---------------|---------------|
67 + | **Basic** | $10 | Text, blogs, newsletters | 10MB | 50GB |
68 + | **Small Files** | $20 | Audio, software, plugins, sample packs | 500MB | 250GB |
69 + | **Big Files** | $30 | Video, games, large software (video coming soon) | 20GB | 500GB |
70 + | **Streaming** | $40 | Live streaming + everything above (coming soon) | 20GB | 500GB + VOD |
71 71
72 - Video and streaming cost more than audio. Audio costs more than text. The prices reflect what it actually costs to store and deliver each type.
72 + Every tier also includes a separate download budget for general-purpose compressed downloads (zips, bundles, supplementary materials). Big Files and Streaming creators can request a per-file size increase beyond 20GB from their dashboard.
73 +
74 + The prices reflect what it actually costs to store and deliver each content type.
73 75
74 76 ### Choosing Your Tier
75 77
76 - | If you create... | Choose |
77 - |------------------|--------|
78 - | Blog posts, articles, newsletters | Basic ($10) |
79 - | Music, podcasts, audio | Small Files ($20) |
80 - | Software, plugins, sample packs | Small Files ($20) |
81 - | Video content, courses | Big Files ($30, coming soon) |
82 - | Live streams | Streaming ($40, coming soon) |
78 + | If you create... | Choose | You get |
79 + |------------------|--------|---------|
80 + | Blog posts, articles, newsletters | Basic ($10) | 50GB storage, 10MB/file |
81 + | Music, podcasts, audio | Small Files ($20) | 250GB storage, 500MB/file |
82 + | Software, plugins, sample packs | Small Files ($20) | 250GB storage, 500MB/file |
83 + | Games, large applications | Big Files ($30) | 500GB storage, 20GB/file |
84 + | Video content, courses | Big Files ($30, video coming soon) | 500GB storage, 20GB/file |
85 + | Live streams | Streaming ($40, coming soon) | 500GB + VOD, 20GB/file |
83 86
84 - *Big Files and Streaming tier features (video upload, live streaming) are on the roadmap but not yet available. Creators on those tiers today get all current platform features plus priority access when video and streaming launch.*
87 + *Video hosting and live streaming are on the roadmap but not yet available. Digital file downloads up to 20GB per file are available now on Big Files and Streaming tiers. Creators on those tiers today get all current platform features plus priority access when video and streaming launch.*
85 88
86 89 ### What Every Tier Includes
87 90
88 - - Unlimited uploads within your content type
91 + - Storage and per-file limits based on your tier (see table above)
89 92 - Custom profile page (`/u/yourname`)
90 93 - Project organization (`/p/projectname`)
91 94 - Permanent content links (`/i/UUID`)
@@ -62,6 +62,7 @@ Everything listed here is live and working.
62 62
63 63 - **0% platform fee**: Payments go directly to creator-controlled Stripe accounts
64 64 - **Stripe Connect onboarding**: Guided setup, connected account status tracking
65 + - **Creator tier subscriptions**: Monthly billing for Basic ($10), Small Files ($20), Big Files ($30), and Streaming ($40) tiers via Stripe
65 66 - **Automated payment handling**: Checkout completion, refunds, subscription updates (active, past due, canceled), renewal billing
66 67 - **Reliable checkout**: Purchases are processed safely with no risk of double-charges
67 68
@@ -88,13 +89,14 @@ Everything listed here is live and working.
88 89 - **SSH git access**: Clone and push to hosted repositories with SSH key authentication
89 90 - **Health monitoring**: Uptime tracking, service connectivity checks
90 91 - **Malware scanning**: Every uploaded file is scanned for malware before it's made available
91 - - **840+ automated tests**: Comprehensive test suite covering all platform features
92 + - **1000+ automated tests**: Comprehensive test suite covering all platform features
92 93
93 94 ### Developer Infrastructure (SyncKit)
94 95
95 96 Cloud sync and OTA update infrastructure for indie app developers, hosted on Makenot.work.
96 97
97 98 - **Cloud sync**: Push/pull changelog sync with end-to-end encryption (the server never sees your data)
99 + - **OTA updates**: App auto-update server with Tauri-compatible protocol, no app store dependency
98 100 - **Device management**: Register devices, track sync state per device, platform detection
99 101 - **API key system**: App registration, key generation and rotation
100 102 - **OAuth 2.0 + PKCE**: Browser-based authentication flow for desktop apps
@@ -117,7 +119,7 @@ Longer-term areas we're building toward. Order reflects priority, not timeline.
117 119
118 120 ### More content types
119 121
120 - Video upload and streaming (HLS adaptive bitrate). Podcast hosting with private RSS feeds. Live streaming for the Streaming tier.
122 + Video upload and streaming (HLS adaptive bitrate). Podcast hosting with private RSS feeds. Live streaming for the Streaming tier. Audio format transcoding (upload lossless, serve multiple formats).
121 123
122 124 ### Importers
123 125
@@ -0,0 +1,49 @@
1 + # Our Story
2 +
3 + Why Makenot.work exists, and what we're doing differently.
4 +
5 + ---
6 +
7 + ## The Problem
8 +
9 + Most creator platforms take a percentage of everything you earn. 10%, 20%, sometimes more. The math is simple and brutal: the better you do, the more they take. A creator earning $10,000/month hands over $1,000 or more to a platform that costs roughly the same to operate whether you earn $100 or $100,000.
10 +
11 + This model exists because it's profitable, not because it's fair. Platforms are incentivized to maximize your revenue so they can maximize their cut. That's a misalignment baked into the business model.
12 +
13 + And when a platform takes venture capital, the pressure compounds. Investors need returns. Returns come from raising fees, adding advertising, or selling user data. Every VC-funded platform faces the same eventual question: how do we extract more value? The answer is always at the expense of creators or fans.
14 +
15 + ## The Alternative
16 +
17 + We charge a flat monthly fee based on what you need to host: $10 for text, $20 for audio and software, $30 for video and large files, $40 for live streaming. That's it. We take 0% of your revenue. The only deduction from fan payments is Stripe's processing fee (~3%), which goes to Stripe, not us.
18 +
19 + Your subscription funds the platform. We have no financial incentive to take a cut of your sales, show ads to your fans, or lock you into our ecosystem.
20 +
21 + ## Self-Funded
22 +
23 + Makenot.work is self-funded. No venture capital, no angel investors, no outside money. One person built it, one person runs it.
24 +
25 + This is a deliberate choice with real consequences. Growth is slower. Features take longer. There's no marketing budget, no sales team, no growth hacks.
26 +
27 + But it also means: no board meetings about monetization strategy. No pressure to raise prices. No investors pushing for an exit. No acqui-hire that shuts everything down. We can keep prices stable, add features when they're ready, and say no to profitable-but-harmful choices.
28 +
29 + If the platform can't sustain itself on subscriptions, it will wind down honestly, not pivot into something exploitative.
30 +
31 + ## Source Available
32 +
33 + The source code is publicly available under the PolyForm Noncommercial license. You can read every line. Audit our privacy claims. Verify that we handle data the way we say we do. See exactly what happens when you upload a file, make a purchase, or delete your account.
34 +
35 + This isn't a marketing gesture. It's accountability. When we say "we don't track you" or "your data is exportable," you can check.
36 +
37 + ## What We Believe
38 +
39 + Platforms should be infrastructure, not landlords. A good platform does three things: hosts your content reliably, processes payments honestly, and stays out of the way. Everything else is the platform serving its own interests, not yours.
40 +
41 + Your fans are your fans. Your revenue is your revenue. Your data is your data. A platform that respects this doesn't need to take a percentage, because it doesn't pretend to own the relationship between you and the people who support your work.
42 +
43 + ---
44 +
45 + ## See Also
46 +
47 + - [How We Work](./how-we-work.md) — Pricing, payment flow, and data portability
48 + - [Service Level Agreement](./guarantees.md) — Binding commitments
49 + - [Roadmap](./roadmap.md) — What we're building next
@@ -0,0 +1,82 @@
1 + # Analytics & Dashboard
2 +
3 + Your dashboard at `/dashboard` shows your projects, content, revenue, transaction count, and follower count.
4 +
5 + ## Earnings Summary
6 +
7 + Top-level stat cards with period-over-period comparison:
8 +
9 + - **Revenue**: Total earnings for selected period, with percentage change vs. prior period
10 + - **Sales**: Transaction count for selected period
11 + - **Followers**: Current follower count with change
12 +
13 + Time range selector: 7 days, 30 days, 90 days, all-time.
14 +
15 + ## Revenue Chart
16 +
17 + Bar chart showing revenue bucketed by time period. Available at both the user level (all projects) and per-project.
18 +
19 + ## Per-Project Analytics
20 +
21 + Each project has its own analytics tab with:
22 +
23 + - Revenue and sales stat cards
24 + - Revenue chart
25 + - Top items by revenue
26 +
27 + ## What We Track
28 +
29 + ### Plays/Views
30 + - Total play count per item
31 + - Total download count per item
32 +
33 + ### Revenue
34 + - Sales count per item
35 + - Total revenue per project
36 +
37 + ## What We Don't Track
38 +
39 + - Individual user behavior across sessions
40 + - Browsing patterns
41 + - Device fingerprints
42 + - Cross-site activity
43 + - Demographic profiling
44 +
45 + ## Transaction History
46 +
47 + Searchable list of all transactions:
48 +
49 + - Date and time
50 + - Fan (anonymized or named based on their preference)
51 + - Item purchased
52 + - Amount paid
53 + - Status (completed, refunded)
54 +
55 + Export to CSV for your records.
56 +
57 + ## Payout Information
58 +
59 + Payout details (pending transfers, completed payouts, payout schedule) are managed in your Stripe dashboard. We link to it from the dashboard for convenience.
60 +
61 + ## Exports
62 +
63 + Export your project data as JSON from the dashboard (includes items, sales counts, chapters, versions, license keys, and more). Transaction history is available as CSV.
64 +
65 + ## Privacy-First Design
66 +
67 + Our analytics work without:
68 + - Cookies (beyond session)
69 + - Local storage tracking
70 + - Third-party scripts
71 + - IP address logging (beyond 30 days)
72 +
73 + You get useful data. Fans get privacy.
74 +
75 + ## API Access
76 +
77 + Analytics data is available through the dashboard and the project JSON export.
78 +
79 + ## See Also
80 +
81 + - [Receiving Payouts](./payouts.md) — Stripe payouts and tax info
82 + - [Best Practices](./best-practices.md) — Understanding what resonates
@@ -0,0 +1,116 @@
1 + # Best Practices
2 +
3 + Strategies for getting the most out of Makenot.work.
4 +
5 + ---
6 +
7 + ## Setting Up for Success
8 +
9 + ### Start with Your Project
10 +
11 + Before uploading content, think about what your project represents:
12 +
13 + - **Single-creator projects** are straightforward: your name, your work, your earnings.
14 + - **Collaborative projects** need upfront agreement on splits and who can publish what.
15 + - **Multiple projects** make sense if you have distinct bodies of work (a music project and a writing project, for instance).
16 +
17 + ### Choose Your Pricing Model
18 +
19 + There's no single right answer. Consider:
20 +
21 + **Free works when:**
22 + - You're building an audience
23 + - The content is promotional
24 + - You want maximum reach
25 +
26 + **Fixed price works when:**
27 + - You're selling a complete work (album, book, course)
28 + - You want simple, predictable transactions
29 + - The value is clear upfront
30 +
31 + **Name your price works when:**
32 + - You want to lower the barrier but capture willing supporters
33 + - Your audience has mixed ability to pay
34 + - You're comfortable with variability
35 +
36 + **Subscriptions work when:**
37 + - You release regularly
38 + - You want predictable monthly income
39 + - You're building ongoing relationships with fans
40 +
41 + See [Pricing Models](./pricing.md) for setup details.
42 +
43 + ---
44 +
45 + ## Pricing Strategy
46 +
47 + ### Don't Undervalue Your Work
48 +
49 + Since we don't take a cut, you keep more per sale than on other platforms. This means you can:
50 +
51 + - Price lower while earning the same
52 + - Price the same while earning more
53 + - Experiment with pricing without losing margin to the platform
54 +
55 + ### Use Free Strategically
56 +
57 + Free items can:
58 + - Showcase your work to potential fans
59 + - Build your audience before monetizing
60 + - Complement paid offerings (free singles, paid albums)
61 +
62 + But don't default to free. Your work has value.
63 +
64 + ---
65 +
66 + ## Building Your Audience
67 +
68 + ### Discovery Without Algorithms
69 +
70 + We don't have algorithmic recommendations, trending pages, or feeds designed to maximize engagement. What we do have:
71 +
72 + - **Search:** Fans can search for creators, projects, and content
73 + - **Tags:** Hierarchical tagging lets fans browse by genre, format, style
74 + - **Project pages:** Shareable, linkable homes for your work
75 +
76 + This is intentional discovery. Invest in good tagging — accurate genres, descriptive tags, complete metadata. This is how fans browsing for "ambient electronic" or "short fiction" will find your work.
77 +
78 + ### Your Existing Audience Still Matters
79 +
80 + Most creators here started with an existing audience. Discovery through search and tags means new fans can find you too, but don't rely on it as your primary growth channel.
81 +
82 + ---
83 +
84 + ## Practical Tips
85 +
86 + ### Set Expectations
87 +
88 + Tell fans what they're getting:
89 +
90 + - How often you release
91 + - What subscription includes
92 + - What's free vs. paid
93 +
94 + Clear expectations reduce refunds and build trust.
95 +
96 + ### Export Regularly
97 +
98 + You can export everything — content, metadata, fan contacts, transaction history. Do it periodically as a backup and to remind yourself it's possible.
99 +
100 + ### Watch Your Stats
101 +
102 + Analytics show revenue charts with selectable time periods, period-over-period comparisons, per-project and per-item breakdowns, and full transaction history. Use this to understand what resonates.
103 +
104 + ### Respond to Fans
105 +
106 + Direct relationships mean direct responsibility. When fans reach out, respond. This is the tradeoff for owning the relationship.
107 +
108 + ---
109 +
110 + ## See Also
111 +
112 + - [Pricing Models](./pricing.md) — Fixed price, PWYW, and subscriptions
113 + - [Uploading & Downloads](./files.md) — File formats and quality
114 + - [Tagging](./tags.md) — Organizing your catalog
115 + - [Analytics & Dashboard](./analytics.md) — Understanding your stats
116 + - [Roadmap](../about/roadmap.md) — What's coming next
@@ -0,0 +1,94 @@
1 + # Contact Sharing
2 +
3 + Fans can share their email with creators for direct communication outside the platform.
4 +
5 + ---
6 +
7 + ## How It Works
8 +
9 + When a fan purchases one of your items, they can opt in to share their email with you:
10 +
11 + 1. During checkout, the fan checks "Share my email with the creator"
12 + 2. Their email is included in your sales CSV export
13 +
14 + Opt-in sharing during checkout. You can export the complete contact list to CSV anytime.
15 +
16 + ---
17 +
18 + ## Accessing Your Contacts
19 +
20 + Fan emails are included in your sales CSV export (Dashboard > Payments > Export).
21 +
22 + ---
23 +
24 + ## What You Can Do
25 +
26 + ### Contact Them Directly
27 +
28 + Email fans outside the platform. Build a relationship that doesn't depend on us.
29 +
30 + ### Export Anytime
31 +
32 + Download your contact list in CSV. Take your audience with you.
33 +
34 + ### Use Your Own Tools
35 +
36 + Import contacts into Mailchimp, ConvertKit, or any email service you prefer.
37 +
38 + ---
39 +
40 + ## Best Practices
41 +
42 + - **Respect fan privacy** — They trusted you with their info
43 + - **Export regularly** — Keep your own backup
44 + - **Use responsibly** — Don't spam; don't share without consent
45 + - **Be transparent** — Tell fans how you'll use their email
46 +
47 + ---
48 +
49 + ## For Fans
50 +
51 + ### Why Share?
52 +
53 + Creators who have your email can:
54 +
55 + - Email you directly (newsletters, updates)
56 + - Reach you if the platform changes
57 + - Build a relationship that doesn't depend on any platform
58 +
59 + Creators keep your email even if this platform closes.
60 +
61 + ### Who Sees Your Info
62 +
63 + | | Can See It |
64 + |---|---|
65 + | The creator you shared with | Yes |
66 + | Makenot.work | Yes (stored in database) |
67 + | Other creators | No |
68 + | Anyone else | No |
69 +
70 + Each share is specific to one creator. Sharing with Creator A doesn't share with Creator B.
71 +
72 + ### Managing Your Shares
73 +
74 + Go to your **Library** page to:
75 +
76 + - See which creators have your email
77 + - Revoke access (removes your contact from their list)
78 +
79 + Revoking doesn't delete info the creator already exported, but they won't see you in their dashboard anymore.
80 +
81 + ### Privacy Notes
82 +
83 + - **We store your email** — It's in our database, linked to the creator you shared with
84 + - **Creators can export it** — They may have a copy outside the platform
85 + - **You control sharing** — Share or revoke anytime
86 + - **We don't sell data** — See our [Privacy Policy](../legal/privacy-policy.md)
87 +
88 + ---
89 +
90 + ## See Also
91 +
92 + - [Best Practices](./best-practices.md) — Building fan relationships
93 + - [Analytics & Dashboard](./analytics.md) — Revenue, transactions, and fan metrics
94 + - [Pricing & Monetization](./03-selling.md) — Fan guide overview
@@ -0,0 +1,109 @@
1 + # Fan Guide
2 +
3 + Everything you need to know about supporting creators and managing your library on Makenot.work.
4 +
5 + ---
6 +
7 + ## How Payments Work
8 +
9 + When you support creators on Makenot.work, your money actually reaches them.
10 +
11 + 1. You pay for content or subscription
12 + 2. Payment goes directly to creator's account
13 + 3. Creator receives payment (0% platform fee, only ~3% processing)
14 + 4. We make money from creator subscriptions, not your purchases
15 +
16 + ## Ways to Support
17 +
18 + ### One-Time Purchases
19 + Buy individual items or albums. Pay once, own forever.
20 + - Download in original uploaded format
21 + - Access never expires
22 + - No DRM
23 +
24 + ### Subscriptions
25 + Subscribe to a creator for ongoing access:
26 + - Monthly billing
27 + - Access to subscriber-only content
28 + - Cancel anytime
29 + - Keep access until billing period ends
30 +
31 + ### Pay-What-You-Want
32 + Some creators let you choose your price:
33 + - Pay the minimum or more
34 + - Show extra appreciation with higher amounts
35 + - Sometimes the minimum is $0 (free with optional tip)
36 +
37 + ---
38 +
39 + ## Your Library
40 +
41 + Your library at `/library` contains everything you've purchased or subscribed to.
42 +
43 + ### Purchases
44 + Items you've bought outright — albums, singles, digital files, any one-time purchase. These are yours forever.
45 +
46 + ### Subscriptions
47 + Content from creators you subscribe to. Access while subscribed; lose access if you cancel. Some creators grant permanent access to items released while subscribed.
48 +
49 + ### Free Content
50 + Items creators offer for free that you've added to your library.
51 +
52 + ### Organization
53 +
54 + Your library shows purchases, subscriptions, and license keys in separate sections. Each entry links to the item page for streaming or download.
55 +
56 + ---
57 +
58 + ## Downloads
59 +
60 + Download your purchases for offline access:
61 +
62 + 1. Go to any item in your library
63 + 2. Click "Download"
64 + 3. File downloads in original uploaded format
65 + 4. File saves to your device
66 +
67 + Re-download anytime. No limits.
68 +
69 + ## Streaming
70 +
71 + Play audio directly in the browser with the built-in player.
72 +
73 + ## Mobile Access
74 +
75 + Access your library from any device. Log in, and your purchases are there. No native app yet — use the mobile web experience.
76 +
77 + ---
78 +
79 + ## Account
80 +
81 + Fan accounts are free. You only pay for content you choose to buy.
82 +
83 + Create an account to:
84 + - Build a library of purchases
85 + - Follow creators for updates
86 + - Manage subscriptions
87 + - Download files
88 +
89 + ## If a Creator Leaves
90 +
91 + Your purchases remain accessible:
92 + - Files stay in your library
93 + - Download links continue working
94 + - Access is permanent
95 +
96 + This is part of our [portability commitment](../about/how-we-work.md).
97 +
98 + ## Privacy
99 +
100 + We don't use analytics cookies, show ads, or collect browsing history. We store your email, username, and transaction records — nothing else.
101 +
102 + See our [Privacy Policy](../legal/privacy-policy.md).
103 +
104 + ---
105 +
106 + ## See Also
107 +
108 + - [Contact Sharing](./contact-sharing.md) — Sharing your email with creators
109 + - [Pricing & Monetization](./03-selling.md) — How pricing works
@@ -0,0 +1,97 @@
1 + # Uploading & Downloads
2 +
3 + How to upload content and how fans download it.
4 +
5 + ---
6 +
7 + ## Uploading Audio
8 +
9 + ### Supported Formats
10 +
11 + | Format | Extension | Notes |
12 + |--------|-----------|-------|
13 + | FLAC | `.flac` | Recommended for lossless |
14 + | WAV | `.wav` | Accepted |
15 + | AIFF | `.aiff` | Accepted |
16 + | MP3 | `.mp3` | Accepted as-is |
17 + | AAC | `.m4a` | Accepted as-is |
18 + | OGG | `.ogg` | Accepted as-is |
19 +
20 + **Recommendation**: Upload the highest quality source you have. Files are stored as-is and streamed in-browser via the built-in player.
21 +
22 + ### File Limits
23 +
24 + | File type | Maximum size |
25 + |-----------|-------------|
26 + | Audio | 500 MB |
27 + | Digital download | 500 MB |
28 + | Cover image | 10 MB |
29 +
30 + Batch upload: up to 50 files at once.
31 +
32 + ### Upload Process
33 +
34 + 1. Drag files onto the upload area (or click to browse)
35 + 2. Files upload in parallel with progress indicators
36 + 3. Add metadata while uploading or after
37 + 4. Set tags, pricing, visibility
38 + 5. Save as draft or publish immediately
39 +
40 + ### Metadata
41 +
42 + **Required:** Title
43 +
44 + **Optional:** Description, genre tags, release date, credits/collaborators, lyrics
45 +
46 + **Auto-extracted**: We automatically read song info (title, artist, album, track number, cover art) embedded in your audio files. You can override any auto-extracted values.
47 +
48 + ### Album Upload
49 +
50 + 1. Create a project first
51 + 2. Upload all tracks
52 + 3. Drag to reorder
53 + 4. Set album-level metadata
54 + 5. Publish project (publishes all tracks)
55 +
56 + ---
57 +
58 + ## Downloads
59 +
60 + Fans who purchase your content can download it directly. No DRM, no restrictions.
61 +
62 + ### How It Works
63 +
64 + 1. Fan purchases item or subscribes
65 + 2. Download button appears on item page
66 + 3. File downloads in original format
67 +
68 + Re-downloads allowed anytime, unlimited.
69 +
70 + ### Download Formats
71 +
72 + Files are served in their original uploaded format. We do not transcode or convert files — what you upload is what fans download.
73 +
74 + Upload the format you want fans to receive. If you want to offer multiple formats (e.g., FLAC and MP3), upload them as separate versions of the same item.
75 +
76 + ### Album/Project Downloads
77 +
78 + Fans download items individually from each item's page.
79 +
80 + ### Download Limits
81 +
82 + No limits. Fans can download as many times as needed, on any device. We don't track devices or implement DRM.
83 +
84 + ### Bandwidth Costs
85 +
86 + Downloads are included in your subscription. No per-download fees.
87 +
88 + ### Offline Access
89 +
90 + Downloaded files work offline forever. Fans own what they buy.
91 +
92 + ---
93 +
94 + ## See Also
95 +
96 + - [Items](./items.md) — Organizing items and projects
97 + - [Metadata & SEO](./metadata.md) — Tags, descriptions, and discoverability
@@ -0,0 +1,162 @@
1 + # Items
2 +
3 + Items are individual pieces of content: a song, an article, a software release, a sample pack, a course module. Every item belongs to a project.
4 +
5 + ---
6 +
7 + ## Item Types
8 +
9 + | Type | Content | Player/Viewer | Chapters | Versions |
10 + |------|---------|--------------|----------|----------|
11 + | **Audio** | MP3, WAV, FLAC, OGG, AAC, AIFF | In-browser streaming player | Yes | Yes |
12 + | **Text** | Markdown | Clean reading view | No | No |
13 + | **Digital** | Any file (ZIP, DMG, EXE, PDF, etc.) | Download link | No | Yes |
14 + | **Video** | Video files | Coming soon | No | Yes |
15 + | **Image** | Image files | Gallery view | No | No |
16 + | **Plugin** | Audio plugins (VST, AU, CLAP) | Download link | No | Yes |
17 + | **Preset** | Presets and patches | Download link | No | Yes |
18 + | **Sample** | Sample packs | Download link | No | Yes |
19 + | **Course** | Educational content | Course viewer | No | Yes |
20 + | **Template** | Templates and themes | Download link | No | Yes |
21 +
22 + Choose the type when creating the item. It cannot be changed afterward.
23 +
24 + ## Creating an Item
25 +
26 + 1. Navigate to your project
27 + 2. Click **New Item**
28 + 3. Set a **title** and **item type**
29 + 4. Optionally set a price (defaults to free)
30 +
31 + ## Editing an Item
32 +
33 + From the item settings, update:
34 +
35 + - **Title**: Display name
36 + - **Description**: Shown on the item page (markdown supported)
37 + - **Price**: Free, fixed amount, or pay-what-you-want
38 + - **Tags**: Hierarchical tags for discovery
39 + - **Cover image**: Displayed on the item card and in social previews
40 + - **Release date**: When it was or will be released
41 + - **Credits**: Collaborators, producers, engineers
42 +
43 + ## Item URLs
44 +
45 + Every item gets a permanent link:
46 +
47 + ```
48 + makenot.work/i/uuid
49 + ```
50 +
51 + This URL never changes, even if you rename the item, move it to a different project, or reorganize your library. Share it knowing it will always work.
52 +
53 + ## Publishing Workflow
54 +
55 + Items start as **drafts**. Drafts are only visible to you — not indexed, not searchable.
56 +
57 + ### Publishing
58 +
59 + 1. Edit the item and switch on **Public**
60 + 2. Make sure the parent project is also public
61 +
62 + Published items appear on your profile, in search results, and in RSS feeds.
63 +
64 + ### Scheduling
65 +
66 + Set a future publish date to schedule content releases. The item becomes visible automatically at the scheduled time.
67 +
68 + ### Unpublishing
69 +
70 + Unpublish anytime to revert an item to draft. It disappears from public view but retains all settings and data.
71 +
72 + ## Bulk Operations
73 +
74 + From the project dashboard, select multiple items to:
75 +
76 + - **Publish**: Make several items public at once
77 + - **Unpublish**: Revert multiple items to draft
78 + - **Delete**: Remove multiple items permanently
79 +
80 + ## Reordering
81 +
82 + Drag to reorder items within a project. The order you set is the order fans see on the project page.
83 +
84 + ## Duplicating
85 +
86 + Duplicate an item to create a copy with the same settings and metadata. Useful for creating similar items quickly. Content (files, text) is not duplicated — only metadata.
87 +
88 + ## Versions
89 +
90 + Track releases with version numbers and changelogs. Available for audio and digital items.
91 +
92 + ### Creating a Version
93 +
94 + - **Version number** (required): Any string up to 50 characters (e.g., `1.0.0`, `v2`, `2024-03-01`)
95 + - **Changelog** (optional): Up to 10,000 characters describing what changed
96 + - **File**: Optionally attach a new file to this version
97 +
98 + Only one version is "current" at a time — the one fans download by default. New versions automatically become current.
99 +
100 + ## Chapters
101 +
102 + Timestamp markers for audio items. Fans can jump to specific sections within a track.
103 +
104 + - **Title**: 1-200 characters
105 + - **Start seconds**: Where the chapter begins (e.g., `0`, `30.5`, `125`)
106 + - **Sort order**: Controls display order
107 +
108 + Chapters display sorted by sort order first, then by start time.
109 +
110 + ## Content Insertions
111 +
112 + Audio items support insertions — additional content segments placed before, during, or after the main audio:
113 +
114 + - **Pre-roll**: Plays before the main content
115 + - **Mid-roll**: Inserted at a specific timestamp
116 + - **Post-roll**: Plays after the main content
117 +
118 + Useful for intros, sponsorship segments, or outros.
119 +
120 + ## Cover Images
121 +
122 + Upload a cover image for visual representation. Cover images appear:
123 +
124 + - On the item card in project listings
125 + - In the audio player
126 + - In social media previews when the link is shared
127 + - In search results
128 +
129 + ## File Uploads
130 +
131 + Upload files from the item's content tab. Files are stored as-is — we don't transcode or convert. What you upload is what fans download.
132 +
133 + For audio, files also stream in-browser via the built-in player.
134 +
135 + ## Malware Scanning
136 +
137 + All uploaded files are scanned for malware before they become available for download. Scanning includes ClamAV antivirus, YARA rules, and hash-based lookup. If a file fails scanning, it is quarantined and you are notified.
138 +
139 + ## License Keys
140 +
141 + For software products, enable license keys in item settings:
142 +
143 + - **Activation limit**: How many machines can activate a single key
144 + - Keys are generated automatically when fans purchase
145 + - Fans see their keys in their library
146 + - You can revoke keys from the dashboard
147 +
148 + See [License Key API](./license-keys.md) for integration details.
149 +
150 + ## Deleting an Item
151 +
152 + Deleting an item removes it permanently. Fans who purchased it lose access. Active download codes and license keys for the item are invalidated.
153 +
154 + ---
155 +
156 + ## See Also
157 +
158 + - [Projects](./projects.md) — Organizing items into projects
159 + - [Content Overview](./02-content.md) — Content types, versions, and chapters in detail
160 + - [Uploading & Downloads](./files.md) — File formats and download process
161 + - [Tagging System](./tags.md) — Hierarchical tags for organization
162 + - [Metadata & SEO](./metadata.md) — Descriptions and discoverability
@@ -0,0 +1,153 @@
1 + # License Key API Guide
2 +
3 + The License Key API lets software applications validate and manage license keys issued through Makenot.work. All endpoints are public (no authentication required) and rate-limited.
4 +
5 + ## Validate and Activate a Key
6 +
7 + Validates a license key and optionally activates it on a machine.
8 +
9 + ```
10 + POST https://makenot.work/api/keys/validate
11 + Content-Type: application/json
12 +
13 + {
14 + "key": "XXXX-XXXX-XXXX-XXXX",
15 + "machine_id": "unique-machine-identifier",
16 + "label": "Alice's MacBook Pro"
17 + }
18 + ```
19 +
20 + ### Parameters
21 +
22 + | Field | Required | Description |
23 + |-------|----------|-------------|
24 + | `key` | Yes | The license key string |
25 + | `machine_id` | Yes | A stable, unique identifier for this machine |
26 + | `label` | No | Human-readable name for this activation |
27 +
28 + ### Response
29 +
30 + ```json
31 + {
32 + "valid": true,
33 + "activated": true,
34 + "license": {
35 + "item_id": "550e8400-...",
36 + "max_activations": 3,
37 + "activation_count": 1,
38 + "created_at": "2026-03-13T10:00:00Z"
39 + }
40 + }
41 + ```
42 +
43 + ### Error Cases
44 +
45 + ```json
46 + {
47 + "valid": false,
48 + "error": "invalid_key"
49 + }
50 + ```
51 +
52 + | Error | Meaning |
53 + |-------|---------|
54 + | `invalid_key` | Key does not exist |
55 + | `key_revoked` | Key has been revoked by the creator |
56 + | `activation_limit_reached` | All activation slots are in use |
57 +
58 + ### Idempotent Activation
59 +
60 + If the same `key` + `machine_id` combination is submitted again, the existing activation is refreshed (timestamp updated) without consuming an additional slot.
61 +
62 + ## Check Key Status
63 +
64 + Check whether a key is valid without activating it.
65 +
66 + ```
67 + GET https://makenot.work/api/keys/{key_code}/status
68 + ```
69 +
70 + Response:
71 +
72 + ```json
73 + {
74 + "valid": true,
75 + "license": {
76 + "item_id": "550e8400-...",
77 + "max_activations": 3,
78 + "activation_count": 2,
79 + "remaining_activations": 1,
80 + "created_at": "2026-03-13T10:00:00Z"
81 + }
82 + }
83 + ```
84 +
85 + Use this for periodic license checks without affecting activation state.
86 +
87 + ## Deactivate a Key
88 +
89 + Release an activation slot (e.g., when the user uninstalls your software).
90 +
91 + ```
92 + POST https://makenot.work/api/keys/deactivate
93 + Content-Type: application/json
94 +
95 + {
96 + "key": "XXXX-XXXX-XXXX-XXXX",
97 + "machine_id": "unique-machine-identifier"
98 + }
99 + ```
100 +
101 + Response:
102 +
103 + ```json
104 + {
105 + "success": true,
106 + "message": "Activation removed"
107 + }
108 + ```
109 +
110 + ## Machine ID Guidelines
111 +
112 + The `machine_id` should be:
113 + - **Stable**: Same value across app restarts and updates
114 + - **Unique**: Different on each machine
115 + - **Not personally identifiable**: Avoid using MAC addresses or usernames
116 +
117 + Good approaches:
118 + - Generate a UUID on first launch and store it in the app's data directory
119 + - Use a hardware-derived hash (disk serial, motherboard ID)
120 + - Use the OS machine ID (e.g., `/etc/machine-id` on Linux)
121 +
122 + ## Rate Limits
123 +
124 + All license key endpoints: 200ms per request, burst 20.
125 +
126 + Exceeding the limit returns HTTP 429. Implement exponential backoff in your client.
127 +
128 + ## Integration Pattern
129 +
130 + Recommended flow for desktop applications:
131 +
132 + 1. **On first launch**: Prompt for license key, call `/api/keys/validate` with a generated machine ID
133 + 2. **On subsequent launches**: Call `/api/keys/{key}/status` to verify the key is still valid
134 + 3. **On uninstall**: Call `/api/keys/deactivate` to release the activation slot
135 + 4. **On activation failure**: Show the error message and allow the user to enter a different key
136 +
137 + ## Error Response Format
138 +
139 + ```json
140 + {
141 + "error": "descriptive message"
142 + }
143 + ```
144 +
145 + | Status | Meaning |
146 + |--------|---------|
147 + | 400 | Invalid request body |
148 + | 404 | Key not found (for status endpoint) |
149 + | 429 | Rate limit exceeded |
150 +
151 + ## See Also
152 +
153 + - [Pricing & Monetization](./03-selling.md) — License key setup for creators
@@ -0,0 +1,68 @@
1 + # Metadata & SEO
2 +
3 + Good metadata helps fans find your content and improves how it appears when shared.
4 +
5 + ## Item Metadata
6 +
7 + ### Required
8 + - **Title**: What you call this piece
9 +
10 + ### Recommended
11 + - **Description**: Context, credits, notes (supports markdown)
12 + - **Tags**: Hierarchical organization
13 + - **Cover art**: Visual representation
14 +
15 + ### Optional
16 + - **Release date**: When it was/will be released
17 + - **Credits**: Collaborators, producers, engineers
18 + - **Lyrics/transcript**: For audio/video
19 + - **Duration**: Auto-detected, can override
20 +
21 + ## Project Metadata
22 +
23 + - **Title**: Album/series name
24 + - **Description**: About this collection
25 + - **Cover art**: Project-level artwork
26 + - **Release date**: For the project as a whole
27 + - **Ordering**: Track order
28 +
29 + ## Auto-Extraction
30 +
31 + We automatically read song info embedded in your audio files (MP3, FLAC, M4A, WAV) — including title, artist, album, track number, year, genre, and cover art.
32 +
33 + You can override any extracted value.
34 +
35 + ## SEO
36 +
37 + Your content is indexed by search engines. We generate:
38 +
39 + ### Page Titles
40 + ```
41 + Track Title - Artist Name | Makenot.work
42 + ```
43 +
44 + ### Meta Descriptions
45 + First 160 characters of your description, or auto-generated summary.
46 +
47 + ### Social Media Previews
48 + When your links are shared on social media (Twitter, Facebook, Discord, etc.):
49 + - Title and description
50 + - Cover art as image
51 + - Player embed for audio/video
52 +
53 + ### Search Engine Previews
54 + We add structured data (JSON-LD) so search engines can display rich results for your content, including product information and pricing.
55 +
56 + ## Best Practices
57 +
58 + 1. **Write unique descriptions**: Don't copy-paste the same text
59 + 2. **Use descriptive titles**: "Track 01" doesn't help discovery
60 + 3. **Include relevant tags**: Helps internal and external search
61 + 4. **Add cover art**: Improves social sharing appearance
62 + 5. **Fill in credits**: Good for collaborator discovery
63 +
64 + ## See Also
65 +
66 + - [Uploading & Downloads](./files.md) — File formats and auto-extraction
67 + - [Tagging System](./tags.md) — Hierarchical tag structure and best practices
68 + - [Items](./items.md) — Items, projects, and organization
@@ -0,0 +1,69 @@
1 + # Receiving Payouts
2 +
3 + ## How It Works
4 +
5 + We use Stripe Connect. When you sign up:
6 +
7 + 1. Connect or create a Stripe account
8 + 2. Verify your identity (Stripe requirement)
9 + 3. Link your bank account
10 + 4. Payments flow directly to you
11 +
12 + ## Payout Schedule
13 +
14 + You control this in your Stripe dashboard:
15 +
16 + - **Instant**: Available immediately (small fee)
17 + - **Daily**: Next business day
18 + - **Weekly**: Every week on your chosen day
19 + - **Monthly**: First of the month
20 +
21 + Default is standard payouts (2-3 business days).
22 +
23 + ## Minimum Payout
24 +
25 + No minimum. Even $0.01 will transfer (though Stripe's fees make tiny amounts impractical).
26 +
27 + ## International Creators
28 +
29 + Stripe supports 40+ countries. Payouts happen in your local currency.
30 +
31 + If Stripe doesn't support your country, contact us — we're working on alternatives.
32 +
33 + ## Tax Information
34 +
35 + ### US Creators
36 + - Stripe issues 1099-K if you exceed thresholds
37 + - You're responsible for your own taxes
38 + - We don't withhold anything
39 +
40 + ### Non-US Creators
41 + - Follow your local tax laws
42 + - Stripe provides transaction records
43 + - We provide annual summaries on request
44 +
45 + ## Viewing Earnings
46 +
47 + Your dashboard shows:
48 +
49 + - Revenue charts with selectable time periods (7d, 30d, 90d, all-time)
50 + - Period-over-period comparison (revenue, sales, followers)
51 + - Per-project and per-item breakdowns
52 + - Full transaction history
53 +
54 + Stripe's dashboard provides additional payout detail (pending transfers, completed payouts, payout schedule).
55 +
56 + ## Refunds
57 +
58 + If a fan requests a refund and you approve:
59 +
60 + - Funds deducted from your next payout
61 + - Or from your Stripe balance
62 + - Refund fees may apply (Stripe policy)
63 +
64 + You have full control over refund decisions.
65 +
66 + ## See Also
67 +
68 + - [Analytics & Dashboard](./analytics.md) — Revenue charts and transaction history
69 + - [Pricing & Monetization](./03-selling.md) — Setting prices and payment flow
@@ -0,0 +1,162 @@
1 + # Pricing Models
2 +
3 + Detailed guide to each pricing model. For a quick overview, see [Selling & Audience](./03-selling.md).
4 +
5 + ---
6 +
7 + ## One-Time Purchases
8 +
9 + Set a price, fans pay once, they own it forever.
10 +
11 + - No DRM
12 + - Downloadable in original uploaded format
13 + - Access never expires
14 + - Works even if you leave the platform
15 +
16 + ### Setting Prices
17 +
18 + On any item or project:
19 +
20 + 1. Edit > Pricing
21 + 2. Choose "Fixed Price"
22 + 3. Enter amount
23 + 4. Save
24 +
25 + ### Pricing Suggestions
26 +
27 + | Content | Typical Range |
28 + |---------|---------------|
29 + | Single track | $1 - $2 |
30 + | EP (4-6 tracks) | $5 - $8 |
31 + | Album (10+ tracks) | $8 - $15 |
32 + | Video tutorial | $5 - $25 |
33 + | Course/series | $20 - $100 |
34 +
35 + These are suggestions. Price based on value, not convention.
36 +
37 + ### Purchase Flow
38 +
39 + 1. Fan clicks "Buy"
40 + 2. Checkout shows price + payment methods
41 + 3. Payment processes instantly
42 + 4. Fan gets immediate access + download links
43 + 5. Receipt emails to fan
44 + 6. Funds appear in your Stripe account
45 +
46 + ---
47 +
48 + ## Pay-What-You-Want
49 +
50 + You set a minimum (can be $0). Fans choose how much to pay.
51 +
52 + Works better than you'd expect. Fans who value your work often pay above minimum.
53 +
54 + ### Setting Up PWYW
55 +
56 + 1. Edit item > Pricing
57 + 2. Choose "Pay What You Want"
58 + 3. Set minimum price (or $0 for free with optional tip)
59 + 4. Optionally set suggested prices
60 +
61 + ### Suggested Prices
62 +
63 + Show fans what others typically pay:
64 +
65 + ```
66 + Minimum: $0
67 + Suggested: $5, $10, $20
68 + ```
69 +
70 + Suggestions anchor expectations without forcing amounts.
71 +
72 + ### When PWYW Works Best
73 +
74 + - Established audience who values your work
75 + - Back catalog / older releases
76 + - Supporting a cause (donate above minimum)
77 + - Building new audience ($0 minimum gets reach)
78 +
79 + ### When Fixed Price Works Better
80 +
81 + - New releases with clear value
82 + - Premium/exclusive content
83 + - When you need predictable revenue
84 +
85 + ### The $0 Minimum Question
86 +
87 + Pros:
88 + - Maximum reach
89 + - Builds audience
90 + - Grateful fans tip generously
91 +
92 + Cons:
93 + - Some people take without paying
94 + - Can devalue your work if overused
95 +
96 + Consider: $0 minimum for samples/singles, paid minimum for albums/premium.
97 +
98 + ---
99 +
100 + ## Subscriptions
101 +
102 + Fans pay monthly for ongoing access to your content. You decide what subscribers get:
103 +
104 + - Everything you publish
105 + - Exclusive subscriber-only content
106 + - Early access to releases
107 + - Behind-the-scenes content
108 +
109 + ### Creating a Subscription Tier
110 +
111 + 1. Go to Settings > Monetization > Subscriptions
112 + 2. Click "Add Tier"
113 + 3. Set:
114 + - **Name**: e.g., "Supporter", "All Access"
115 + - **Price**: Monthly amount
116 + - **Description**: What subscribers get
117 + - **Access rules**: Which content is included
118 +
119 + ### Multiple Tiers
120 +
121 + Offer different levels:
122 +
123 + | Tier | Price | Access |
124 + |------|-------|--------|
125 + | Supporter | $3 | Early access, subscriber feed |
126 + | All Access | $10 | Everything + downloads |
127 + | Superfan | $25 | Everything + exclusive content |
128 +
129 + Fans can upgrade/downgrade anytime.
130 +
131 + ### Subscriber-Only Content
132 +
133 + When uploading or editing content:
134 +
135 + 1. Set visibility to "Subscribers"
136 + 2. Choose which tier(s) can access
137 + 3. Optionally set a public release date
138 +
139 + Content can graduate from subscriber-only to public over time.
140 +
141 + ### Managing Subscribers
142 +
143 + Your project dashboard shows:
144 +
145 + - Active subscriber count
146 + - Subscription tiers and pricing
147 +
148 + Broadcast emails to followers are available from the project dashboard.
149 +
150 + ### Cancellations
151 +
152 + Fans cancel through their account. They keep access until the end of their billing period. No refunds for partial months (standard practice).
153 +
154 + You see cancellation trends but not individual reasons unless fans tell you.
155 +
156 + ---
157 +
158 + ## See Also
159 +
160 + - [Receiving Payouts](./payouts.md) — How you get paid
161 + - [Uploading & Downloads](./files.md) — How fans access purchased files
162 + - [Pricing & Monetization](./03-selling.md) — All pricing models overview
@@ -0,0 +1,39 @@
1 + # Setting Up Your Profile
2 +
3 + Your profile at `/u/username` is your public page. Set it up to make a good first impression.
4 +
5 + ## Basic Information
6 +
7 + ### Display Name
8 + Your public name. Can include spaces, capitals — whatever represents you.
9 +
10 + ### Bio
11 + Short description (500 characters max). Who you are, what you make, why people should care.
12 +
13 + Tips:
14 + - Lead with what you create
15 + - Mention genres or styles
16 + - Include a call to action
17 +
18 + ### Profile Picture
19 + Square image, minimum 400x400 pixels. Appears in search, embeds, and your page.
20 +
21 + ### Header Image
22 + Banner at the top of your profile. 1500x500 pixels recommended. Optional but adds polish.
23 +
24 + ## Links
25 +
26 + Add links to:
27 + - Your website
28 + - Social media profiles
29 + - Other platforms
30 + - Contact/booking info
31 +
32 + Links appear on your profile page.
33 +
34 + Your profile page displays your projects, custom links, and bio. Project pages show items in a list with type, price, and tags.
35 +
36 + ## See Also
37 +
38 + - [Getting Started](./01-getting-started.md) — Account setup and first steps
39 + - [Best Practices](./best-practices.md) — Content strategy and audience building
@@ -0,0 +1,98 @@
1 + # Projects
2 +
3 + Projects are how you organize your work on Makenot.work. A project groups related items together — an album, a podcast, a software product, a course.
4 +
5 + ---
6 +
7 + ## Creating a Project
8 +
9 + From your dashboard, click **New Project** and set:
10 +
11 + - **Name**: Display name for the project (e.g., "Debut Album", "Sound Design Toolkit")
12 + - **Slug**: URL-friendly name that becomes your project address (e.g., `debut-album`)
13 + - **Description**: What the project is about, shown on the project page
14 + - **Category**: The type of content (Music, Software, Writing, etc.)
15 +
16 + ## Project URLs
17 +
18 + Every project gets a permanent URL:
19 +
20 + ```
21 + makenot.work/p/your-project-slug
22 + ```
23 +
24 + You control the slug when creating the project.
25 +
26 + ## Project Settings
27 +
28 + From the project dashboard, configure:
29 +
30 + - **Category**: Helps fans find your project through discovery and search
31 + - **Git repositories**: Link source code repos (shown via the built-in git browser)
32 + - **Labels**: Platform commitment badges (e.g., "DRM-Free", "No LLMs Used") that your project can opt into
33 + - **Cover image**: Visual representation shown on your profile and in search
34 + - **Description**: Markdown-supported project description
35 + - **Visibility**: Public or draft (draft projects are only visible to you)
36 +
37 + ## Project Analytics
38 +
39 + Each project has its own analytics tab showing:
40 +
41 + - **Revenue**: Total earnings with period-over-period comparison
42 + - **Sales**: Transaction count for selected time range
43 + - **Followers**: How many people follow this project
44 + - **Top items**: Which items earn the most
45 + - **Revenue chart**: Bar chart bucketed by time period
46 +
47 + Time range selector: 7 days, 30 days, 90 days, all-time.
48 +
49 + ## Subscription Tiers
50 +
51 + Create monthly subscription tiers per project:
52 +
53 + 1. Go to project settings > Monetization > Subscriptions
54 + 2. Add tiers with name, price, and description
55 + 3. Toggle tiers active/inactive without deleting them
56 +
57 + Fans subscribe through Stripe Checkout. Billing, renewals, and cancellations are handled by Stripe.
58 +
59 + ## Promo Codes
60 +
61 + Create promotional codes scoped to a project:
62 +
63 + - **Discount codes**: Percentage or fixed amount off, with optional usage limits and expiration
64 + - **Download codes**: Single-use codes for free access, useful for press copies and giveaways
65 +
66 + Share discount-applied links with `?discount=CODE` appended to any item URL.
67 +
68 + ## Blog Posts
69 +
70 + Every project includes a blog. Blog posts use the same markdown editor as text items:
71 +
72 + - Draft/publish workflow
73 + - Included in the project's RSS feed
74 + - Included in data exports
75 + - Separate from items — they have their own tab
76 +
77 + Blog posts are always free. Use them for updates, announcements, liner notes, or changelogs.
78 +
79 + ## Ordering Items
80 +
81 + Drag to reorder items within a project. The order you set is the order fans see on the project page.
82 +
83 + ## Data Export
84 +
85 + Export all project data as JSON from the dashboard. Exports include items, sales counts, chapters, versions, license keys, blog posts, and all metadata.
86 +
87 + ## Deleting a Project
88 +
89 + Deleting a project removes it and all its items permanently. Fans who purchased items lose access. Export your data first if you need a backup.
90 +
91 + ---
92 +
93 + ## See Also
94 +
95 + - [Items](./items.md) — Creating and managing individual content
96 + - [Content Overview](./02-content.md) — Content types, versions, and chapters
97 + - [Pricing Models](./pricing.md) — Fixed price, PWYW, and subscriptions
98 + - [Analytics & Dashboard](./analytics.md) — Revenue charts and transaction history
@@ -0,0 +1,42 @@
1 + # RSS Feeds
2 +
3 + RSS is a standard way for apps (like podcast players or news readers) to automatically check for your new content and notify fans when you publish something new.
4 +
5 + Every creator automatically gets RSS feeds for their content.
6 +
7 + ## Your Feed URLs
8 +
9 + | Feed | URL |
10 + |------|-----|
11 + | All public items | `makenot.work/u/username/rss` |
12 + | Project items | `makenot.work/p/project-name/rss` |
13 + | Project blog posts | `makenot.work/p/project-name/blog/rss` |
14 +
15 + Feeds are generated automatically. No configuration needed.
16 +
17 + ## Use Cases
18 +
19 + ### Fan Subscriptions
20 + Fans can follow your feed in any RSS reader:
21 + - Feedly
22 + - Inoreader
23 + - NetNewsWire
24 + - Their browser
25 +
26 + ### Automation
27 + Use RSS for:
28 + - IFTTT/Zapier triggers on new releases
29 + - Cross-posting to social media
30 + - Backup notifications
31 +
32 + ## Feed Format
33 +
34 + Standard RSS 2.0. Compatible with all major RSS readers.
35 +
36 + Feeds include title, description, publication date, and a permanent link for each item or blog post.
37 +
38 + ## See Also
39 +
40 + - [Items](./items.md) — Creating and managing content
41 + - [Metadata & SEO](./metadata.md) — Feed metadata and discoverability
42 + - [Uploading & Downloads](./files.md) — Audio formats and upload process
@@ -0,0 +1,75 @@
1 + # Tagging System
2 +
3 + Tags are how you organize content on Makenot.work. Unlike folders, a single item can have multiple tags. Unlike flat tags, ours are hierarchical.
4 +
5 + ## How It Works
6 +
7 + Tags are organized in a tree structure. Each tag can have a parent, creating natural categories:
8 +
9 + ```
10 + Electronic
11 + ├── Ambient
12 + ├── House
13 + │ └── Deep House
14 + └── Techno
15 +
16 + Hip-Hop
17 + ├── Boom Bap
18 + └── Lo-Fi
19 + ```
20 +
21 + When you tag an item, you select from the existing taxonomy using the typeahead search. Tags are curated by the platform to keep the taxonomy clean and consistent.
22 +
23 + ## Hierarchy
24 +
25 + Tags inherit from their parents. If you tag an item "Ambient" (which is a child of "Electronic"), fans browsing the "Electronic" tag will also find your item.
26 +
27 + This means you don't need to manually apply parent tags — tagging at the most specific level is enough.
28 +
29 + ## Tag Names
30 +
31 + Tag names can contain letters, numbers, spaces, and hyphens. They're case-insensitive for search.
32 +
33 + ```
34 + # Valid tag names
35 + Electronic
36 + Lo-Fi Hip-Hop
37 + Sample Pack
38 + 2024 Releases
39 +
40 + # Invalid
41 + tag@name (special characters)
42 + ```
43 +
44 + ## Searching by Tag
45 +
46 + Fans can browse and filter content by tag. The discovery page lets you drill down through the hierarchy — clicking "Electronic" shows all electronic content, then narrowing to "Ambient" filters further.
47 +
48 + Tags also appear on item cards, letting fans click through to related content.
49 +
50 + ## Applying Tags
51 +
52 + When creating or editing an item:
53 +
54 + 1. Open the tags field
55 + 2. Start typing to search the taxonomy
56 + 3. Select tags from the suggestions
57 + 4. Apply multiple tags per item
58 +
59 + 3-5 tags per item is usually enough. More tags create noise.
60 +
61 + ## Batch Tagging
62 +
63 + Select multiple items from the project dashboard to apply or remove tags in bulk.
64 +
65 + ## Best Practices
66 +
67 + - **Tag at the right level** — Use the most specific tag that applies. Parent tags are inherited automatically.
68 + - **Be consistent** — Use the same tags across related items.
69 + - **Use projects for grouping** — Tags describe *what* something is (genre, mood, format). Projects describe *where* it belongs (album, series).
70 + - **Don't over-tag** — A few accurate tags beat many vague ones.
71 +
72 + ## See Also
73 +
74 + - [Items](./items.md) — Creating and managing content
75 + - [Metadata & SEO](./metadata.md) — Descriptions and discoverability
@@ -0,0 +1,55 @@
1 + # Code of Conduct
2 +
3 + This applies to platform-operated spaces: official channels and direct communication with us. Also applies to the platform forum at [forums.makenot.work](https://forums.makenot.work).
4 +
5 + Creator-run forums have their own rules set by creators.
6 +
7 + ---
8 +
9 + ## The Short Version
10 +
11 + Be decent. Assume good faith. Stay on topic.
12 +
13 + ---
14 +
15 + ## Expected Behavior
16 +
17 + - **Treat people with respect** — Disagreement is fine; personal attacks aren't
18 + - **Stay on topic** — Platform forums are for platform discussion
19 + - **Give constructive feedback** — "This doesn't work for me because X" is useful; "this sucks" isn't
20 + - **Respect privacy** — Don't share others' personal information
21 +
22 + ## Unacceptable Behavior
23 +
24 + - **Harassment** — Sustained unwanted contact, threats, or intimidation
25 + - **Discrimination** — Attacks based on identity, background, or protected characteristics
26 + - **Spam** — Promotional content, repetitive posts, off-topic solicitation
27 + - **Doxxing** — Sharing private information without consent
28 + - **Bad faith participation** — Trolling, intentional disruption, sea-lioning
29 +
30 + ## Enforcement
31 +
32 + 1. **Warning** — Most first violations get a note explaining the issue
33 + 2. **Temporary suspension** — Repeated issues or serious violations
34 + 3. **Permanent ban** — Sustained bad behavior or egregious violations
35 +
36 + We're a small operation. We don't have elaborate appeals processes. We try to be fair and explain our reasoning.
37 +
38 + ## Reporting
39 +
40 + Email community@makenot.work with:
41 +
42 + - Link to the content or behavior
43 + - Brief description of the issue
44 +
45 + We review reports and respond within a few days.
46 +
47 + ## For Creator Forums
48 +
49 + This code of conduct doesn't apply to creator-run forums. Creators set their own community standards.
50 +
51 + If you have issues with a creator's forum, contact the creator directly. We only intervene for legal violations or content that harms the broader platform.
52 +
53 + ## See Also
54 +
55 + - [Forums & Discussion](./forums.md) — Our community philosophy and forum details
@@ -24,6 +24,9 @@ Yes. Fan accounts are completely free. You only pay for content you choose to bu
24 24 ### How do I get paid?
25 25 Through Stripe Connect. Payments go directly to your linked bank account. You control payout timing.
26 26
27 + ### What if I earn nothing — do I still pay?
28 + Yes. The subscription covers platform access, not a share of revenue. We may accept applications for fee remission for supported causes and open source work.
29 +
27 30 ### What if I don't earn back my subscription cost?
28 31 We're planning an earn-back credit program: if you earn less on the platform than you paid in subscription fees over 12 months, the difference will be credited as free months for the following year (capped at 12 months). The 12-month clock will not start counting until after the alpha period ends. Note: comped months will not count toward content archive eligibility (see [Content Archive](../about/guarantees.md#planned-guarantees)).
29 32
@@ -42,13 +45,16 @@ You do. A chargeback happens when a buyer disputes a charge with their bank. Sin
42 45 ### How fast do payouts arrive?
43 46 Stripe handles payouts: 2 business days typical in the US, 7-day wait for your first payout, instant payouts available after 60 days (1% fee).
44 47
48 + ### Can I sell adult/NSFW content?
49 + Not on Makenot.work. This is primarily due to our reliance on third-party payment processing. We intend to pilot a legally independent adult platform in the future. The separation protects Makenot.work's payment processing while allowing us to provide the same quality of service to adult creators when we have the bandwidth to do so.
50 +
45 51 ## For Fans
46 52
47 53 ### Can I download files?
48 54 Yes. Purchases include the original file for download. No DRM.
49 55
50 56 ### What if a creator leaves?
51 - Content you own (one-time purchases) stays in your library. Files remain downloadable. Access is permanent. However, pay-per-view content and subscription-gated content are only available while the creator maintains their account.
57 + Content you own (one-time purchases) stays in your library. Files remain downloadable. Access is permanent. However, subscription-gated content is only available while the creator maintains their account.
52 58
53 59 ### Can I get a refund?
54 60 Refund policies are set by individual creators. Contact them directly.
@@ -68,147 +74,68 @@ No native apps yet. The mobile web experience works well. Apps are planned.
68 74 DRM punishes paying customers more than it deters piracy. We believe in giving fans clean files they actually own.
69 75
70 76 ### What are your upload/storage limits?
71 - Currently our math doesn't suggest this will be an issue. If it becomes one, we'll work with you individually to find a solution. Your content will never be removed without your consent or failure to pay.
77 + Each tier has its own storage and per-file limits:
72 78
73 - ## More Questions
79 + | Tier | Total storage | Per-file limit | Download budget |
80 + |------|--------------|----------------|-----------------|
81 + | Basic | 50GB | 10MB | 2GB (50MB/file) |
82 + | Small Files | 250GB | 500MB | 5GB (500MB/file) |
83 + | Big Files | 500GB | 20GB | 10GB (2GB/file) |
84 + | Streaming | 500GB + VOD | 20GB | 10GB (2GB/file) |
74 85
75 - Still stuck? [Contact Support](./contact.md).
86 + Big Files and Streaming creators can request a per-file size increase beyond 20GB from their dashboard. Download budgets are separate allowances for general-purpose compressed downloads (zips, bundles, supplementary materials).
76 87
77 - ---
78 -
79 - # Hard Questions
88 + ## Trust & Independence
80 89
81 - The section above covers what you'd normally ask. This section covers what you *should* ask.
90 + ### Why should I trust a one-person platform?
91 + Source code is public — every claim on this site is verifiable by reading it. No VC pressure to squeeze creators. Public commitments in writing. If we break them, you can see it in the code.
82 92
83 - I'm writing this part myself. — Max
84 -
85 - ---
86 -
87 - ## About Trust
88 -
89 - ### Why should I trust you?
90 -
91 - Source code is public. Every claim on this site is verifiable by reading it. No VC pressure to squeeze creators. Public commitments in writing. If I break them, you can see it in the diff.
92 -
93 - ### What stops you from changing the terms later?
94 -
95 - The same thing that stops anyone: reputation and structural incentives. But concretely — the code is public, the documentation is versioned, and you control your data at all times. If I change the terms in a way you don't like, you can export everything and leave in minutes. The SLA guarantees that.
96 -
97 - ### What data do you have on me?
93 + ### What stops you from changing the terms?
94 + The code is public, the documentation is versioned, and you control your data at all times. If the terms change in a way you don't like, you can export everything and leave in minutes. The [SLA](../about/guarantees.md) guarantees that.
98 95
96 + ### What data do you collect?
99 97 Account info you provide, content you upload, transactions you conduct. No browsing profiles, no behavioral tracking. Verifiable in the source code.
100 98
101 - ---
102 -
103 - ## About Money
104 -
105 - ### What if I earn nothing — do I still pay?
106 -
107 - Yes. We may accept applications for fee remission for supported causes and open source work.
108 -
109 - ### What happens to my money if you go bankrupt?
110 -
111 - Stripe holds funds in your account, not ours. Payouts process through Stripe directly. No commingling of creator revenue with operating funds. Our bankruptcy would not touch your Stripe balance.
112 -
113 - ---
114 -
115 - ## About Risk
116 -
117 - ### What's the worst case scenario?
118 -
119 - The business becomes unsustainable and we shut down. If this happens: 90-day notice with full export access maintained throughout, graceful shutdown. We're not leveraged and have no sudden collapse scenario.
120 -
121 - ### What could make you change your principles?
122 -
123 - My two kittens requiring a multi-million-dollar surgery.
124 -
125 - ### What are you most worried about?
126 -
127 - A well-funded competitor offering the same $10-40 pricing temporarily to undercut us, with plans to raise prices once they have market share. We maintain an emergency fund for exactly this scenario.
128 -
129 - If a VC-funded competitor begins to match our pricing, you can be fairly certain it is temporary.
130 -
131 - ---
132 -
133 - ## About the Future
134 -
135 99 ### Will you ever take VC money?
136 -
137 100 No. Outside investment creates pressure to maximize extraction. We answer to creators, not shareholders.
138 101
139 102 ### Will you ever run ads?
140 -
141 103 No. Advertising means optimizing for attention instead of creator success.
142 104
143 105 ### Will you ever take a cut of revenue?
144 -
145 106 No. This is the core commitment. Changing it would mean becoming a different platform entirely.
146 107
147 108 ### Will you ever sell the company?
109 + Not to private equity or competitors. The long-term plan is to sell the company to its creators.
148 110
149 - This company will never be sold to private equity. We're not accepting bids from competitors. Any attempt by outside capital to make such an offer will be shamed on my social media.
150 -
151 - Our eventual plan is to sell the company to our creators.
152 -
153 - ---
154 -
155 - ## About Uncomfortable Partnerships
111 + ## Risk & Sustainability
156 112
157 - ### Would you take money from [large tech company]?
113 + ### What happens to my money if the platform shuts down?
114 + Stripe holds funds in your account, not ours. No commingling of creator revenue with operating funds. A shutdown would not affect your Stripe balance. The [SLA](../about/guarantees.md) guarantees 90 days notice with full export access maintained throughout.
158 115
159 - No. We don't accept investment, sponsorship, or strategic partnerships from companies whose business models depend on surveillance, rent-seeking, or locking in creators. If their logo would make you nervous on our about page, we won't put it there.
116 + ### How long can you sustain this?
117 + A few years minimum at current costs. The model is profitable with a small number of creators relative to competitors. Self-funded, no debt.
160 118
161 - ### Would you provide services to the Department of Defense?
162 -
163 - Makenot.work will not provide weapons, autonomous systems, surveillance infrastructure, or targeting capabilities to the Department of Defense or any military entity. We are a platform for people who make things. Songs. Videos. Writing. Software. Not kill chains.
164 -
165 - We also will not build tools for law enforcement surveillance, immigration enforcement databases, or predictive policing systems. If a government contract requires us to compromise creator privacy, the answer is no.
166 -
167 - ### Would you work with [controversial platform]?
168 -
169 - We don't integrate with platforms that take a percentage cut of creator revenue and then claim to be "for creators." We also don't integrate with platforms that have a track record of deplatforming creators without due process or appeal.
170 -
171 - If a platform shares our values — creator ownership, transparent economics, data portability — we're happy to talk.
172 -
173 - ### Can creators sell adult/NSFW content?
119 + ### Is this a full-time operation?
120 + Yes.
174 121
175 - Not on Makenot.work. We recognize our infrastructure suits adult content well. Make Creative plans to eventually create a separate platform for adult creators with identical commitments — but the SFW platform comes first.
122 + ### What if the founder is unable to run the platform?
123 + We'd accelerate the plan to sell the company to its creators.
176 124
177 - ---
178 -
179 - ## About Content Policy
125 + ## Content Policy
180 126
181 127 ### What content isn't allowed?
182 -
183 - Content that dehumanizes, harasses, or incites violence toward any group. We hold content discussing marginalized groups to a higher standard. See [Acceptable Use](../legal/acceptable-use.md).
128 + Content that dehumanizes, harasses, or incites violence. See [Acceptable Use](../legal/acceptable-use.md) for the full policy.
184 129
185 130 ### What's your stance on AI-generated content?
186 -
187 - Creators can indicate what tools were used. AI disclosure isn't required — bad actors would just lie anyway — but creators who advertise as AI-free and lie will be disciplined.
131 + Creators can indicate what tools were used. AI disclosure isn't required, but creators who advertise as AI-free and aren't will be disciplined.
188 132
189 133 ### Do you comply with law enforcement requests?
134 + We prioritize creator privacy, with exceptions for content that is illegal or threatens the platform's existence. We cannot share encryption keys because we don't have them.
190 135
191 - We prioritize creators, with exceptions for content that is morally reprehensible or threatens the platform's existence. We will never share your encryption keys, because we don't have them.
192 -
193 - ---
194 -
195 - ## About Me
196 -
197 - ### Is this your full-time focus?
198 -
199 - Yes.
200 -
201 - ### What's your runway?
202 -
203 - A few years minimum. Costs are low, and the model is profitable with a small number of creators relative to competitors.
204 -
205 - ### What happens if you get hit by a bus?
206 -
207 - We'd accelerate the plan to sell the company to our creators.
208 -
209 - ### How do you plan to grow without marketing?
136 + ## More Questions
210 137
211 - It would help if you'd share the link you're reading from right now.
138 + Still stuck? [Contact Support](./contact.md).
212 139
213 140 ---
214 141
@@ -0,0 +1,55 @@
1 + # Forums & Discussion
2 +
3 + Community discussion for the Makenot.work platform.
4 +
5 + ---
6 +
7 + ## Platform Forum
8 +
9 + The platform forum at [forums.makenot.work](https://forums.makenot.work) is the community space for everyone on Makenot.work.
10 +
11 + **What it's for:**
12 + - Platform feedback and feature requests
13 + - Creator-to-creator discussion
14 + - Announcements and updates
15 + - General questions about using the platform
16 +
17 + **What it's not for:**
18 + - Individual creator support (contact the creator)
19 + - Off-topic discussion
20 +
21 + Access: Anyone with a Makenot.work account. This space follows our [Code of Conduct](./code-of-conduct.md).
22 +
23 + ---
24 +
25 + ## How It Works
26 +
27 + No algorithmic sorting. Threads sort by activity or creation date. You see what's there, not what an algorithm thinks you want.
28 +
29 + Posts are permanent — no editing or deleting after posting. You can add footnotes to clarify or correct your posts. This keeps discussions honest and preserves context for future readers.
30 +
31 + Moderation tools include flagging, community bans/mutes, and a mod log for transparency.
32 +
33 + ---
34 +
35 + ## Philosophy
36 +
37 + We provide infrastructure for communities. We don't try to be the community.
38 +
39 + ### What We Don't Build
40 +
41 + Features that already exist and work fine:
42 +
43 + - **Direct messaging** — Use email, Discord, Signal, whatever your community already uses
44 + - **Social feeds** — We're not competing with Twitter or Instagram
45 + - **Group chats** — Plenty of good options exist
46 + - **Event platforms** — Eventbrite, Luma, and others do this well
47 +
48 + We'd rather integrate with good tools than build mediocre versions of everything.
49 +
50 + ---
51 +
52 + ## See Also
53 +
54 + - [Code of Conduct](./code-of-conduct.md) — Platform forum rules
55 + - [Roadmap](../about/roadmap.md) — Feature timeline