Stardance weighted-project forecast
Summer of Making 2025, Flavortown, and Stardance compared from signups and tracked hours to approved projects in the unified YSWS DB, plus a forecast of where Stardance lands. Data pulled from the Hack Club data warehouse on 9 September 2026 at about 14:00 UTC. Revision 2.
1. Summary
A weighted project in the unified YSWS DB is approved hours divided by 10. That holds exactly for all three programs, so this is a forecast of approved hours.
At the same elapsed point, Stardance has produced more than either comparison program and landed less. On day 102, Summer of Making had 3,768 shipped projects and 1,627 approved; Flavortown had 2,217 shipped and 921 approved; Stardance has 5,355 shipped and 982 approved. Both earlier programs had turned about 46 percent of shipped hours into approved hours by day 102. Stardance is at 10.6 percent. The gap is the unified-pass backlog: 2,506 projects that are ship-certified and already through YSWS review.
The unified pass does not change hours. Every Stardance row in the unified DB has its hours set by an override that the Stardance app writes at sync time, carrying the YSWS reviewer's adjustment ("adjusted to 7h 51min after review"). So the 79 percent of logged hours that survive is decided inside Stardance's YSWS review, before the unified pass. This revision treats the unified pass as a 100 percent pass-through and moves the hour adjustment to the YSWS review stage where it belongs.
On that basis the base case is 45,800 approved hours, about 4,900 approved projects, and 4,580 weighted projects, with a sensitivity range of 3,960 to 5,580. The upper end is what lands if the YSWS review stops adjusting hours. The number is a capacity estimate: it assumes the unified pass processes about 650 projects a week for six weeks. Summer of Making cleared 50 approvals a day after its day 102; Stardance needs 93 a day. At the current pace of about 30 a week, Stardance ends near 910 weighted.
2. Same-point comparison: day 102
Stardance started 30 May 2026 and is 102 days in. The table puts Summer of Making and Flavortown at their own day 102, with only events timestamped before that point counted. All project counts exclude deleted projects for all three programs.
| Stage | Summer of Making, day 102 | Flavortown, day 102 | Stardance, day 102 (today) |
|---|---|---|---|
| Elapsed | day 102 of 106 | day 102 of 132 | day 102 of 123 |
| Calendar date | Sep 26 2025 | Mar 31 2026 | Sep 9 2026 |
| Email signups (program app) | 35,968 | 16,733 | 61,463 |
| Accounts | 23,869 | 10,866 | 60,326 |
| Users with tracked hours | 3,125 | 2,205 | 7,183 |
| Tracked hours | 89,167 | 51,472 | 139,683 |
| Users who shipped | 1,905 | 1,160 | 3,079 |
| Shipped projects | 3,768 | 2,217 | 5,355 |
| Shipped project hours | 59,852 | 31,180 | 69,089 |
| Ship-certified projects | 2,782 | n/a (no timestamp) | 3,471 |
| YSWS-reviewed / submitted | 2,270 | n/a | 3,180 |
| Approved in unified DB | 1,627 | 921 | 982 |
| Approved hours | 27,499 | 14,274 | 7,340 |
| Weighted projects | 2,750 | 1,427 | 734 |
| Approved projects / shipped projects | 43.2% | 41.5% | 18.3% |
| Approved hours / shipped hours | 45.9% | 45.8% | 10.6% |
| Approved hours / tracked hours | 30.8% | 27.7% | 5.3% |
Ship-certification and YSWS-submission timestamps exist for SoM (ship_certifications, ysws_review_submissions) and Stardance but not for Flavortown, whose ship events only record the final status. Signups here are the program apps' own email-signup tables so they can be cut by date; the unified DB's total_sign_ups figure appears in Section 3.
What the earlier programs landed after day 102
| Program | Approved at day 102 (projects / hours) | Final | Landed after day 102 | Time available | Pace |
|---|---|---|---|---|---|
| Summer of Making | 1,627 / 27,499 | 2,817 / 43,810 | +1,190 / +16,311 | 24 days (4 + 3-week tail) | 50 / day |
| Flavortown | 921 / 14,274 | 1,909 / 35,952 | +988 / +21,678 | 51 days (30 + 3-week tail) | 19 / day |
| Stardance (base case) | 982 / 7,340 | 4,894 / 45,762 | +3,912 / +38,422 | 42 days (21 + 3-week tail) | 93 / day |
Both earlier programs kept approving for three weeks after their end date. Stardance ends 30 September, so its equivalent window runs to about 21 October.
A naive scaling says Stardance at 982 would finish around 1,700 to 2,050 projects, because the earlier programs were 48 to 58 percent done at day 102. That understates Stardance: it already has more ship-certified projects (3,471) than Summer of Making had at its end (3,421), so the forecast in Section 6 works from the pipeline instead.
3. Full funnel: signups and tracked hours to the unified DB
Summer of Making and Flavortown at their final state; Stardance as of today. Definitions are identical across the three columns.
| Stage | Summer of Making (final) | Flavortown (final) | Stardance (Sep 9, in flight) |
|---|---|---|---|
| Program window | Jun 16 - Sep 30 2025 | Dec 19 2025 - Apr 30 2026 | May 30 - Sep 30 2026 |
| Signups (unified DB total_sign_ups) | 26,169 | 18,196 | 60,359 |
| of which new to Hack Club | 19,415 | 11,372 | 45,587 |
| Email signups (program app) | 36,337 | 18,932 | 61,463 |
| Accounts in program app | 24,180 | 12,283 | 60,326 |
| Hackatime linked | 12,128 | 6,720 | 19,353 |
| Users with tracked hours (surviving projects) | 3,159 | 2,473 | 7,183 |
| Tracked hours, surviving projects | 94,218 | 71,475 | 139,683 |
| Tracked hours, incl. deleted projects | 147,932 | 92,692 | 148,672 |
| Users who shipped | 2,037 | 1,515 | 3,079 |
| Shipped projects | 4,339 | 3,302 | 5,355 |
| Shipped project hours | 74,221 | 59,194 | 69,089 |
| Ship-certified projects | 3,421 | 2,741 | 3,471 |
| YSWS-reviewed / submitted | 3,320 | ~2,524 eligible | 3,180 reviewed + 333 queued |
| Approved in unified DB | 2,817 | 1,909 | 982 |
| Unique approved authors | 1,457 | 984 | 712 |
| Approved hours | 43,810 | 35,952 | 7,340 |
| Weighted projects | 4,381 | 3,595 | 734 |
Surviving projects = not deleted in the program app. Summer of Making has 53,714 tracked hours on projects later deleted (36% of all logged time), Flavortown 21,217 (23%), Stardance 8,989 so far (6%). Deleted projects cannot be approved, so the surviving-project figure is the funnel basis; the inclusive figure is what students logged. Unified-DB rows are matched to program projects by normalized repo URL: 98% of Stardance rows match, 92% of Flavortown, 86% of Summer of Making.
Conversion ratios at final state
| Ratio | Summer of Making | Flavortown | Stardance so far |
|---|---|---|---|
| Approved projects per signup | 10.8% | 10.5% | 1.6% |
| Weighted per signup | 0.167 | 0.198 | 0.012 |
| Approved hours per tracked hour (surviving projects) | 46.5% | 50.3% | 5.3% |
| Approved hours per shipped hour | 59.0% | 60.7% | 10.6% |
| Approved projects per shipped project | 64.9% | 57.8% | 18.3% |
| Shipped hours per tracked hour | 78.8% | 82.8% | 49.5% |
| Ship-certified per shipped project | 78.8% | 83.0% | 64.8% |
| YSWS-review hour adjustment (approved / original) | n/a | n/a (98% of hours at ship) | 79.3% |
| Returned-by-ship-cert projects that later certify | n/a | n/a | 3.3% |
The YSWS-review hour adjustment is Stardance-specific: on the 981 landed projects, the unified DB holds 7,312 hours against 9,220 hours originally logged at review time. Flavortown's unified hours equal 98% of hours at ship, so its review adjusted very little.
Why Stardance converts differently per signup and per hour
- Signup mix. 45,587 of 60,359 signups are new to Hack Club (GPU raffle, AMD, NASA, GitHub campaigns). 12% of signups tracked an hour, against 13% for Summer of Making and 20% for Flavortown on the same basis.
- Less of the tracked time has shipped, so far. 49.5% of tracked hours sit on shipped projects, against 67% and 61% for the earlier programs at their day 102 and 79% and 83% at their end. 6,077 draft projects hold 70,085 hours; 31,192 of those hours are on 1,604 projects active in the last 14 days.
- Ship certification returns more and returns are final. 1,595 shipped projects (30%) sit in needs_changes with 16,253 hours. Of 1,158 projects returned before 10 August, 38 (3.3%) later certified.
- YSWS review trims hours. 79% of originally logged hours survive review on landed projects. If review stopped adjusting, the forecast rises by about 1,000 weighted projects.
- The unified pass is the bottleneck. Section 5 shows it.
4. Where the approved count comes from
The count of 982 is what the unified DB holds under the program name Stardance. Below is every count between "shipped in Stardance" and "row in the unified DB", with the table it comes from, so the definition of each is checkable.
| Count | Value | Source and notes |
|---|---|---|
| Stardance projects with an approved ship event (non-deleted) | 3,471 | stardance.post_ship_events.certification_status = approved |
| of which YSWS review completed and not returned | 3,180 | certification_ysws_reviews.reviewed_at set, returned_at null |
| of which synced to Airtable by the app | 2,907 (incl. deleted) | airtable_synced_at set |
| Rows in unified approved_projects with ysws_name = Stardance | 982 | 981 distinct repo URLs; ysws_programs.unweighted_total also says 982 |
| matched by repo URL to a Stardance project | 980 | 953 to certified projects, 4 needs_changes, 3 draft, ~20 unmatched URL variants |
| with in_unified_db written back to the app | 143 | the app-side write-back lags; not usable for counting |
| Stardance-certified projects approved under another program name | ~50 | Macondo 19, Horizons 17, Boba Drops 6, Stasis 5, beest 5 (URL match) |
| Stardance rows later eliminated in spot checks | 67 | eliminated_projects; 432 hours; already excluded from 982 |
| Pending rows (approved_at null) for Stardance | 0 | 20 null rows exist in the whole table, none Stardance |
override_hours_spent set, and the override equals hours_spent. The justification text is generated by the app: "The user logged 10h 21min on hackatime. (This was adjusted to 7h 51min after review.) They had 32 commits, which compared to the original 10.4 logged..." The adjustment comes from the Stardance YSWS review; the unified pass copies it. The app's approved_minutes column is empty in the warehouse, so the adjusted hours are only visible once a row lands, which is why the 79% ratio is measured on landed projects.Two things this rules out. First, there is no pool of pending Stardance rows in the unified table waiting for a date: zero Stardance rows have a null approved date. Second, Stardance projects are not leaking to other program names in volume: about 50 ship-certified Stardance projects were approved under Macondo, Horizons, Boba Drops, Stasis or beest, and Stardance-shipping users hold roughly 1,000 approvals under other programs for other projects, which is expected for a summer umbrella and is not double counting.
5. Stardance pipeline as of 9 September
| Stage | Projects | Hours |
|---|---|---|
| A. In unified DB (approved) | 982 | 7,340 approved |
| B. Ship-certified, YSWS-reviewed, waiting on the unified pass | 2,173 | 16,664 original (18,343 at ship; 22,845 now) |
| C. Ship-certified, in YSWS review queue | 333 | 8,852 original (9,259 at ship; 12,291 now) |
| D. Ship-certified, returned by YSWS review | 3 | 19 |
| E. Submitted, awaiting ship certification | 241 | 5,045 |
| F. needs_changes (returned by ship cert) | 1,595 | 16,253 (8,483 active in last 30 d) |
| G. Draft with >= 1 h | 6,077 | 70,085 (31,192 active in last 14 d) |
| Expected new ships Sep 9-30 | ~1,740 | ~29,000 |
Non-deleted projects only. "Original" hours are original_minutes on the latest YSWS review, which is what the reviewer adjusted from. Current hours keep growing after ship, so three bases are shown for stages B and C.
Weekly dynamics
| Week of | New users | Devlog hrs | New ships | Their hrs (now) | Cert decisions | YSWS reviews | Unified approved | Approved hrs |
|---|---|---|---|---|---|---|---|---|
| Jun 1 | 14,904 | 6,290 | 236 | 1,460 | 251 | 0 | 0 | 0 |
| Jun 8 | 8,232 | 8,360 | 234 | 2,152 | 512 | 3 | 0 | 0 |
| Jun 15 | 5,227 | 9,182 | 432 | 5,865 | 797 | 3 | 0 | 0 |
| Jun 22 | 3,899 | 9,253 | 428 | 4,818 | 840 | 8 | 0 | 0 |
| Jun 29 | 2,364 | 10,834 | 485 | 4,945 | 1,139 | 59 | 28 | 102 |
| Jul 6 | 3,706 | 11,607 | 333 | 4,120 | 641 | 193 | 0 | 0 |
| Jul 13 | 3,014 | 10,268 | 373 | 4,957 | 686 | 232 | 28 | 279 |
| Jul 20 | 2,510 | 9,435 | 333 | 3,748 | 782 | 194 | 103 | 708 |
| Jul 27 | 2,195 | 10,051 | 368 | 4,553 | 697 | 404 | 58 | 443 |
| Aug 3 | 2,107 | 11,490 | 368 | 6,521 | 822 | 446 | 46 | 384 |
| Aug 10 | 3,329 | 11,392 | 356 | 5,642 | 678 | 884 | 77 | 329 |
| Aug 17 | 2,735 | 11,846 | 426 | 5,999 | 1,470 | 394 | 255 | 1,262 |
| Aug 24 | 2,445 | 12,337 | 431 | 5,462 | 1,519 | 555 | 335 | 3,298 |
| Aug 31 | 1,907 | 11,500 | 402 | 6,117 | 1,223 | 644 | 36 | 361 |
| Sep 7* | 879 | 4,127 | 144 | 2,811 | 361 | 113 | 16 | 175 |
* Sep 7 week is partial (Mon to Tue 14:00 UTC). Newly shipped = first ship event on the project. Unified approvals are rows in approved_projects by approved_at.
Student output is steady: 400 to 440 newly shipped projects and 11,000 to 12,300 devlog hours per week through August. Ship certification kept pace at 1,200 to 1,500 decisions per week in the last three full weeks, and YSWS reviews reached 555 and 644 per week. Unified-pass approvals peaked at 335 in the week of 24 August, then fell to 36 and 16. The reviewed-but-not-landed backlog grows by roughly 500 projects a week.
6. Forecast
Model
Each pipeline stage is carried forward to approved hours with the rates below, then divided by 10. The unified pass is a 100 percent pass-through.
- Unified pass: 100% of projects, hours unchanged. (Spot-check eliminations after landing have run at 6.4% of rows; they are not deducted here.)
- YSWS-review hour adjustment: 79.3% of originally logged hours survive (7,312 of 9,220 on landed projects). Applied to every stage that has not yet been reviewed, and to stage B because its adjusted hours are not visible in the warehouse until the row lands.
- Ship-certification pass: 74.6% of decided shipped hours (47,690 certified of 63,943) and 68.4% of projects (3,461 of 5,056). Applied to stage E and new ships.
- Hours at ship vs. current hours: 0.80 (18,343 / 22,845 on stage B). 0.90 for late ships that have little time to accrue.
- needs_changes resubmission: 3.3%.
- New ships Sep 9 to 30: two weeks at the last-four-week average (404 projects, 5,805 hours) plus a final week at 2.3x projects and 3.0x hours, between the Summer of Making (2.7x / 3.7x) and Flavortown (1.9x / 2.7x) final-week multipliers: about 1,740 projects and 29,000 hours. Cross-check: the last three weeks contributed 27.5% (SoM) and 33.5% (Flavortown) of all shipped hours, which applied to Stardance implies 26,000 to 35,000.
| Program | Projects first shipped in last 3 weeks (share) | Their hours (share) | Final week projects / hours | Final-week multiplier vs prior avg |
|---|---|---|---|---|
| Summer of Making | 932 (21.5%) | 20,433 (27.5%) | 437 / 10,772 | 2.7x / 3.7x |
| Flavortown | 834 (25.3%) | 19,840 (33.5%) | 350 / 9,849 | 1.9x / 2.7x |
| Stardance (assumed) | ~1,740 | ~29,000 | ~930 / ~17,400 | 2.3x / 3.0x |
Base case
| Stage | Approved hours | Approved projects | Weighted |
|---|---|---|---|
| A. Already approved | 7,340 | 982 | 734 |
| B. YSWS-reviewed backlog, passes through | 13,216 | 2,173 | 1,322 |
| C. YSWS review queue | 7,020 | 333 | 702 |
| E. Awaiting ship certification | 2,396 | 165 | 240 |
| F. needs_changes resubmissions | 340 | 52 | 34 |
| G. New ships Sep 9-30 (incl. final-week surge) | 15,451 | 1,188 | 1,545 |
| Total | 45,762 | 4,894 | 4,576 |
Stage D (3 projects returned by YSWS review) is dropped. Draft hours enter only through the new-ship estimate. Average weight across the forecast is 0.94, up from 0.75 so far, because the backlog and late ships are larger projects than the early approvals.
Sensitivity
| Scenario | Weighted | Approved projects |
|---|---|---|
| Base case (final pass 100%, YSWS-review adjustment 79%) | 4,576 | 4,894 |
| No YSWS-review hour adjustment (hours = original logged) | 5,579 | 4,894 |
| YSWS-review adjustment 73% (hours-at-ship basis) | 4,271 | 4,894 |
| No final-week surge (3 x 5,805 h new ships) | 3,958 | 4,894 |
| New ship hours 34,000 (Flavortown last-3-week share) | 4,841 | 4,894 |
| Final pass approves only 85% (previous report's assumption) | 4,000 | 4,307 |
Each row changes one assumption. The previous revision of this report assumed the unified pass approved 85% and cut hours; that combination is shown last for comparison.
7. The binding constraint: unified-pass throughput
The forecast assumes the pipeline drains. Unified-pass approvals in the last four weeks were 255, 335, 36 and 16. Summer of Making and Flavortown both kept approving for three weeks past program end, so the comparable deadline for Stardance is about 21 October, six weeks from the data pull.
| Unified-pass approvals per week, sustained 6 weeks | Projects added | Weighted by ~Oct 21 |
|---|---|---|
| 30 (pace of last 2 weeks) | +180 | ~910 |
| 150 | +900 | ~1,620 |
| 300 (August peak) | +1,800 | ~2,500 |
| 650 (needed to clear the pipeline) | +3,900 | ~4,580 |
Uses the blended forecast average of 9.8 approved hours per remaining project. The 650/week row is the base case.
Because the pass is a check for pipeline bugs rather than a review, the practical question is whether it can be batched. The 2,173 projects in stage B are already reviewed with adjusted hours attached; landing them as a batch would move Stardance from 734 to about 2,060 weighted immediately.
8. Methodology and data notes
Sources (Hack Club data warehouse)
airtable_unified_ysws_projects_db.approved_projectsjoined toapproved_projects__ysws_name; fields hours_spent, override_hours_spent, override_hours_spent_justification, ysws_weighted_project_contribution, approved_at, code_url, record_id.ysws_programsfor signups, dates and program totals.eliminated_projectsfor spot-check removals.summer_of_making_2025: users, email_signups, projects (is_deleted), devlogs (duration_seconds, created_at), ship_events, ship_certifications (judgement, updated_at), ysws_review_submissions.flavortown: users, funnel_events, user_identities, projects (deleted_at), posts, post_devlogs, post_ship_events (certification_status, hours).stardance: users, materialized_all_signups, projects (ship_status, duration_seconds, deleted_at), posts, post_devlogs, post_ship_events (certification_status, hours_at_ship, hours_at_payout), certification_ship_reviews (decided_at), certification_ysws_reviews (original_minutes, approved_minutes, reviewed_at, returned_at, airtable_synced_at, in_unified_db, summary_justification), project_memberships.
Definitions
- Day 102 cut: program start_date from ysws_programs plus 102.6 days (Stardance's elapsed time at the pull): SoM 26 Sep 2025 14:00, Flavortown 31 Mar 2026 14:00. Each stage counts only events with a timestamp at or before the cut; hours are devlogs created at or before the cut.
- Tracked hours: devlog duration_seconds on non-deleted devlogs; "surviving projects" further excludes projects deleted in the app.
- Shipped project: non-deleted project with at least one ship event. Shipped hours are the project's devlog hours.
- Ship-certified: approved judgement (SoM), approved ship event (Flavortown, Stardance).
- Approved / weighted: rows in approved_projects with the program's ysws_name; weighted = sum of ysws_weighted_project_contribution = hours_spent / 10.
Caveats
- Repo-URL matching (lower-cased, protocol, www, trailing slash and .git stripped) leaves 2% of Stardance, 8% of Flavortown and 14% of SoM unified rows unmatched. Unmatched rows are in all unified totals; they are absent only from per-stage hour ratios.
- Flavortown has no certification timestamp, so its ship-certified count cannot be cut at day 102.
- Stardance's approved_minutes is empty in the warehouse, so the YSWS-review adjustment is inferred from landed rows. If reviewers have been adjusting the backlog differently from the first 981, stage B moves accordingly; the sensitivity table brackets 73% to 100%.
- The final-week surge is the least certain input. Stage C averages 27 original hours per project, far above the rest of the pipeline, and is carried at the same rates as stage B.
- Approved dates in the unified DB sometimes precede the YSWS review date for the same project, so the weekly approval counts are by the unified DB's own approved_at field and may not reflect when the pass actually happened.
Model: model_v2.py; page generator: build_site.py; both in /root/projects/stardance-forecast/ on the analysis server. Revision 1 (9 Sep, earlier the same day) assumed an 85% pass and hour cuts at the unified stage and forecast 3,860.