| 1 |
<!DOCTYPE html> |
| 2 |
<html lang="en"> |
| 3 |
<head> |
| 4 |
<meta charset="UTF-8"> |
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 6 |
<title>Makenot.work — Pitch</title> |
| 7 |
<style> |
| 8 |
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=Lato:wght@300;400;700&family=Young+Serif&display=swap'); |
| 9 |
|
| 10 |
:root { |
| 11 |
--bg: #ede8e1; |
| 12 |
--bg-warm: #e4ddd3; |
| 13 |
--bg-deep: #d8cfc3; |
| 14 |
--text: #3d3530; |
| 15 |
--text-secondary: #5d524a; |
| 16 |
--text-muted: #8a7e74; |
| 17 |
--accent: #6c5ce7; |
| 18 |
--accent-light: #8577ed; |
| 19 |
--green: #4caf50; |
| 20 |
--red: #d62828; |
| 21 |
--border: #c9c0b4; |
| 22 |
--border-dark: #a89d91; |
| 23 |
} |
| 24 |
|
| 25 |
* { margin: 0; padding: 0; box-sizing: border-box; } |
| 26 |
|
| 27 |
@page { size: letter; margin: 0; } |
| 28 |
|
| 29 |
body { |
| 30 |
font-family: 'Lato', sans-serif; |
| 31 |
color: var(--text); |
| 32 |
background: var(--bg); |
| 33 |
line-height: 1.6; |
| 34 |
-webkit-print-color-adjust: exact; |
| 35 |
print-color-adjust: exact; |
| 36 |
} |
| 37 |
|
| 38 |
.page { |
| 39 |
width: 8.5in; |
| 40 |
min-height: 11in; |
| 41 |
margin: 0 auto; |
| 42 |
padding: 0.5in 0.75in; |
| 43 |
background: var(--bg); |
| 44 |
page-break-after: always; |
| 45 |
position: relative; |
| 46 |
} |
| 47 |
|
| 48 |
.page:last-child { page-break-after: auto; } |
| 49 |
|
| 50 |
|
| 51 |
|
| 52 |
.hero { |
| 53 |
text-align: center; |
| 54 |
padding: 0.25in 0 0.2in; |
| 55 |
border-bottom: 2px solid var(--border); |
| 56 |
margin-bottom: 0.2in; |
| 57 |
} |
| 58 |
|
| 59 |
.hero h1 { |
| 60 |
font-family: 'Young Serif', serif; |
| 61 |
font-size: 44px; |
| 62 |
font-weight: 400; |
| 63 |
color: var(--text); |
| 64 |
margin-bottom: 4px; |
| 65 |
letter-spacing: -0.5px; |
| 66 |
} |
| 67 |
|
| 68 |
.hero h1 .dot { color: var(--accent); } |
| 69 |
|
| 70 |
.hero .tagline { |
| 71 |
font-family: 'IBM Plex Mono', monospace; |
| 72 |
font-size: 14px; |
| 73 |
color: var(--text-secondary); |
| 74 |
letter-spacing: 0.3px; |
| 75 |
} |
| 76 |
|
| 77 |
.hero .sub { |
| 78 |
font-size: 12.5px; |
| 79 |
color: var(--text-muted); |
| 80 |
margin-top: 8px; |
| 81 |
} |
| 82 |
|
| 83 |
|
| 84 |
|
| 85 |
h2 { |
| 86 |
font-family: 'IBM Plex Mono', monospace; |
| 87 |
font-size: 13.5px; |
| 88 |
font-weight: 600; |
| 89 |
text-transform: uppercase; |
| 90 |
letter-spacing: 1.5px; |
| 91 |
color: var(--accent); |
| 92 |
margin-bottom: 10px; |
| 93 |
padding-bottom: 4px; |
| 94 |
border-bottom: 1px solid var(--border); |
| 95 |
} |
| 96 |
|
| 97 |
h3 { |
| 98 |
font-family: 'IBM Plex Mono', monospace; |
| 99 |
font-size: 12px; |
| 100 |
font-weight: 600; |
| 101 |
color: var(--text); |
| 102 |
margin-bottom: 4px; |
| 103 |
margin-top: 12px; |
| 104 |
} |
| 105 |
|
| 106 |
h3:first-child { margin-top: 0; } |
| 107 |
|
| 108 |
.intro { |
| 109 |
font-size: 14.5px; |
| 110 |
line-height: 1.7; |
| 111 |
margin-bottom: 0.2in; |
| 112 |
} |
| 113 |
|
| 114 |
|
| 115 |
|
| 116 |
.stats { |
| 117 |
display: grid; |
| 118 |
grid-template-columns: repeat(4, 1fr); |
| 119 |
gap: 10px; |
| 120 |
margin-bottom: 0.2in; |
| 121 |
} |
| 122 |
|
| 123 |
.stat { |
| 124 |
text-align: center; |
| 125 |
background: var(--bg-warm); |
| 126 |
border: 1px solid var(--border); |
| 127 |
border-radius: 6px; |
| 128 |
padding: 10px 6px; |
| 129 |
} |
| 130 |
|
| 131 |
.stat .num { |
| 132 |
font-family: 'Young Serif', serif; |
| 133 |
font-size: 26px; |
| 134 |
color: var(--accent); |
| 135 |
display: block; |
| 136 |
line-height: 1; |
| 137 |
margin-bottom: 3px; |
| 138 |
} |
| 139 |
|
| 140 |
.stat .label { |
| 141 |
font-family: 'IBM Plex Mono', monospace; |
| 142 |
font-size: 9px; |
| 143 |
color: var(--text-muted); |
| 144 |
text-transform: uppercase; |
| 145 |
letter-spacing: 0.4px; |
| 146 |
} |
| 147 |
|
| 148 |
|
| 149 |
|
| 150 |
.features { |
| 151 |
display: grid; |
| 152 |
grid-template-columns: 1fr 1fr; |
| 153 |
gap: 12px; |
| 154 |
margin-bottom: 0.18in; |
| 155 |
} |
| 156 |
|
| 157 |
.feature-card { |
| 158 |
background: var(--bg-warm); |
| 159 |
border: 1px solid var(--border); |
| 160 |
border-radius: 6px; |
| 161 |
padding: 11px 13px; |
| 162 |
} |
| 163 |
|
| 164 |
.feature-card h3 { |
| 165 |
margin: 0 0 4px 0; |
| 166 |
font-size: 11.5px; |
| 167 |
color: var(--accent); |
| 168 |
} |
| 169 |
|
| 170 |
.feature-card ul { list-style: none; padding: 0; } |
| 171 |
|
| 172 |
.feature-card li { |
| 173 |
font-size: 11px; |
| 174 |
line-height: 1.4; |
| 175 |
color: var(--text-secondary); |
| 176 |
padding: 1.5px 0 1.5px 12px; |
| 177 |
position: relative; |
| 178 |
} |
| 179 |
|
| 180 |
.feature-card li::before { |
| 181 |
content: ''; |
| 182 |
position: absolute; |
| 183 |
left: 0; |
| 184 |
top: 7px; |
| 185 |
width: 5px; |
| 186 |
height: 5px; |
| 187 |
background: var(--accent); |
| 188 |
border-radius: 50%; |
| 189 |
} |
| 190 |
|
| 191 |
|
| 192 |
|
| 193 |
.feature-section { margin-bottom: 0.16in; } |
| 194 |
|
| 195 |
.feature-section ul { |
| 196 |
list-style: none; |
| 197 |
padding: 0; |
| 198 |
columns: 2; |
| 199 |
column-gap: 22px; |
| 200 |
} |
| 201 |
|
| 202 |
.feature-section li { |
| 203 |
font-size: 11.5px; |
| 204 |
line-height: 1.4; |
| 205 |
color: var(--text-secondary); |
| 206 |
padding: 2px 0 2px 12px; |
| 207 |
position: relative; |
| 208 |
break-inside: avoid; |
| 209 |
} |
| 210 |
|
| 211 |
.feature-section li::before { |
| 212 |
content: ''; |
| 213 |
position: absolute; |
| 214 |
left: 0; |
| 215 |
top: 7.5px; |
| 216 |
width: 5px; |
| 217 |
height: 5px; |
| 218 |
background: var(--accent); |
| 219 |
border-radius: 50%; |
| 220 |
} |
| 221 |
|
| 222 |
|
| 223 |
|
| 224 |
.highlight-box { |
| 225 |
background: var(--bg-warm); |
| 226 |
border-left: 3px solid var(--accent); |
| 227 |
padding: 10px 14px; |
| 228 |
margin-bottom: 0.16in; |
| 229 |
border-radius: 0 6px 6px 0; |
| 230 |
} |
| 231 |
|
| 232 |
.highlight-box p { |
| 233 |
font-size: 12px; |
| 234 |
line-height: 1.55; |
| 235 |
color: var(--text-secondary); |
| 236 |
} |
| 237 |
|
| 238 |
.highlight-box strong { color: var(--text); } |
| 239 |
|
| 240 |
|
| 241 |
|
| 242 |
.pricing { |
| 243 |
display: grid; |
| 244 |
grid-template-columns: repeat(4, 1fr); |
| 245 |
gap: 10px; |
| 246 |
margin-bottom: 0.18in; |
| 247 |
} |
| 248 |
|
| 249 |
.tier { |
| 250 |
background: var(--bg-warm); |
| 251 |
border: 1px solid var(--border); |
| 252 |
border-radius: 6px; |
| 253 |
padding: 11px 10px; |
| 254 |
text-align: center; |
| 255 |
} |
| 256 |
|
| 257 |
.tier .tier-price { |
| 258 |
font-family: 'Young Serif', serif; |
| 259 |
font-size: 24px; |
| 260 |
color: var(--accent); |
| 261 |
display: block; |
| 262 |
line-height: 1; |
| 263 |
margin-bottom: 2px; |
| 264 |
} |
| 265 |
|
| 266 |
.tier .tier-period { |
| 267 |
font-family: 'IBM Plex Mono', monospace; |
| 268 |
font-size: 9px; |
| 269 |
color: var(--text-muted); |
| 270 |
text-transform: uppercase; |
| 271 |
display: block; |
| 272 |
margin-bottom: 5px; |
| 273 |
} |
| 274 |
|
| 275 |
.tier .tier-name { |
| 276 |
font-family: 'IBM Plex Mono', monospace; |
| 277 |
font-size: 11px; |
| 278 |
font-weight: 600; |
| 279 |
color: var(--text); |
| 280 |
display: block; |
| 281 |
margin-bottom: 4px; |
| 282 |
} |
| 283 |
|
| 284 |
.tier .tier-desc { |
| 285 |
font-size: 10px; |
| 286 |
color: var(--text-secondary); |
| 287 |
line-height: 1.35; |
| 288 |
} |
| 289 |
|
| 290 |
|
| 291 |
|
| 292 |
.models { |
| 293 |
display: grid; |
| 294 |
grid-template-columns: repeat(4, 1fr); |
| 295 |
gap: 10px; |
| 296 |
margin-bottom: 0.18in; |
| 297 |
} |
| 298 |
|
| 299 |
.model { |
| 300 |
background: var(--bg-warm); |
| 301 |
border: 1px solid var(--border); |
| 302 |
border-radius: 6px; |
| 303 |
padding: 10px 11px; |
| 304 |
text-align: center; |
| 305 |
} |
| 306 |
|
| 307 |
.model .model-name { |
| 308 |
font-family: 'IBM Plex Mono', monospace; |
| 309 |
font-size: 11px; |
| 310 |
font-weight: 600; |
| 311 |
color: var(--text); |
| 312 |
display: block; |
| 313 |
margin-bottom: 4px; |
| 314 |
} |
| 315 |
|
| 316 |
.model .model-desc { |
| 317 |
font-size: 10px; |
| 318 |
color: var(--text-muted); |
| 319 |
line-height: 1.35; |
| 320 |
} |
| 321 |
|
| 322 |
|
| 323 |
|
| 324 |
.content-types { |
| 325 |
display: grid; |
| 326 |
grid-template-columns: repeat(5, 1fr); |
| 327 |
gap: 8px; |
| 328 |
margin-bottom: 0.18in; |
| 329 |
} |
| 330 |
|
| 331 |
.content-type { |
| 332 |
background: var(--bg-warm); |
| 333 |
border: 1px solid var(--border); |
| 334 |
border-radius: 5px; |
| 335 |
padding: 7px 6px; |
| 336 |
text-align: center; |
| 337 |
} |
| 338 |
|
| 339 |
.content-type .type-name { |
| 340 |
font-family: 'IBM Plex Mono', monospace; |
| 341 |
font-size: 10.5px; |
| 342 |
font-weight: 600; |
| 343 |
color: var(--text); |
| 344 |
display: block; |
| 345 |
margin-bottom: 2px; |
| 346 |
} |
| 347 |
|
| 348 |
.content-type .type-detail { |
| 349 |
font-size: 9px; |
| 350 |
color: var(--text-muted); |
| 351 |
line-height: 1.3; |
| 352 |
} |
| 353 |
|
| 354 |
|
| 355 |
|
| 356 |
.comparison { |
| 357 |
width: 100%; |
| 358 |
border-collapse: collapse; |
| 359 |
margin-bottom: 0.16in; |
| 360 |
font-size: 11px; |
| 361 |
} |
| 362 |
|
| 363 |
.comparison th { |
| 364 |
font-family: 'IBM Plex Mono', monospace; |
| 365 |
font-size: 10px; |
| 366 |
font-weight: 600; |
| 367 |
text-align: left; |
| 368 |
padding: 6px 7px; |
| 369 |
background: var(--bg-deep); |
| 370 |
color: var(--text); |
| 371 |
border-bottom: 1px solid var(--border-dark); |
| 372 |
} |
| 373 |
|
| 374 |
.comparison td { |
| 375 |
padding: 5px 7px; |
| 376 |
border-bottom: 1px solid var(--border); |
| 377 |
color: var(--text-secondary); |
| 378 |
vertical-align: top; |
| 379 |
} |
| 380 |
|
| 381 |
.comparison .check { color: var(--green); font-weight: 700; font-size: 12px; } |
| 382 |
.comparison .dash { color: var(--text-muted); } |
| 383 |
.comparison tr:last-child td { border-bottom: none; } |
| 384 |
|
| 385 |
|
| 386 |
|
| 387 |
.two-col { |
| 388 |
display: grid; |
| 389 |
grid-template-columns: 1fr 1fr; |
| 390 |
gap: 12px; |
| 391 |
margin-bottom: 0.16in; |
| 392 |
} |
| 393 |
|
| 394 |
.two-col .col { |
| 395 |
background: var(--bg-warm); |
| 396 |
border: 1px solid var(--border); |
| 397 |
border-radius: 6px; |
| 398 |
padding: 11px 13px; |
| 399 |
} |
| 400 |
|
| 401 |
.two-col .col h3 { |
| 402 |
margin: 0 0 4px 0; |
| 403 |
font-size: 11.5px; |
| 404 |
color: var(--accent); |
| 405 |
} |
| 406 |
|
| 407 |
.two-col .col p { |
| 408 |
font-size: 11px; |
| 409 |
line-height: 1.45; |
| 410 |
color: var(--text-secondary); |
| 411 |
} |
| 412 |
|
| 413 |
|
| 414 |
|
| 415 |
.footer { |
| 416 |
position: absolute; |
| 417 |
bottom: 0.4in; |
| 418 |
left: 0.75in; |
| 419 |
right: 0.75in; |
| 420 |
display: flex; |
| 421 |
justify-content: space-between; |
| 422 |
align-items: center; |
| 423 |
padding-top: 8px; |
| 424 |
border-top: 1px solid var(--border); |
| 425 |
} |
| 426 |
|
| 427 |
.footer .left, .footer .right { |
| 428 |
font-family: 'IBM Plex Mono', monospace; |
| 429 |
font-size: 10px; |
| 430 |
color: var(--text-muted); |
| 431 |
} |
| 432 |
|
| 433 |
.footer-inline { |
| 434 |
display: flex; |
| 435 |
justify-content: space-between; |
| 436 |
align-items: center; |
| 437 |
padding-top: 8px; |
| 438 |
border-top: 1px solid var(--border); |
| 439 |
margin-top: auto; |
| 440 |
} |
| 441 |
|
| 442 |
.footer-inline .left, .footer-inline .right { |
| 443 |
font-family: 'IBM Plex Mono', monospace; |
| 444 |
font-size: 10px; |
| 445 |
color: var(--text-muted); |
| 446 |
} |
| 447 |
|
| 448 |
@media print { body { background: white; } .page { box-shadow: none; } } |
| 449 |
@media screen { body { background: #ccc; padding: 20px 0; } .page { box-shadow: 0 2px 20px rgba(0,0,0,0.15); margin-bottom: 20px; } } |
| 450 |
</style> |
| 451 |
</head> |
| 452 |
<body> |
| 453 |
|
| 454 |
|
| 455 |
|
| 456 |
|
| 457 |
<div class="page"> |
| 458 |
|
| 459 |
<div class="hero"> |
| 460 |
<h1>Makenot<span class="dot">.</span>work</h1> |
| 461 |
<div class="tagline">Fair distribution for creatives of all kinds.</div> |
| 462 |
<div class="sub">A creator platform where the only fee is Stripe's ~3% processing. No revenue share, no lock-in, full data export.</div> |
| 463 |
</div> |
| 464 |
|
| 465 |
<div class="stats"> |
| 466 |
<div class="stat"> |
| 467 |
<span class="num">0%</span> |
| 468 |
<span class="label">Platform fee</span> |
| 469 |
</div> |
| 470 |
<div class="stat"> |
| 471 |
<span class="num">10</span> |
| 472 |
<span class="label">Content types</span> |
| 473 |
</div> |
| 474 |
<div class="stat"> |
| 475 |
<span class="num">4</span> |
| 476 |
<span class="label">Pricing models</span> |
| 477 |
</div> |
| 478 |
<div class="stat"> |
| 479 |
<span class="num">100%</span> |
| 480 |
<span class="label">Data exportable</span> |
| 481 |
</div> |
| 482 |
</div> |
| 483 |
|
| 484 |
<div class="intro"> |
| 485 |
Makenot.work is a platform for selling digital work. Music, software, writing, video, courses, sample packs, plugins, presets — whatever you make. You pay a flat monthly fee based on your content type. Your buyers pay Stripe's processing fee and nothing else. We never take a percentage of your revenue. |
| 486 |
</div> |
| 487 |
|
| 488 |
<h2>Creator Tiers</h2> |
| 489 |
|
| 490 |
<div class="pricing"> |
| 491 |
<div class="tier"> |
| 492 |
<span class="tier-price">$16</span> |
| 493 |
<span class="tier-period">/ month</span> |
| 494 |
<span class="tier-name">Basic</span> |
| 495 |
<div class="tier-desc">Text, blogs, newsletters, community forums.</div> |
| 496 |
</div> |
| 497 |
<div class="tier"> |
| 498 |
<span class="tier-price">$24</span> |
| 499 |
<span class="tier-period">/ month</span> |
| 500 |
<span class="tier-name">Small Files</span> |
| 501 |
<div class="tier-desc">Audio, sample packs, plugins, software, presets.</div> |
| 502 |
</div> |
| 503 |
<div class="tier"> |
| 504 |
<span class="tier-price">$36</span> |
| 505 |
<span class="tier-period">/ month</span> |
| 506 |
<span class="tier-name">Big Files</span> |
| 507 |
<div class="tier-desc">Video, courses, tutorials, large archives.</div> |
| 508 |
</div> |
| 509 |
<div class="tier"> |
| 510 |
<span class="tier-price">$60</span> |
| 511 |
<span class="tier-period">/ month</span> |
| 512 |
<span class="tier-name">Everything</span> |
| 513 |
<div class="tier-desc">All features, current and future.</div> |
| 514 |
</div> |
| 515 |
</div> |
| 516 |
|
| 517 |
<h2>How It Compares</h2> |
| 518 |
|
| 519 |
<table class="comparison"> |
| 520 |
<tr> |
| 521 |
<th style="width:23%">Feature</th> |
| 522 |
<th style="width:12.8%">MNW</th> |
| 523 |
<th style="width:12.8%">Gumroad</th> |
| 524 |
<th style="width:12.8%">Patreon</th> |
| 525 |
<th style="width:12.8%">Bandcamp</th> |
| 526 |
<th style="width:12.8%">Itch.io</th> |
| 527 |
<th style="width:12.8%">Substack</th> |
| 528 |
</tr> |
| 529 |
<tr> |
| 530 |
<td>Platform fee</td> |
| 531 |
<td><span class="check">0%</span></td> |
| 532 |
<td>10%</td> |
| 533 |
<td>5–12%</td> |
| 534 |
<td>10–15%</td> |
| 535 |
<td>0% (optional)</td> |
| 536 |
<td>10%</td> |
| 537 |
</tr> |
| 538 |
<tr> |
| 539 |
<td>One-time sales</td> |
| 540 |
<td><span class="check">Yes</span></td> |
| 541 |
<td><span class="check">Yes</span></td> |
| 542 |
<td>Limited</td> |
| 543 |
<td><span class="check">Yes</span></td> |
| 544 |
<td><span class="check">Yes</span></td> |
| 545 |
<td><span class="dash">—</span></td> |
| 546 |
</tr> |
| 547 |
<tr> |
| 548 |
<td>Subscriptions</td> |
| 549 |
<td><span class="check">Yes</span></td> |
| 550 |
<td><span class="check">Yes</span></td> |
| 551 |
<td><span class="check">Yes</span></td> |
| 552 |
<td>Limited</td> |
| 553 |
<td><span class="dash">—</span></td> |
| 554 |
<td><span class="check">Yes</span></td> |
| 555 |
</tr> |
| 556 |
<tr> |
| 557 |
<td>Pay-what-you-want</td> |
| 558 |
<td><span class="check">Yes</span></td> |
| 559 |
<td><span class="check">Yes</span></td> |
| 560 |
<td><span class="dash">—</span></td> |
| 561 |
<td><span class="check">Yes</span></td> |
| 562 |
<td><span class="check">Yes</span></td> |
| 563 |
<td><span class="dash">—</span></td> |
| 564 |
</tr> |
| 565 |
<tr> |
| 566 |
<td>License keys</td> |
| 567 |
<td><span class="check">Yes</span></td> |
| 568 |
<td><span class="check">Yes</span></td> |
| 569 |
<td><span class="dash">—</span></td> |
| 570 |
<td><span class="dash">—</span></td> |
| 571 |
<td><span class="dash">—</span></td> |
| 572 |
<td><span class="dash">—</span></td> |
| 573 |
</tr> |
| 574 |
<tr> |
| 575 |
<td>Git hosting</td> |
| 576 |
<td><span class="check">Yes</span></td> |
| 577 |
<td><span class="dash">—</span></td> |
| 578 |
<td><span class="dash">—</span></td> |
| 579 |
<td><span class="dash">—</span></td> |
| 580 |
<td><span class="dash">—</span></td> |
| 581 |
<td><span class="dash">—</span></td> |
| 582 |
</tr> |
| 583 |
<tr> |
| 584 |
<td>Community forums</td> |
| 585 |
<td><span class="check">Yes</span></td> |
| 586 |
<td><span class="dash">—</span></td> |
| 587 |
<td>Discord</td> |
| 588 |
<td><span class="dash">—</span></td> |
| 589 |
<td>Comments</td> |
| 590 |
<td>Comments</td> |
| 591 |
</tr> |
| 592 |
<tr> |
| 593 |
<td>Malware scanning</td> |
| 594 |
<td><span class="check">6 layers</span></td> |
| 595 |
<td>Basic</td> |
| 596 |
<td>N/A</td> |
| 597 |
<td>Basic</td> |
| 598 |
<td>Basic</td> |
| 599 |
<td>N/A</td> |
| 600 |
</tr> |
| 601 |
<tr> |
| 602 |
<td>Full data export</td> |
| 603 |
<td><span class="check">Yes</span></td> |
| 604 |
<td>Partial</td> |
| 605 |
<td>Partial</td> |
| 606 |
<td>Limited</td> |
| 607 |
<td><span class="check">Yes</span></td> |
| 608 |
<td>Limited</td> |
| 609 |
</tr> |
| 610 |
<tr> |
| 611 |
<td>Source-available</td> |
| 612 |
<td><span class="check">Yes</span></td> |
| 613 |
<td><span class="dash">—</span></td> |
| 614 |
<td><span class="dash">—</span></td> |
| 615 |
<td><span class="dash">—</span></td> |
| 616 |
<td><span class="dash">—</span></td> |
| 617 |
<td><span class="dash">—</span></td> |
| 618 |
</tr> |
| 619 |
<tr> |
| 620 |
<td>Mobile app</td> |
| 621 |
<td><span style="color: var(--warm, #d69e2e); font-weight: 700;">WIP</span></td> |
| 622 |
<td><span class="check">Yes</span></td> |
| 623 |
<td><span class="check">Yes</span></td> |
| 624 |
<td><span class="check">Yes</span></td> |
| 625 |
<td><span class="dash">—</span></td> |
| 626 |
<td><span class="check">Yes</span></td> |
| 627 |
</tr> |
| 628 |
</table> |
| 629 |
|
| 630 |
<div class="highlight-box"> |
| 631 |
<p>A creator earning $10,000/month on Gumroad loses $1,000 to the platform every month. On Makenot.work, the same creator pays $16–$60 flat — keeping an extra <strong>$12,000 per year</strong>. Month-to-month cancellation. Full data export. No lock-in.</p> |
| 632 |
</div> |
| 633 |
|
| 634 |
<div class="footer"> |
| 635 |
<div class="left">Makenot.work — v0.2.5 alpha</div> |
| 636 |
<div class="right">makenot.work</div> |
| 637 |
</div> |
| 638 |
|
| 639 |
</div> |
| 640 |
|
| 641 |
|
| 642 |
|
| 643 |
|
| 644 |
<div class="page"> |
| 645 |
|
| 646 |
<h2>How You Sell</h2> |
| 647 |
|
| 648 |
<div class="models"> |
| 649 |
<div class="model"> |
| 650 |
<span class="model-name">Buy Once</span> |
| 651 |
<div class="model-desc">Fixed price or free. Buyer downloads forever. No recurring charge.</div> |
| 652 |
</div> |
| 653 |
<div class="model"> |
| 654 |
<span class="model-name">Subscription</span> |
| 655 |
<div class="model-desc">Monthly tiers via Stripe billing. Recurring access to your catalog.</div> |
| 656 |
</div> |
| 657 |
<div class="model"> |
| 658 |
<span class="model-name">Pay What You Want</span> |
| 659 |
<div class="model-desc">Set a minimum (or $0). Buyer chooses the price.</div> |
| 660 |
</div> |
| 661 |
<div class="model"> |
| 662 |
<span class="model-name">License Key</span> |
| 663 |
<div class="model-desc">Auto-generated keys with activation limits and machine tracking.</div> |
| 664 |
</div> |
| 665 |
</div> |
| 666 |
|
| 667 |
<h2>Content Types</h2> |
| 668 |
|
| 669 |
<div class="content-types"> |
| 670 |
<div class="content-type"> |
| 671 |
<span class="type-name">Audio</span> |
| 672 |
<div class="type-detail">MP3, WAV, FLAC, OGG, M4A</div> |
| 673 |
</div> |
| 674 |
<div class="content-type"> |
| 675 |
<span class="type-name">Text</span> |
| 676 |
<div class="type-detail">Markdown editor, reading time</div> |
| 677 |
</div> |
| 678 |
<div class="content-type"> |
| 679 |
<span class="type-name">Video</span> |
| 680 |
<div class="type-detail">Streaming playback</div> |
| 681 |
</div> |
| 682 |
<div class="content-type"> |
| 683 |
<span class="type-name">Image</span> |
| 684 |
<div class="type-detail">JPG, PNG, WebP</div> |
| 685 |
</div> |
| 686 |
<div class="content-type"> |
| 687 |
<span class="type-name">Plugin</span> |
| 688 |
<div class="type-detail">VST3, CLAP</div> |
| 689 |
</div> |
| 690 |
<div class="content-type"> |
| 691 |
<span class="type-name">Preset</span> |
| 692 |
<div class="type-detail">Synth patches, FX chains</div> |
| 693 |
</div> |
| 694 |
<div class="content-type"> |
| 695 |
<span class="type-name">Sample</span> |
| 696 |
<div class="type-detail">Loops, one-shots, packs</div> |
| 697 |
</div> |
| 698 |
<div class="content-type"> |
| 699 |
<span class="type-name">Course</span> |
| 700 |
<div class="type-detail">Multi-lesson content</div> |
| 701 |
</div> |
| 702 |
<div class="content-type"> |
| 703 |
<span class="type-name">Template</span> |
| 704 |
<div class="type-detail">Design, code, project</div> |
| 705 |
</div> |
| 706 |
<div class="content-type"> |
| 707 |
<span class="type-name">Digital</span> |
| 708 |
<div class="type-detail">ZIP, DMG, EXE, any file</div> |
| 709 |
</div> |
| 710 |
</div> |
| 711 |
|
| 712 |
<h2>Creator Tools</h2> |
| 713 |
|
| 714 |
<div class="features"> |
| 715 |
<div class="feature-card"> |
| 716 |
<h3>Dashboard & Analytics</h3> |
| 717 |
<ul> |
| 718 |
<li>Revenue charts (7, 30, 90 day views with period comparison)</li> |
| 719 |
<li>Per-project and per-item breakdowns</li> |
| 720 |
<li>Sales count, follower tracking, transaction history</li> |
| 721 |
<li>Customer list with purchase totals and last activity</li> |
| 722 |
<li>Export transactions and contacts as CSV</li> |
| 723 |
</ul> |
| 724 |
</div> |
| 725 |
<div class="feature-card"> |
| 726 |
<h3>Content Management</h3> |
| 727 |
<ul> |
| 728 |
<li>Presigned S3 uploads (up to 500 MB per file)</li> |
| 729 |
<li>File versioning with changelogs and download counts</li> |
| 730 |
<li>Publish/unpublish, bulk operations, item reordering</li> |
| 731 |
<li>Audio chapters with timestamp markers</li> |
| 732 |
<li>Content insertions (pre-roll, mid-roll, post-roll for audio)</li> |
| 733 |
</ul> |
| 734 |
</div> |
| 735 |
<div class="feature-card"> |
| 736 |
<h3>Audience</h3> |
| 737 |
<ul> |
| 738 |
<li>Project and creator follows with notification system</li> |
| 739 |
<li>Broadcast emails to your followers</li> |
| 740 |
<li>Per-project and per-creator RSS feeds</li> |
| 741 |
<li>Blog with markdown editor and publish scheduling</li> |
| 742 |
<li>Community forums (Multithreaded, built in)</li> |
| 743 |
</ul> |
| 744 |
</div> |
| 745 |
<div class="feature-card"> |
| 746 |
<h3>Promotions</h3> |
| 747 |
<ul> |
| 748 |
<li>Discount codes (percentage or fixed amount off)</li> |
| 749 |
<li>Free access codes (grant without payment)</li> |
| 750 |
<li>Per-item or per-project scope</li> |
| 751 |
<li>Usage limits and expiration dates</li> |
| 752 |
<li>Subscription tiers with Stripe recurring billing</li> |
| 753 |
</ul> |
| 754 |
</div> |
| 755 |
</div> |
| 756 |
|
| 757 |
<div class="footer"> |
| 758 |
<div class="left">Makenot.work — v0.2.5 alpha</div> |
| 759 |
<div class="right">makenot.work</div> |
| 760 |
</div> |
| 761 |
|
| 762 |
</div> |
| 763 |
|
| 764 |
|
| 765 |
|
| 766 |
|
| 767 |
<div class="page" style="display: flex; flex-direction: column;"> |
| 768 |
|
| 769 |
<h2>Discovery & Browsing</h2> |
| 770 |
|
| 771 |
<div class="two-col"> |
| 772 |
<div class="col"> |
| 773 |
<h3>For Buyers</h3> |
| 774 |
<p>Full-text search across all public items and projects. Filter by type, tag, price range. Sort by newest, popularity, or price. Hierarchical tag browser with follow capability. Grid and list views. No account required to browse.</p> |
| 775 |
</div> |
| 776 |
<div class="col"> |
| 777 |
<h3>Creator Profiles</h3> |
| 778 |
<p>Public profile with bio, custom links, all projects, and follower count. RSS feed per creator and per project. Buyers follow creators and projects to get notified of new releases.</p> |
| 779 |
</div> |
| 780 |
</div> |
| 781 |
|
| 782 |
<h2>Git Hosting</h2> |
| 783 |
|
| 784 |
<div class="highlight-box"> |
| 785 |
<p>Every creator gets git repository hosting. Clone via HTTPS or SSH (<code>git.makenot.work</code>). Browse source in the web UI — file trees, commit history, diffs. <strong>Issue tracker</strong> per repo with labels and comments. <strong>Repo settings dashboard</strong> for description, visibility, and project linking. Public repos are browsable by anyone.</p> |
| 786 |
</div> |
| 787 |
|
| 788 |
<h2>Security & Trust</h2> |
| 789 |
|
| 790 |
<div class="features"> |
| 791 |
<div class="feature-card"> |
| 792 |
<h3>Account Security</h3> |
| 793 |
<ul> |
| 794 |
<li>Two-factor authentication (TOTP with backup codes)</li> |
| 795 |
<li>Passkey / WebAuthn support (FIDO2 hardware keys)</li> |
| 796 |
<li>SSH key management for git access</li> |
| 797 |
<li>Session management (view and revoke active sessions)</li> |
| 798 |
<li>Login notifications on new devices</li> |
| 799 |
<li>Account lockout after 5 failed attempts (one-time link recovery)</li> |
| 800 |
</ul> |
| 801 |
</div> |
| 802 |
<div class="feature-card"> |
| 803 |
<h3>Content Safety</h3> |
| 804 |
<ul> |
| 805 |
<li>6-layer malware scanning pipeline on every upload</li> |
| 806 |
<li>Magic bytes verification, structural analysis, archive inspection</li> |
| 807 |
<li>YARA pattern matching and ClamAV integration</li> |
| 808 |
<li>MalwareBazaar hash lookup (known malware database)</li> |
| 809 |
<li>Quarantine flow for flagged files</li> |
| 810 |
<li>SHA-256 hashing for integrity verification</li> |
| 811 |
</ul> |
| 812 |
</div> |
| 813 |
</div> |
| 814 |
|
| 815 |
<h2>For Software Developers</h2> |
| 816 |
|
| 817 |
<div class="features"> |
| 818 |
<div class="feature-card"> |
| 819 |
<h3>License Keys</h3> |
| 820 |
<ul> |
| 821 |
<li>Auto-generated keys on purchase</li> |
| 822 |
<li>Activation limits (per-machine or shared)</li> |
| 823 |
<li>Machine ID tracking and validation</li> |
| 824 |
<li>Public validation API endpoint</li> |
| 825 |
<li>Key revocation and status checking</li> |
| 826 |
</ul> |
| 827 |
</div> |
| 828 |
<div class="feature-card"> |
| 829 |
<h3>SyncKit (Cloud Sync)</h3> |
| 830 |
<ul> |
| 831 |
<li>E2E encrypted sync infrastructure for your apps</li> |
| 832 |
<li>Rust SDK with push/pull changelog, blob storage</li> |
| 833 |
<li>Device management, key storage, retry logic</li> |
| 834 |
<li>OAuth provider for third-party app login</li> |
| 835 |
<li>Flat pricing, no per-user or per-request fees</li> |
| 836 |
</ul> |
| 837 |
</div> |
| 838 |
</div> |
| 839 |
|
| 840 |
<h2>Under the Hood</h2> |
| 841 |
|
| 842 |
<div class="feature-section"> |
| 843 |
<ul> |
| 844 |
<li>Stripe Connect for direct payouts (no intermediary)</li> |
| 845 |
<li>S3-compatible object storage (Hetzner)</li> |
| 846 |
<li>Transactional email via Postmark (receipts, verification, alerts)</li> |
| 847 |
<li>Rate limiting on auth, upload, and API routes</li> |
| 848 |
<li>Audio streaming with presigned URLs (dynamic expiry by duration)</li> |
| 849 |
<li>Documentation engine (markdown-based, shipped with the platform)</li> |
| 850 |
<li>OAuth 2.0 provider (PKCE flow for desktop and mobile apps)</li> |
| 851 |
<li>Source-available under PolyForm Noncommercial 1.0.0</li> |
| 852 |
</ul> |
| 853 |
</div> |
| 854 |
|
| 855 |
<div class="highlight-box"> |
| 856 |
<p><strong>Private alpha.</strong> Makenot.work is live and accepting creators by invitation. Existing creators can invite others via creator invite codes. Source-available under PolyForm Noncommercial 1.0.0.</p> |
| 857 |
</div> |
| 858 |
|
| 859 |
<div class="footer-inline" style="margin-top: 10px;"> |
| 860 |
<div class="left">Makenot.work — v0.2.5 alpha</div> |
| 861 |
<div class="right">makenot.work</div> |
| 862 |
</div> |
| 863 |
|
| 864 |
</div> |
| 865 |
|
| 866 |
</body> |
| 867 |
</html> |
| 868 |
|