Skip to main content

max / makenotwork

Landing page rewrite, doc polish, version bump to 0.2.1 Strengthened landing page: feature grid, explore links, sharper tier descriptions, "How it works" section, dashboard docs link. Documentation cross-references verified clean (62 links). Added security and audience tools to how-we-work.md feature list. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author: Max J. <87768334+MaxJMath@users.noreply.github.com> · 2026-03-12 02:03 UTC
Commit: 120fd7be2d4defeb4c44e02283f4765a09e78051
Parent: 3fb6820
83 files changed, +2383 insertions, -1325 deletions
@@ -3453,7 +3453,7 @@
3453 3453
3454 3454 [[package]]
3455 3455 name = "makenotwork"
3456 - version = "0.1.9"
3456 + version = "0.2.0"
3457 3457 dependencies = [
3458 3458 "ammonia",
3459 3459 "anyhow",
@@ -3471,6 +3471,7 @@
3471 3471 "dotenvy",
3472 3472 "git2",
3473 3473 "goblin",
3474 + "governor",
3474 3475 "hex",
3475 3476 "hmac",
3476 3477 "http-body-util",
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "makenotwork"
3 - version = "0.1.9"
3 + version = "0.2.1"
4 4 edition = "2024"
5 5 license-file = "../../LICENSE"
6 6
@@ -37,6 +37,7 @@
37 37
38 38 # Rate Limiting
39 39 tower_governor = "0.6.0"
40 + governor = "0.8.1"
40 41
41 42 # JWT (SyncKit)
42 43 jsonwebtoken = "9.3.1"
@@ -85,6 +85,8 @@
85 85 | Video content, courses | Big Files ($30) |
86 86 | Live streams | Streaming ($40) |
87 87
88 + *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.*
89 +
88 90 ### What Every Tier Includes
89 91
90 92 - Unlimited uploads within your content type
@@ -98,6 +100,8 @@
98 100 - License keys, discount codes, download codes
99 101 - Pay-what-you-want pricing option
100 102 - Subscription tiers with Stripe billing
103 + - Follows, broadcast emails, email notifications (sales, followers, releases, logins)
104 + - 2FA/TOTP, passkeys/WebAuthn, session management, account lockout
101 105
102 106 ### Earn-Back Credit Program
103 107
@@ -16,6 +16,10 @@
16 16 - **Projects**: Group items under a project with its own page, slug, description, and category
17 17 - **Blog**: Per-project blog with markdown posts, draft/publish workflow, included in data exports
18 18 - **RSS feeds**: Auto-generated feeds per project (items + blog posts), personal feed across followed creators
19 + - **Scheduled publishing**: Set a future publish date, items auto-publish on schedule
20 + - **Item duplication**: Clone any item's metadata to a new draft
21 + - **Bulk operations**: Publish, unpublish, or delete multiple items at once
22 + - **Content insertions**: Reusable audio clip library with pre-roll, mid-roll, and post-roll placement per item
19 23
20 24 ### Selling & Monetization
21 25
@@ -49,6 +53,8 @@
49 53 - **Transactions**: Full purchase and sales history, filterable
50 54 - **Contacts**: View fans who shared their email at purchase, with purchase count and total spent
51 55 - **Broadcasts**: Send plain-text email updates to all your followers (rate-limited to one per 24 hours)
56 + - **Revenue charting**: Time-series revenue with selectable periods (7d/30d/90d/all), period-over-period comparison, per-project breakdown
57 + - **Getting-started email drip**: 3-step onboarding sequence (welcome, profile tips, Stripe setup guide)
52 58 - **Data export**: All projects, items, blog posts, sales (CSV), and purchases (CSV) downloadable anytime
53 59 - **Custom links**: Add external links to your profile
54 60
@@ -75,13 +81,15 @@
75 81 - **Source-available codebase**: PolyForm Noncommercial 1.0.0
76 82 - **Creator waitlist**: Invite-only launch with lottery waves and hand-picked approvals
77 83 - **Admin CLI** (`mnw-admin`): Command-line tool for waitlist management, creator approval, spam flagging, wave execution, stats, user suspension/unsuspension, appeal processing, revenue reports, transaction history, CSV data export, and S3 storage audits -- connects directly to the database, no web UI needed
84 + - **JSON-LD structured data**: Product, MusicRecording, BlogPosting, Article, ProfilePage, and CollectionPage schemas
78 85 - **Documentation**: Server-rendered from markdown, auto-linked cross-references
79 86 - **Transactional email**: Password reset, email verification, purchase receipts, subscription lifecycle, sale and follower notifications via Postmark with bounce/complaint suppression
80 87 - **Git source browser**: Browse server-hosted bare repositories with syntax highlighting
88 + - **SSH git access**: Clone and push to hosted repositories with SSH key authentication
81 89 - **Health monitoring**: Real uptime tracking, database status, service connectivity checks
82 90 - **Malware scanning**: ClamAV + YARA rules + MalwareBazaar hash lookup on file uploads
83 91 - **Creator guide**: 12-page documentation covering the full UX surface area
84 - - **621 automated tests**: Unit, integration, workflow, and health tests
92 + - **824 automated tests**: Unit, integration, workflow, and health tests
85 93
86 94 ### Developer Infrastructure (SyncKit)
87 95
@@ -100,7 +108,6 @@
100 108 Near-term work. No timelines because we ship when it's ready.
101 109
102 110 - **Beta launch**: Final testing pass, onboard first creators
103 - - **Notification preferences UI**: Dashboard settings page for managing email notification toggles
104 111 - **Admin CLI expansion**: Broadcast sending to all users for platform announcements
105 112
106 113 ---
@@ -125,18 +132,10 @@
125 132
126 133 Creators upload pre-converted files (FLAC, MP3 320k, etc.). Fans choose their preferred format. No server-side transcoding.
127 134
128 - ### Structured data and SEO
129 -
130 - JSON-LD (Product, MusicRecording, Article). OG and Twitter Card meta tags are already live.
131 -
132 135 ### Open source creator tools
133 136
134 137 Built-in git hosting with source browser, plus GitHub integration for software creators. Sponsor tiers, license display, release hosting, build status badges.
135 138
136 - ### Analytics
137 -
138 - Replace the placeholder analytics tab with real data: revenue over time, per-item metrics, download/play counts, follower trends.
139 -
140 139 ### Custom domains
141 140
142 141 Point your own domain to a project page. DNS verification, automatic TLS via Caddy.
@@ -34,7 +34,11 @@
34 34
35 35 ## Broadcast Email
36 36
37 - Send updates to fans who opted in to contact sharing. Planned but not yet live — see the [Roadmap](../about/roadmap.md).
37 + Send a plain-text email update to all your followers.
38 +
39 + - One broadcast per 24 hours (rate-limited to prevent spam)
40 + - Every broadcast includes a signed unsubscribe URL so fans can opt out
41 + - Compose and send from your creator dashboard
38 42
39 43 ## RSS
40 44
@@ -44,7 +48,12 @@
44 48
45 49 ## Notifications
46 50
47 - Sale and follower notifications via email are planned. Currently, check your Dashboard for transaction history.
51 + Email notifications for key account events, each individually toggleable in your account settings:
52 +
53 + - **Sale alerts** — When someone purchases your content
54 + - **Follower alerts** — When someone follows you or your projects
55 + - **New release announcements** — When creators you follow publish new items
56 + - **New device login warnings** — When your account is accessed from a new device
48 57
49 58 ---
50 59
@@ -12,7 +12,7 @@
12 12 - Recent transactions
13 13 - Follower counts
14 14
15 - Full analytics with charts and trends are planned. The current dashboard gives you the numbers that matter.
15 + The dashboard includes revenue charting with selectable time ranges (7 days, 30 days, 90 days, all time), period-over-period comparison showing percentage changes, and per-project revenue breakdown.
16 16
17 17 ## Transaction History
18 18
@@ -60,6 +60,12 @@
60 60 ssh $SERVER "systemctl stop makenotwork || true"
61 61 scp target/$TARGET/release/$BINARY_NAME $SERVER:$REMOTE_DIR/$BINARY_NAME
62 62 ssh $SERVER "chmod +x $REMOTE_DIR/$BINARY_NAME"
63 + # Also upload mnw-admin binary (used for SSH key management)
64 + if [ -f "target/$TARGET/release/mnw-admin" ]; then
65 + scp target/$TARGET/release/mnw-admin $SERVER:$REMOTE_DIR/mnw-admin
66 + ssh $SERVER "chmod +x $REMOTE_DIR/mnw-admin"
67 + echo "[upload] mnw-admin binary uploaded"
68 + fi
63 69 echo "[upload] Done"
64 70 }
65 71