🏆 Leaderboard & Results

View AI evaluation results and rankings

{#if error}

{error}

{/if}
{#if loading && hackathons.length === 0}
Loading...
{:else if hackathons.length === 0}

No hackathons found

{:else} {/if}
{#if !selectedHackathonId}
🎯

Select a Hackathon

Choose a hackathon to view its evaluation results and leaderboard

{:else} {#if selectedHackathon}

{selectedHackathon.name}

{selectedHackathon.description}

📊 {results.length} Submissions 📅 Created: {new Date(selectedHackathon.created_at || '').toLocaleDateString()}
{/if} {#if loading}
Loading results...
{:else if results.length === 0}
📭

No Results Yet

Submissions are still being evaluated or no submissions have been made.

{:else}
{results.filter(r => r.evaluation).length}
Evaluated
{(results.reduce((acc, r) => acc + (r.evaluation?.overall_score || 0), 0) / results.filter(r => r.evaluation).length).toFixed(1)}
Avg Score
{Math.max(...results.map(r => r.evaluation?.overall_score || 0)).toFixed(1)}
Highest
{results.filter(r => !r.evaluation).length}
Pending

🏆 Rankings

{#each results as result, index} {@const evaluation = result.evaluation}
{getMedalEmoji(index)}
#{index + 1}

{result.project_name}

Team: {result.team_name}

{#if evaluation}
{evaluation.overall_score.toFixed(1)}
/ 10
{:else} ⏳ Evaluating... {/if}
{#if evaluation}
Relevance
{evaluation.relevance_score.toFixed(1)}
Technical
{evaluation.technical_complexity_score.toFixed(1)}
Creativity
{evaluation.creativity_score.toFixed(1)}
Documentation
{evaluation.documentation_score.toFixed(1)}
Productivity
{evaluation.productivity_score.toFixed(1)}
{#if expandedResultId === result.id}

📊 Detailed Score Analysis

📈 Score Breakdown
💬 AI Evaluation Feedback

{evaluation.feedback}

{/if} {/if}
{/each}
{/if} {/if}