Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
1092 lines (974 loc) · 71.6 KB
/
Copy pathindex.html
File metadata and controls
1092 lines (974 loc) · 71.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Primary Meta Tags -->
<title>Reactorcore's Revenue Share System - Fair & Transparent Team Payout Calculator</title>
<meta name="title" content="Reactorcore's Revenue Share System - Fair & Transparent Team Payout Calculator">
<meta name="description" content="Free revenue sharing system for gamedev teams, freelancers, and collaborative projects. Calculate fair payouts, track team credits, and manage zero-budget revshare projects with transparent tier-based compensation.">
<meta name="keywords" content="revenue share, revshare, gamedev, game development, indie games, team collaboration, payout calculator, freelance collaboration, zero budget, fair compensation, team credits, transparent payouts">
<meta name="author" content="Reactorcore">
<meta name="robots" content="index, follow">
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://reactorcoregames.github.io/Reactorcores-Revshare-System/">
<meta property="og:title" content="Reactorcore's Revenue Share System - Fair & Transparent Team Payout Calculator">
<meta property="og:description" content="Free revenue sharing system for gamedev teams, freelancers, and collaborative projects. Calculate fair payouts, track team credits, and manage zero-budget revshare projects with transparent tier-based compensation.">
<meta property="og:image" content="https://reactorcoregames.github.io/Reactorcores-Revshare-System/images/hero-bg.jpg">
<meta property="og:image:alt" content="Reactorcore's Revenue Share System">
<meta property="og:site_name" content="Reactorcore's Revenue Share System">
<meta property="og:locale" content="en_US">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="https://reactorcoregames.github.io/Reactorcores-Revshare-System/">
<meta name="twitter:title" content="Reactorcore's Revenue Share System - Fair & Transparent Team Payout Calculator">
<meta name="twitter:description" content="Free revenue sharing system for gamedev teams, freelancers, and collaborative projects. Calculate fair payouts, track team credits, and manage zero-budget revshare projects.">
<meta name="twitter:image" content="https://reactorcoregames.github.io/Reactorcores-Revshare-System/images/hero-bg.jpg">
<meta name="twitter:creator" content="@ReactorcoreDev">
<!-- Canonical URL -->
<link rel="canonical" href="https://reactorcoregames.github.io/Reactorcores-Revshare-System/">
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<!-- Theme Color -->
<meta name="theme-color" content="#1a1612">
<meta name="msapplication-TileColor" content="#1a1612">
<!-- Additional SEO -->
<meta name="application-name" content="Revenue Share System">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="Revenue Share">
<meta name="format-detection" content="telephone=no">
<!-- Structured Data / Schema.org -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Reactorcore's Revenue Share System",
"description": "Free revenue sharing system for gamedev teams, freelancers, and collaborative projects. Calculate fair payouts, track team credits, and manage zero-budget revshare projects.",
"url": "https://reactorcoregames.github.io/Reactorcores-Revshare-System/",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Any",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"author": {
"@type": "Person",
"name": "Reactorcore"
},
"featureList": [
"Tiered contribution system",
"Automatic payout calculator",
"Team credits tracking",
"Payout history timeline",
"Export reports",
"Works offline",
"Privacy-first design"
]
}
</script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="styles.css?v=3">
</head>
<body>
<!-- Navigation Bar -->
<nav class="navbar" id="navbar">
<div class="nav-container">
<div class="nav-brand">Revenue Share System</div>
<!-- Burger Menu Button (Mobile) -->
<button class="burger-menu" id="burger-menu" aria-label="Toggle navigation menu">
<span class="burger-line"></span>
<span class="burger-line"></span>
<span class="burger-line"></span>
</button>
<div class="nav-menu" id="nav-menu">
<button class="nav-btn active" data-tab="intro">Home</button>
<button class="nav-btn" data-tab="team">Team & Credits</button>
<button class="nav-btn" data-tab="calculator">Payout Calculator</button>
<button class="nav-btn" data-tab="dashboard">History</button>
<button class="nav-btn" data-tab="info">Info & FAQ</button>
</div>
<div class="nav-actions">
<button class="action-btn load-btn" id="load-data-btn" title="Load Project File">
<span class="btn-icon">📂</span>
<span class="btn-text">Load</span>
</button>
<button class="action-btn save-btn" id="save-data-btn" title="Save Project File">
<span class="btn-icon">💾</span>
<span class="btn-text">Save</span>
</button>
</div>
</div>
</nav>
<!-- Hidden file input for loading -->
<input type="file" id="file-input" accept=".json" style="display: none;">
<!-- Drag and Drop Overlay -->
<div id="drop-overlay" class="drop-overlay">
<div class="drop-content">
<div class="drop-icon">📂</div>
<h2>Drop your project file here</h2>
<p>Release to load your team-project data</p>
</div>
</div>
<!-- File Status Indicator -->
<div id="file-status" class="file-status">
<div class="file-status-tooltip">Click to shrink</div>
<div class="file-status-icon" id="file-status-icon">⚠</div>
<div class="file-status-label">Current Team-Project Data File:</div>
<div class="file-status-name" id="file-status-name">None - Please drag & drop existing file anywhere or save new data</div>
<div class="file-status-state" id="file-status-state">Status: Not loaded</div>
</div>
<!-- Main Content Container -->
<div class="main-content">
<!-- Intro/Landing Page Tab -->
<section id="tab-intro" class="tab-content active">
<div class="hero-section">
<div class="hero-overlay">
<h1 class="hero-title">Reactorcore's Revenue Share System</h1>
<p class="hero-subtitle">A transparent, fair, and scalable system for creative project teams</p>
</div>
</div>
<div class="content-section">
<div class="intro-grid">
<div class="intro-card">
<h2>What Is This?</h2>
<p>A well-designed revenue sharing (revshare) system for any teamwork where people expect to get rewarded for their effort in a fair, transparent, robust, flexible, clear, safe and scalable way.</p>
<br>
<p>Includes a smart payout calculator, a team tracker for credits and reward tiers, and a comprehensive solution HOW to run a zero-budget revshare project.</p>
<br>
<p>Its 100% free, easy-to-use and helps you worry less about how to share money correctly between teammates.</p>
</div>
<div class="intro-card">
<h2>Who Is It For?</h2>
<p><strong>Perfect for:</strong></p>
<ul>
<li>Gamedev Revshare Projects</li>
<li>Zero-Budget Dev Teams</li>
<li>Artist/Freelance Collaborations</li>
<li>Open/Closed Source Projects</li>
<li>Any collaborative thing with atleast two or more people working together and wanting to get paid fairly based on importance to project</li>
</ul>
</div>
<div class="intro-card">
<h2>When To Use It?</h2>
<p>After a storefront (Steam, GOG, Itch, Gumroad, etc.) takes its % cut and then sends you, the project leader, the remaining money to a bank account from which you're supposed to share it with your team and yourself.</p>
<br>
<p>This web app helps you auto-calculate how to divide the money, keep track of your entire team of paid contributors and non-paid fans who deserve to be added into the project's credits.</p>
</div>
</div>
<div class="key-features-section">
<h2>Why This System Works</h2>
<p class="features-intro">This system solves the classic problem: <strong>How do you compensate people fairly when contributions vary wildly in scope and impact?</strong> How do you keep it simple long-term without making anyone's head explode?</p>
<p class="features-intro">No contracts, no equity battles, no corporate structure required - just clear math, clean rules, and transparency.</p>
<div class="features-grid">
<div class="feature-item">
<h3>🏆 Tiered Contribution System</h3>
<p>Main, Assistant, Special Thanks, and Fan tiers based on lifetime project impact. Once you earn a tier, you keep it forever.</p>
</div>
<div class="feature-item">
<h3>⚖️ Self-Balancing Protection</h3>
<p>Math keeps payouts fair no matter how the team grows - main contributors never get drowned out by too many helpers.</p>
</div>
<div class="feature-item">
<h3>💎 Lifetime Rewards</h3>
<p>Once you earn a tier, you keep receiving payouts forever. No demotions, no performance anxiety.</p>
</div>
<div class="feature-item">
<h3>📅 Smart Payout Timing</h3>
<p>Monthly when revenue is strong, quarterly when lean. Minimizes bank fees and maximizes what your team receives.</p>
</div>
<div class="feature-item">
<h3>📜 Zero Legal Complexity</h3>
<p>No lawyers, no contracts, no business entity needed. Works for any team size from 2 to 200+ members.</p>
</div>
<div class="feature-item">
<h3>🔍 Fully Transparent</h3>
<p>Everyone can verify calculations and see complete payout history. Share data files with your team for full visibility.</p>
</div>
<div class="feature-item">
<h3>💻 Works Offline</h3>
<p>Runs entirely in your browser, no internet required after loading. No cloud dependency, no subscriptions.</p>
</div>
<div class="feature-item">
<h3>🔒 Privacy-First</h3>
<p>Your data stays on your device, shared only with team members you choose. No third-party servers involved.</p>
</div>
<div class="feature-item">
<h3>🌍 Remote-Friendly</h3>
<p>Ideal for teams of 2 to 200+ members working remotely, asynchronously, and at their own pace without corporate monitoring or artificial deadlines.</p>
</div>
</div>
</div>
<div class="quick-start">
<h2>Quick Start Guide - Your Complete Journey</h2>
<p class="quick-start-intro">Here's the complete flow of how you'll use this system, from your very first time opening it to handling regular payouts. Don't worry - it's simpler than it looks!</p>
<div class="steps">
<div class="step">
<div class="step-number">1</div>
<div class="step-content">
<h3>First Time: Read & Understand</h3>
<p><strong>What you're doing:</strong> You're here now! Reading this intro to understand what this system is and when to use it.</p>
<p><strong>Why this matters:</strong> This system is built on trust and transparency. Understanding the philosophy helps you use it correctly and explain it to your team. Once you're ready to dive deeper, visit the <strong>Info & FAQ</strong> tab for complete documentation on the tier system, formulas, and philosophy.</p>
<p><strong>Next step:</strong> Decide if you're starting fresh or loading an existing project file.</p>
</div>
</div>
<div class="step">
<div class="step-number">2</div>
<div class="step-content">
<h3>Set Up Your "Payout Hub" Account (One-Time Setup)</h3>
<p><strong>What you're doing:</strong> Create a dedicated bank account, PayPal, or similar account that's ONLY for this project's payouts. Keep it separate from your personal money.</p>
<p><strong>Why this matters:</strong> Separation makes accounting crystal clear. When money comes in from game sales, it goes there. When payouts happen, money leaves from there to team members. At the end of each payout cycle, this account returns to €0. This makes it impossible to mix project money with personal money, keeps everything transparent, and makes tax reporting much simpler.</p>
<p><strong>Think of it as:</strong> Your project's wallet - money flows in from platforms, gets split among the team, and empties out completely each cycle.</p>
</div>
</div>
<div class="step">
<div class="step-number">3</div>
<div class="step-content">
<h3>Build Your Team List</h3>
<p><strong>What you're doing:</strong> Go to the <strong>Team & Credits</strong> tab. Add everyone contributing to the project and assign them to tiers based on their lifetime impact:</p>
<ul>
<li><strong>Main Tier</strong> = Essential contributors (project wouldn't exist without them)</li>
<li><strong>Assistant Tier</strong> = Valuable contributors (enhance the project significantly)</li>
<li><strong>Special Thanks</strong> = Meaningful contributors (smaller but notable contributions)</li>
<li><strong>Fan Tier</strong> = Minor helpers (get credits but no money - for playtesters, small favors, etc.)</li>
</ul>
<p><strong>Why this matters:</strong> Tier placement determines how much each person earns forever. It's based on lifetime project impact, not current work. Once someone earns a tier, they keep it permanently - no demotions, no performance anxiety. Take your time getting this right.</p>
<p><strong>Important:</strong> You can promote people to higher tiers later if they contribute more, but you can't demote them. Tiers are eternal rewards for past contributions.</p>
</div>
</div>
<div class="step">
<div class="step-number">4</div>
<div class="step-content">
<h3>Save Your Team-Project Data File</h3>
<p><strong>What you're doing:</strong> Click the <strong>💾 Save</strong> button at the top of the page. This downloads a JSON file with today's date in the filename (like <code>MyGame_2025-01-15T14-30-00.json</code>).</p>
<p><strong>Why this matters:</strong> This web app works entirely offline and doesn't store anything permanently. Your team-project data file is THE source of truth. It contains all your team members, their tiers, complete payout history, and project info. Without this file, all your work disappears when you close the browser.</p>
<p><strong>Critical:</strong> Keep this file safe! Make backup copies. Share a copy with your team members so they can verify everything is fair by loading it into their own copy of this web app.</p>
<p><strong>Pro tip:</strong> The filename includes the date and time, so if you have multiple versions lying around, they'll sort alphabetically - newest file = latest version.</p>
</div>
</div>
<div class="step">
<div class="step-number">5</div>
<div class="step-content">
<h3>When Sales Come In: Wait & Collect Revenue</h3>
<p><strong>What happens:</strong> Your game sells on platforms like itch.io, Steam, or mobile stores. The platform automatically takes their cut (itch.io ~15%, Steam 30%, etc.). What's left sits in the platform's system.</p>
<p><strong>What you do:</strong> Manually withdraw/transfer this money from the platform into your hub account. Don't do this immediately every time - wait until enough revenue accumulates to justify the transfer fees.</p>
<p><strong>Why timing matters:</strong> Bank transfer fees can eat into small amounts. The system recommends monthly payouts when you have €50+ per team member, quarterly payouts for €15-50 per member, and waiting longer if amounts are smaller. This maximizes what your team actually receives.</p>
</div>
</div>
<div class="step">
<div class="step-number">6</div>
<div class="step-content">
<h3>Load Your Data & Calculate the Split</h3>
<p><strong>What you're doing:</strong> Drag and drop your team-project data file anywhere on this web app (works from any tab!), or click the <strong>📂 Load</strong> button to browse for it. Then go to the <strong>Payout Calculator</strong> tab.</p>
<p><strong>Enter the numbers:</strong> Put in the EXACT amount now sitting in your hub account (after platform cuts, after transfer fees). Set the payout date. Add optional notes if you want.</p>
<p><strong>Hit calculate:</strong> The web app does all the math using the tier system. It shows you exactly who gets what, applies self-balancing fairness if needed, and gives you payout timing recommendations.</p>
<p><strong>Why this works:</strong> The math is transparent and verifiable. Anyone on your team can load the same data file and see the same calculations. No black boxes, no trust issues.</p>
</div>
</div>
<div class="step">
<div class="step-number">7</div>
<div class="step-content">
<h3>Review & Commit (or Just Mock It)</h3>
<p><strong>Two options here:</strong></p>
<p><strong>Option A - Just Planning:</strong> If you're just checking what a payout would look like (maybe planning ahead, or testing different amounts), just review the numbers and close the tab. Don't commit it. The calculation disappears and nothing is logged.</p>
<p><strong>Option B - Real Payout:</strong> If you're actually doing this payout for real, click <strong>"Commit Payout to Timeline"</strong>. This permanently logs it in your History tab and in your team-project data file.</p>
<p><strong>Why the distinction matters:</strong> You can run unlimited "what if" scenarios without polluting your actual payout history. Only commit when you're actually sending money.</p>
</div>
</div>
<div class="step">
<div class="step-number">8</div>
<div class="step-content">
<h3>Send Money to Everyone</h3>
<p><strong>The tedious part:</strong> Manually send money to each team member from your hub account. Use bank transfers, PayPal, Stripe - whatever payment method works for each person.</p>
<p><strong>Document everything:</strong> Take a screenshot of EVERY transaction showing the amount, recipient, and date. This proves you sent the money and protects you from disputes.</p>
<p><strong>Why this takes time:</strong> If you have many team members, this can take an hour or more of careful data entry. Double-check amounts and payment details before hitting send. One mistake could send money to the wrong person or wrong amount.</p>
<p><strong>Patience is key:</strong> This is boring, slow work that requires focus. Don't rush it. Your team is counting on you to get it right.</p>
</div>
</div>
<div class="step">
<div class="step-number">9</div>
<div class="step-content">
<h3>Save, Share & Archive Everything</h3>
<p><strong>What you're doing:</strong></p>
<ul>
<li>Click <strong>💾 Save</strong> at the top to download your updated team-project data file (now includes the new payout in the timeline)</li>
<li>Go to the <strong>History</strong> tab and export reports if needed (full report as Markdown, or timeline as CSV)</li>
<li>Share the updated data file with your team members (via Google Drive, Discord, email - your choice)</li>
<li>Archive your transaction screenshots in a shared folder so everyone can verify the money was sent</li>
</ul>
<p><strong>Why transparency matters:</strong> Trust is built through verification. When team members can see the calculations, load the data file themselves, and view transaction proofs, there's no room for suspicion or disputes.</p>
<p><strong>Check your hub:</strong> Your hub account should now be back at €0. If it's not, you missed someone or made a calculation error.</p>
</div>
</div>
<div class="step">
<div class="step-number">10</div>
<div class="step-content">
<h3>Repeat Forever</h3>
<p><strong>The cycle:</strong> When enough revenue accumulates again, you repeat from step 5. Load your latest data file, calculate the new payout, commit it, send the money, save everything, share with team.</p>
<p><strong>As your team grows:</strong> When new people join or existing members contribute more, update their tiers in the Team tab, save the file, and the new split automatically applies to future payouts.</p>
<p><strong>That's it:</strong> You now have a sustainable, fair, transparent revenue sharing system that scales with your project and respects everyone's contributions forever.</p>
</div>
</div>
</div>
<div class="next-steps">
<h3>Ready to Start?</h3>
<p><strong>If you're brand new:</strong> Head to the <strong>Team & Credits</strong> tab and start adding your team members.</p>
<p><strong>If you have an existing file:</strong> Drag and drop it anywhere on this page to load it instantly and pick up where you left off.</p>
<p><strong>Want more details?</strong> Check the <strong>Info & FAQ</strong> tab for complete documentation on the tier system, mathematical formulas, philosophy, and answers to common questions.</p>
</div>
</div>
</div>
</section>
<!-- Team & Credits Tab -->
<section id="tab-team" class="tab-content">
<div class="content-section">
<h1>Team & Credits</h1>
<p class="section-description">Manage your project team members and their contribution tiers.</p>
<!-- No File Warning -->
<div class="no-file-warning" id="team-no-file-warning" style="display: none;">
<h3>⚠️ No Team-Project File Loaded</h3>
<p>You're working with temporary data. <strong>Save your work to a JSON file</strong> before closing the web app, as it does not have persistent memory between sessions!</p>
</div>
<!-- Project Info Section -->
<div class="project-info-section">
<h2>Project Information</h2>
<div class="project-form">
<div class="form-group">
<label for="project-name">Project Name</label>
<input
type="text"
id="project-name"
class="form-input"
placeholder="Enter your project name"
maxlength="100"
>
</div>
<div class="form-group">
<label for="project-description">Project Description <span class="char-count"><span id="desc-count">0</span>/500</span></label>
<textarea
id="project-description"
class="form-textarea"
placeholder="Describe your creative project..."
maxlength="500"
rows="4"
></textarea>
</div>
</div>
</div>
<!-- Add Member Section -->
<div class="add-member-section">
<h2>Add Team Member</h2>
<form id="add-member-form" class="member-form">
<div class="form-row">
<div class="form-group">
<label for="member-name">Name/Alias *</label>
<input
type="text"
id="member-name"
class="form-input"
placeholder="John Doe"
required
>
</div>
<div class="form-group">
<label for="member-tier">Tier *</label>
<select id="member-tier" class="form-select" required>
<option value="">Select Tier</option>
<option value="main">Main Tier</option>
<option value="assistant">Assistant Tier</option>
<option value="thanks">Special Thanks Tier</option>
<option value="fan">Fan Tier</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="member-email">Email Address</label>
<input
type="email"
id="member-email"
class="form-input"
placeholder="john@example.com"
>
</div>
<div class="form-group">
<label for="member-payment">Payment Address</label>
<input
type="text"
id="member-payment"
class="form-input"
placeholder="PayPal, bank details, etc."
>
</div>
</div>
<div class="form-group">
<label for="member-role">Role/Contribution <span class="char-count"><span id="role-count">0</span>/300</span></label>
<textarea
id="member-role"
class="form-textarea"
placeholder="Describe their role and contributions..."
maxlength="300"
rows="3"
></textarea>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">Add Member</button>
<button type="button" class="btn btn-secondary" id="cancel-edit-btn" style="display: none;">Cancel Edit</button>
</div>
</form>
</div>
<!-- Export Credits Section -->
<div class="export-section">
<h2>Export Credits</h2>
<p class="section-description">Export your team credits list for posting on websites, stores, or in-game credits.</p>
<div class="export-buttons">
<button class="btn btn-primary" id="export-markdown-btn">Export as Markdown File</button>
<button class="btn btn-secondary" id="copy-markdown-btn">Copy Markdown to Clipboard</button>
</div>
</div>
<!-- Team Members List -->
<div class="team-list-section">
<h2>Team Members</h2>
<div class="team-stats">
<div class="stat-card">
<div class="stat-number" id="stat-main">0</div>
<div class="stat-label">Main Tier</div>
</div>
<div class="stat-card">
<div class="stat-number" id="stat-assistant">0</div>
<div class="stat-label">Assistant Tier</div>
</div>
<div class="stat-card">
<div class="stat-number" id="stat-thanks">0</div>
<div class="stat-label">Special Thanks</div>
</div>
<div class="stat-card">
<div class="stat-number" id="stat-fan">0</div>
<div class="stat-label">Fan Tier</div>
</div>
</div>
<!-- Main Tier -->
<div class="tier-group">
<div class="tier-header" data-tier="main">
<h3>Main Tier <span class="tier-badge">Essential Contributors</span></h3>
<button class="toggle-btn" data-target="main-list">▼</button>
</div>
<div id="main-list" class="member-list"></div>
</div>
<!-- Assistant Tier -->
<div class="tier-group">
<div class="tier-header" data-tier="assistant">
<h3>Assistant Tier <span class="tier-badge">Valuable Contributors</span></h3>
<button class="toggle-btn" data-target="assistant-list">▼</button>
</div>
<div id="assistant-list" class="member-list"></div>
</div>
<!-- Special Thanks Tier -->
<div class="tier-group">
<div class="tier-header" data-tier="thanks">
<h3>Special Thanks Tier <span class="tier-badge">Meaningful Contributors</span></h3>
<button class="toggle-btn" data-target="thanks-list">▼</button>
</div>
<div id="thanks-list" class="member-list"></div>
</div>
<!-- Fan Tier -->
<div class="tier-group">
<div class="tier-header" data-tier="fan">
<h3>Fan Tier <span class="tier-badge">Minor Contributors</span></h3>
<button class="toggle-btn" data-target="fan-list">▼</button>
</div>
<div id="fan-list" class="member-list"></div>
</div>
</div>
</div>
</section>
<!-- Payout Calculator Tab -->
<section id="tab-calculator" class="tab-content">
<div class="content-section">
<h1>Payout Calculator</h1>
<p class="section-description">Calculate fair revenue distribution based on your team composition.</p>
<!-- No File Warning -->
<div class="no-file-warning" id="calculator-no-file-warning" style="display: none;">
<h3>⚠️ No Team-Project File Loaded</h3>
<p>You're working with temporary data. <strong>Save your work to a JSON file</strong> before closing the web app, as it does not have persistent memory between sessions!</p>
</div>
<!-- Calculator Input Section -->
<div class="calculator-input-section">
<h2>Revenue Information</h2>
<div class="calculator-form">
<div class="form-row">
<div class="form-group">
<label for="revenue-amount">Total Revenue (after platform cut) *</label>
<div class="input-with-prefix">
<span class="input-prefix">€</span>
<input
type="number"
id="revenue-amount"
class="form-input with-prefix"
placeholder="1000.00"
step="0.01"
min="0"
required
>
</div>
<small class="form-hint">Enter the amount after the platform has taken their cut (e.g., itch.io 15%, Steam 30%)</small>
</div>
<div class="form-group">
<label for="payout-date">Payout Date</label>
<input
type="date"
id="payout-date"
class="form-input"
>
</div>
</div>
<div class="form-group">
<label for="payout-notes">Notes (optional) <span class="char-count"><span id="notes-count">0</span>/500</span></label>
<textarea
id="payout-notes"
class="form-textarea"
placeholder="Add any notes about this payout cycle..."
maxlength="500"
rows="3"
></textarea>
</div>
<button type="button" class="btn btn-primary" id="calculate-btn">Calculate Distribution</button>
</div>
</div>
<!-- Team Summary -->
<div class="team-summary-section" id="team-summary" style="display: none;">
<h2>Team Composition</h2>
<div class="summary-stats">
<div class="summary-card">
<div class="summary-label">Main Tier</div>
<div class="summary-value" id="summary-main">0</div>
</div>
<div class="summary-card">
<div class="summary-label">Assistant Tier</div>
<div class="summary-value" id="summary-assistant">0</div>
</div>
<div class="summary-card">
<div class="summary-label">Special Thanks</div>
<div class="summary-value" id="summary-thanks">0</div>
</div>
<div class="summary-card">
<div class="summary-label">Total Contributors</div>
<div class="summary-value" id="summary-total">0</div>
</div>
</div>
</div>
<!-- Payout Recommendation -->
<div class="payout-recommendation" id="payout-recommendation" style="display: none;">
<div class="recommendation-content">
<h3>Payout Frequency Recommendation</h3>
<div class="recommendation-text" id="recommendation-text"></div>
</div>
</div>
<!-- Calculation Results -->
<div class="calculation-results" id="calculation-results" style="display: none;">
<h2>Distribution Breakdown</h2>
<!-- Summary Cards -->
<div class="results-summary">
<div class="result-card highlight">
<div class="result-label">Total to Distribute</div>
<div class="result-value" id="result-total">€0.00</div>
</div>
<div class="result-card">
<div class="result-label">Per Main Tier</div>
<div class="result-value" id="result-per-main">€0.00</div>
</div>
<div class="result-card">
<div class="result-label">Per Assistant Tier</div>
<div class="result-value" id="result-per-assistant">€0.00</div>
</div>
<div class="result-card">
<div class="result-label">Per Special Thanks</div>
<div class="result-value" id="result-per-thanks">€0.00</div>
</div>
</div>
<!-- Adjustment Notice -->
<div class="adjustment-notice" id="adjustment-notice" style="display: none;">
<h3>⚖️ Self-Adjusting Fairness Applied</h3>
<p id="adjustment-text"></p>
</div>
<!-- Individual Member Breakdown -->
<div class="member-breakdown">
<h3>Individual Member Payouts</h3>
<div class="breakdown-container" id="breakdown-container"></div>
</div>
<!-- Commit Reminder -->
<div class="commit-reminder">
<h3>⚠️ Don't Forget to Commit!</h3>
<p><strong>If you're actually doing this payout for real</strong> (not just planning or checking "what if" scenarios), click <strong>"Commit Payout to Timeline"</strong> below to permanently log it.</p>
<p>If you're just planning or testing different amounts, you can simply close this tab or click "Clear & Recalculate" - nothing will be saved.</p>
</div>
<!-- Commit Actions -->
<div class="commit-actions">
<button type="button" class="btn btn-primary" id="commit-payout-btn">Commit Payout to Timeline</button>
<button type="button" class="btn btn-secondary" id="clear-calculation-btn">Clear & Recalculate</button>
</div>
</div>
<!-- Empty State -->
<div class="empty-state" id="calculator-empty-state">
<div class="empty-state-icon">📊</div>
<h3>Ready to Calculate</h3>
<p>Enter the revenue amount above and click "Calculate Distribution" to see how the money will be split among your team members.</p>
<div class="empty-state-note">
<strong>Note:</strong> You need to have team members added in the Team & Credits tab before calculating payouts.
</div>
</div>
</div>
</section>
<!-- History Tab -->
<section id="tab-dashboard" class="tab-content">
<div class="content-section">
<h1>Payout History & Stats</h1>
<p class="section-description">View payout history, statistics, and generate reports.</p>
<!-- No File Warning -->
<div class="no-file-warning" id="history-no-file-warning" style="display: none;">
<h3>⚠️ No Team-Project File Loaded</h3>
<p>You're working with temporary data. <strong>Save your work to a JSON file</strong> before closing the web app, as it does not have persistent memory between sessions!</p>
</div>
<!-- Overview Statistics -->
<div class="overview-section">
<h2>Overview</h2>
<div class="overview-stats">
<div class="overview-card">
<div class="overview-icon">💰</div>
<div class="overview-label">Total Revenue Distributed</div>
<div class="overview-value" id="total-revenue">€0.00</div>
</div>
<div class="overview-card">
<div class="overview-icon">📊</div>
<div class="overview-label">Total Payouts</div>
<div class="overview-value" id="total-payouts">0</div>
</div>
<div class="overview-card">
<div class="overview-icon">📅</div>
<div class="overview-label">Last Payout</div>
<div class="overview-value" id="last-payout">Never</div>
</div>
<div class="overview-card">
<div class="overview-icon">📈</div>
<div class="overview-label">Average Payout</div>
<div class="overview-value" id="avg-payout">€0.00</div>
</div>
</div>
</div>
<!-- Export Reports -->
<div class="export-reports-section">
<h2>Export Reports</h2>
<p class="section-description">Generate reports for tax purposes, transparency, and record keeping.</p>
<div class="export-report-buttons">
<button class="btn btn-primary" id="export-full-report-btn">Export Full Report (Markdown)</button>
<button class="btn btn-secondary" id="export-csv-btn">Export Timeline (CSV)</button>
</div>
</div>
<!-- Payout Timeline -->
<div class="timeline-section">
<div class="timeline-header">
<h2>Payout Timeline</h2>
<button class="btn btn-secondary" id="refresh-timeline-btn">Refresh</button>
</div>
<div id="timeline-container">
<!-- Timeline items will be dynamically generated -->
</div>
<!-- Empty State -->
<div class="timeline-empty" id="timeline-empty">
<div class="timeline-empty-icon">📋</div>
<h3>No Payouts Yet</h3>
<p>Once you commit payouts from the Calculator tab, they will appear here in a visual timeline.</p>
</div>
</div>
</div>
</section>
<!-- Info & FAQ Tab -->
<section id="tab-info" class="tab-content">
<div class="content-section">
<h1>Info & FAQ</h1>
<p class="section-description">Learn more about the revenue share system and find answers to common questions.</p>
<!-- Core System Documentation Section -->
<div class="info-section">
<h2>Core System Documentation</h2>
<p class="section-intro">Deep dive into the revenue share system, tier structure, formulas, and the collaborative philosophy that makes it all work.</p>
<div class="docs-grid">
<a href="docs project/Reactorcore's Revshare System v3.0.html" class="doc-card start-here">
<div class="doc-badge">START HERE</div>
<div class="doc-icon">💎</div>
<h3>Revenue Share System v3.0</h3>
<p>Complete documentation: tier system, mathematical formulas, payout examples, self-adjusting fairness algorithm, and comprehensive FAQ.</p>
<span class="doc-link-arrow">→</span>
</a>
<a href="docs project/User Journey of Using RCs Revshare System Web App.html" class="doc-card">
<div class="doc-icon">📖</div>
<h3>User Guide: Using This Web App</h3>
<p>Step-by-step walkthrough of how project leaders use this web app, from first setup to processing regular payouts.</p>
<span class="doc-link-arrow">→</span>
</a>
<a href="docs project/Teamwork Style of Reactorcore Games.html" class="doc-card">
<div class="doc-icon">🤝</div>
<h3>Teamwork Style for Revshare Teams</h3>
<p>Recommended collaborative philosophy: remote freedom, trust-based management, human-paced development, and celebration culture.</p>
<span class="doc-link-arrow">→</span>
</a>
</div>
</div>
<!-- Project Setup & Management Section -->
<div class="info-section">
<h2>Project Setup & Management</h2>
<p class="section-intro">Essential guides for setting up your project infrastructure and organizing your team for success.</p>
<div class="docs-grid">
<a href="docs project/Setting Up Your Project Infrastructure.html" class="doc-card">
<div class="doc-icon">🛠️</div>
<h3>Setting Up Your Project Infrastructure</h3>
<p>The lean four-tool setup (Discord, Trello, Google Drive, GitHub) for running a chill revshare project remotely.</p>
<span class="doc-link-arrow">→</span>
</a>
<a href="docs project/Team Onboarding Links Template.html" class="doc-card">
<div class="doc-icon">🔗</div>
<h3>Team Onboarding Links Template</h3>
<p>Copy-paste template for sharing all your project infrastructure links with new team members.</p>
<span class="doc-link-arrow">→</span>
</a>
<a href="docs project/Interactive Credits System Guide.html" class="doc-card">
<div class="doc-icon">🎸</div>
<h3>Interactive Credits System Guide</h3>
<p>How to create interactive hall-of-fame style credits that celebrate contributors beyond traditional scrolling credits.</p>
<span class="doc-link-arrow">→</span>
</a>
</div>
</div>
<!-- Running Your Revshare Project Section -->
<div class="info-section">
<h2>Running Your Revshare Project</h2>
<p class="section-intro">Practical strategies for marketing, recruiting team members, and sustaining your project long-term with zero budget.</p>
<div class="docs-grid">
<a href="docs project/Recruiting Team Members Template.html" class="doc-card">
<div class="doc-icon">👥</div>
<h3>Recruiting Team Members Template</h3>
<p>Ready-to-use template for posting on r/INAT and similar platforms, plus conversion prompts for different formats.</p>
<span class="doc-link-arrow">→</span>
</a>
<a href="docs project/Zero Budget Marketing Strategy.html" class="doc-card">
<div class="doc-icon">📢</div>
<h3>Zero Budget Marketing Strategy</h3>
<p>Grassroots long-term approach covering early access, shareware model, and ongoing promotion without a marketing budget.</p>
<span class="doc-link-arrow">→</span>
</a>
<a href="docs project/Possible Business Models For The Releasing a Game Project.html" class="doc-card">
<div class="doc-icon">💡</div>
<h3>Possible Business Models for Releasing a Game</h3>
<p>Explore 7 different business models from shareware revival to collector's editions, with pros/cons for each approach.</p>
<span class="doc-link-arrow">→</span>
</a>
</div>
</div>
<!-- Marketing & Outreach Section -->
<div class="info-section">
<h2>Marketing & Outreach</h2>
<p class="section-intro">Practical guides for getting your game noticed, building community, and reaching content creators who can help spread the word.</p>
<div class="docs-grid">
<a href="docs project/Content Creator Outreach Guide.html" class="doc-card">
<div class="doc-icon">📧</div>
<h3>Content Creator Outreach Guide</h3>
<p>How to approach YouTubers, streamers, reviewers, and journalists to cover your game with email templates and AI-powered workflow.</p>
<span class="doc-link-arrow">→</span>
</a>
<a href="docs project/Steam Store Page Optimization Guide.html" class="doc-card">
<div class="doc-icon">🎮</div>
<h3>Steam Store Page Optimization Guide</h3>
<p>Create a compelling store presence with capsule images, trailers, screenshots, descriptions, pricing strategy, and wishlist building.</p>
<span class="doc-link-arrow">→</span>
</a>
<a href="docs project/Community Building and Discord Management Guide.html" class="doc-card">
<div class="doc-icon">💬</div>
<h3>Community Building & Discord Management Guide</h3>
<p>Build and manage a healthy community without burnout, handle difficult situations, and celebrate your champions.</p>
<span class="doc-link-arrow">→</span>
</a>
</div>
</div>
<!-- Legal & Philosophy Section -->
<div class="info-section">
<h2>Legal & Philosophy</h2>
<p class="section-intro">Understanding the open, collaborative approach to intellectual property and licensing that makes this revshare system work best.</p>
<div class="docs-grid">
<a href="docs legal/Policy on IP Law, Copyright, Piracy and Ownership.html" class="doc-card">
<div class="doc-icon">📜</div>
<h3>Policy on IP Law, Copyright, Piracy and Ownership</h3>
<p>Why we take an open, permissive collaboration approach and how it benefits everyone on the team.</p>
<span class="doc-link-arrow">→</span>
</a>
<a href="docs legal/Why IP Law is a Bad Idea.html" class="doc-card">
<div class="doc-icon">💭</div>
<h3>Why IP Law is a Bad Idea</h3>
<p>A comprehensive exploration of why traditional IP law doesn't serve indie game developers and what healthier alternatives exist.</p>
<span class="doc-link-arrow">→</span>
</a>
<a href="docs legal/Licensing Guide for Your Project.html" class="doc-card">
<div class="doc-icon">⚖️</div>
<h3>Licensing Guide for Your Project</h3>
<p>Practical guide to implementing MIT, CC0, and CC-BY 4.0 licenses for your game project with templates and examples.</p>
<span class="doc-link-arrow">→</span>
</a>
</div>
</div>
<!-- Frequently Asked Questions Section -->
<div class="info-section faq-section">
<h2>Frequently Asked Questions</h2>
<p class="section-intro">Common questions from project leaders and team members about running a zero-budget indie gamedev revshare using this complete system.</p>
<!-- Category 1: Getting Started -->
<div class="faq-category">
<h3 class="faq-category-title">Getting Started & Understanding the System</h3>
<div class="faq-item">
<h4 class="faq-question">I'm completely new to revshare. What's the absolute minimum I need to understand before using this system?</h4>
<div class="faq-answer">
<p>The tier system (Main/Assistant/Special Thanks/Fan), the self-balancing math that keeps it fair as teams grow, lifetime rewards (no demotions), and the hub account concept. The web app handles all calculations automatically - you just need to understand WHY it works this way.</p>
</div>
</div>
<div class="faq-item">
<h4 class="faq-question">How is this different from just splitting revenue equally among everyone?</h4>
<div class="faq-answer">
<p>Equal splits don't account for vastly different contribution levels and create perverse incentives (minor contributors get same reward as essential ones). This system rewards impact fairly: someone who builds the entire game engine shouldn't get the same share as someone who created 3 sound effects. The tier system solves this while still being transparent and fair.</p>
</div>
</div>
<div class="faq-item">
<h4 class="faq-question">Do I need a lawyer, contracts, or a registered business to use this system?</h4>
<div class="faq-answer">
<p>No! This is designed for zero-budget indie teams. You operate on trust, honor, and MIT licensing. You only need a business registration later when moving to Steam/GOG (Phase 2), which happens after you're already earning steady income from Phase 1 platforms (itch.io, Ko-fi, etc.).</p>
</div>
</div>
<div class="faq-item">
<h4 class="faq-question">What makes this "zero budget" if I still need to set up payment accounts and deal with transfer fees?</h4>
<div class="faq-answer">
<p>Zero budget means no upfront costs - no lawyers, no incorporation fees, no contracts, no equity battles, no office space, no salaries. Payment accounts (PayPal, bank accounts) are free to create. Transfer fees exist but the threshold system minimizes them by only doing payouts when amounts are substantial enough to justify the fees.</p>
</div>
</div>
<div class="faq-item">
<h4 class="faq-question">Can I modify this system for my team's specific needs?</h4>
<div class="faq-answer">
<p>Absolutely! The tier ratios (1.0 / 0.5 / 0.167), thresholds (€50/€15), and self-adjusting algorithm (30% minimum for main tier) are recommendations that work well. You can adjust these, add more tiers, change currencies, or adapt the philosophy to fit your team culture. The web app is flexible - the system is a framework, not a prison.</p>
</div>
</div>
</div>
<!-- Category 2: Managing Team & Tiers -->
<div class="faq-category">
<h3 class="faq-category-title">Managing the Team & Tiers</h3>
<div class="faq-item">
<h4 class="faq-question">How do I decide which tier someone belongs in? What if I get it wrong?</h4>
<div class="faq-answer">
<p>Evaluate based on lifetime project impact: Would the project exist without them (Main)? Do they significantly enhance it (Assistant)? Did they make smaller but meaningful contributions (Special Thanks)? Tiers are permanent and can only be promoted, never demoted. Take your time - it's better to start conservative and promote later than to over-assign initially. When in doubt, start them in Assistant tier and observe their long-term impact.</p>
</div>
</div>
<div class="faq-item">
<h4 class="faq-question">What if someone joins, does great work, then disappears? Do they keep getting paid forever?</h4>
<div class="faq-answer">
<p>Yes - that's a feature, not a bug! Tiers reward historical contributions, not ongoing performance. If someone built a critical system that powers your game, they deserve ongoing compensation even if they move on to other projects. This creates a healthy culture where people can contribute without fear of being trapped or penalized for life changes. Only actual malicious sabotage results in tier removal.</p>
</div>
</div>
<div class="faq-item">
<h4 class="faq-question">How do I handle someone who contributes TONS of work but all of it is low quality or unusable?</h4>
<div class="faq-answer">
<p>Tier placement is about impact and quality, not just volume. If their contributions don't meaningfully improve the project or require excessive rework, they might belong in Special Thanks or Fan tier despite high effort. Be honest and kind - volume without value doesn't earn higher tiers. This is why tier assignment is subjective and handled by the project leader's judgment.</p>
</div>
</div>
<div class="faq-item">
<h4 class="faq-question">Can I have multiple project leaders in Main tier? How do we handle decision-making conflicts?</h4>
<div class="faq-answer">
<p>Yes, you can have multiple Main tier members - the tier is about contribution impact, not authority. However, operationally, only ONE person should be the "project leader" handling the hub account, tier assignments, and payout processing for clarity and accountability. Decision-making conflicts should be resolved through discussion and consensus, or deferred to the designated project leader as the final authority. Define this clearly when setting up your team.</p>
</div>
</div>
</div>
<!-- Category 3: Money & Payouts -->
<div class="faq-category">
<h3 class="faq-category-title">Money, Payouts & Practical Operations</h3>
<div class="faq-item">
<h4 class="faq-question">How much money should I realistically expect to make before the first payout?</h4>
<div class="faq-answer">
<p>For a 2-3 person team, aim for at least €100 total revenue (about €30-50 per person) for the first payout. Smaller amounts get eaten by transfer fees. Use the web app's payout frequency recommendations - they're designed to maximize what your team actually receives. Many indie games take 6-12 months post-launch to reach consistent revenue, so be patient and keep building.</p>