Skip to content

Commit 603f8ab

Browse files
Add design results post (#244)
* Add design results post * Update source/_posts/2025-11-05-design-contest-results.md Co-authored-by: Sergey Panteleev <[email protected]> * Update source/_posts/2025-11-05-design-contest-results.md --------- Co-authored-by: Sergey Panteleev <[email protected]>
1 parent 2421089 commit 603f8ab

File tree

4 files changed

+115
-0
lines changed

4 files changed

+115
-0
lines changed
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
---
2+
title: 'Design Contest Results and Lessons Learned'
3+
layout: post
4+
tags:
5+
- news
6+
author:
7+
- name: Roman Pronskiy
8+
url: https://twitter.com/pronskiy
9+
10+
published_at: 5 November 2025
11+
12+
---
13+
14+
Over the last few weeks we ran a focused community contest to refresh the **PHP 8.5 release page**. Thank you to everyone who submitted, reviewed, voted, and discussed.
15+
16+
> **Note about future redesigns**
17+
> This contest was an experiment for a single release page. We might **not** use the same approach for a broader homepage redesign. If we did run a contest again, we would separate tracks (on-brand update vs blue-sky concept), use a dedicated voting tool or randomized ordering, keep log-damped voting, and set a 50/50 jury/community split with clearer criteria and a small shortlist honorarium.
18+
19+
## **Results**
20+
21+
### **Winner:** **Nuno Guerra [@nunowar](https://github.com/nunowar)** – [*PHP is Awesome πŸ”₯*](https://github.com/php/web-php/issues/1539)
22+
23+
<a href="https://nunoguerra.com/dev/php/" target="_blank" rel="noopener noreferrer"><img src="/assets/post-images/2025/design-contest/nunowar.png" class="shadow-md rounded-lg"/></a>
24+
25+
**Prizes:** **$1,000 + AI Ultimate License from [JetBrains](https://www.jetbrains.com/phpstorm/)**Β·+ **$1,000 from [Rector](https://getrector.com/)**
26+
27+
At JetBrains, we decided to support other contestants with gifts as well.
28+
29+
### **Runner-up: Hanna Stelmakh [@hastelmakh](https://github.com/hastelmakh)** – [*PHP 8.5 Release Page Design Contest Submission*](https://github.com/php/web-php/issues/1534)
30+
31+
<a href="https://www.figma.com/proto/82kDxx1bh6ngC8Pv2Z2jUW/PHP-Release-8.5?page-id=0%3A1\&node-id=449-2387\&viewport=-7617%2C246%2C0.13\&t=f2P7pJOdSAEOKLDY-1" target="_blank" rel="noopener noreferrer"><img src="/assets/post-images/2025/design-contest/hastelmakh.png" class="shadow-md rounded-lg"/></a>
32+
33+
**Prize:** **$500 + AI Ultimate License from [JetBrains](https://www.jetbrains.com/phpstorm/)**
34+
35+
### **Shortlist:**
36+
37+
[@ben-joostens](https://github.com/ben-joostens)**,** [@tao](https://github.com/tao), [@lumnn](https://github.com/lumnn), [@thiagoolivier](https://github.com/thiagoolivier), [@mcpad2025-crypto](https://github.com/mcpad2025-crypto), [@minlivalievs-eng](https://github.com/minlivalievs-eng), [@giodi](https://github.com/giodi), [@everlastedSE](https://github.com/everlastedSE), [@asterd](https://github.com/asterd), [@ad-1984](https://github.com/ad-1984), [@Ayesh](https://github.com/Ayesh), [@StillMoe](https://github.com/StillMoe), [@KarinCheng](https://github.com/KarinCheng), [@christian-acceseo](https://github.com/christian-acceseo)
38+
39+
**Shortlist thank-you:** [**PhpStorm**](https://www.jetbrains.com/phpstorm/) **/ [AI Ultimate License](https://www.jetbrains.com/ai-ides/buy/) from JetBrains** for all shortlisted participants.
40+
41+
## **A little fun along the way** <img style="display:inline;" width="40" src="https://ftp.ntu.edu.tw/php/images/ele-running.gif"/>
42+
43+
Of course, no PHP contest would be complete without a bit of humor. Among all the serious submissions, one playful entry [from X/Twitter](https://x.com/jon_bossenger/status/1983140310826795201) stood out:
44+
45+
<a href="https://php-85-hyperactive.vercel.app/" target="_blank" rel="noopener noreferrer"><img src="/assets/post-images/2025/design-contest/php-85-hyperactive.png" class="shadow-md rounded-lg"/></a>
46+
47+
It didn’t quite meet the β€œaccessible and lightweight” brief, but it earned an honorary mention for spirit and commitment to vintage web aesthetics.
48+
49+
## **Next steps**
50+
51+
We will collaborate with Nuno Guerra to polish the winning design and may incorporate ideas from other entries where they improve clarity or accessibility. And finally we’ll adapt it to [php.net](https://php.net)’s stack.
52+
53+
In the spirit of PHP, contributions are welcome! We encourage all participants to join the [**implementation thread**](https://github.com/php/web-php/issues/1592) and help refine the final page.
54+
55+
## **How the scoring worked**
56+
57+
We combined a jury score with a community vote and **used a logarithmic transform** to reduce social-media spikes. We counted **πŸ‘ during the voting window** for each shortlisted entry and **ignored πŸ‘Ž** and other reactions.
58+
59+
* **Jury (40%)**
60+
Judges scored four criteria from 0 to 5. For each entry we averaged judges into `J` in the range 0–25.
61+
Normalization: `J_norm = J / 25`.
62+
63+
* **Community vote (60%), log-damped**
64+
For entry *i* with `V_i` upvotes and `T = Ξ£ V_i` across the shortlist:
65+
`Vβ€²_i = log(1 + V_i)` and `V_logshare = Vβ€²_i / Ξ£ Vβ€²_k`.
66+
67+
* **Final score**
68+
Final `= 0.4 Γ— J_norm + 0.6 Γ— V_logshare`
69+
70+
We will publish the full table with anonymized jury subtotals and final scores.
71+
72+
## **Lessons learned**
73+
74+
We might not run this contest format again. **But if we did, here’s what we would fix:**
75+
76+
### **1) Scope & brief: on-brand update vs full rework**
77+
78+
The scope was the **PHP 8.5 release page** with an **on-brand** constraint. Some entries explored broader rebrands.
79+
80+
**Next time we would**
81+
82+
* Be more explicit on on-brand requirement.
83+
* Potentially Split into **two tracks** judged and presented **separately**:
84+
85+
* **Track A:** on-brand update of the specific page.
86+
**Track B:** blue-sky concept for future reference.
87+
88+
### **2) β€œSpec work” concerns**
89+
90+
We kept scope small, didn’t require code, and recognized more than one entry (runner-up and shortlist thanks).
91+
92+
**Next time we would:**
93+
94+
* Prepare a more detailed brief with the community.
95+
* Offer a **paid shortlist honorarium**.
96+
* Cap deliverables (mock-ups plus optional tiny HTML/CSS), no heavy code.
97+
98+
### **3) Voting & balance (order bias, social reach, weights)**
99+
100+
Order bias and social amplification are real. In this contest we **ignored downvotes** and **used log damping** on upvotes.
101+
102+
**Next time we would also:**
103+
104+
* Use a dedicated voting tool that shuffles candidates.
105+
* Optionally hide aggregate reaction counts until voting closes.
106+
* Set a 50/50 split between jury and community.
107+
* Publish the full calculation sheet upfront for auditability.
108+
109+
## **Thank you**
110+
111+
Thanks to all participants, voters, reviewers, and to the jury and design advisors for careful evaluations. Special thanks to [**JetBrains**](https://www.jetbrains.com/) and [**Rector**](https://getrector.com/) for supporting the community with prizes and encouragement.
112+
113+
If you want to follow implementation, join the thread here: [**php/web-php/issues/1592**](https://github.com/php/web-php/issues/1592).
114+
115+
πŸ˜πŸ’œ
1.05 MB
Loading
1.81 MB
Loading
1.25 MB
Loading

0 commit comments

Comments
Β (0)