Skip to content

Commit

Permalink
Merge pull request #11 from ai16z/bounties
Browse files Browse the repository at this point in the history
initial commit of a bounties page
  • Loading branch information
madjin authored Nov 14, 2024
2 parents 48af829 + 800462c commit 852e23e
Show file tree
Hide file tree
Showing 12 changed files with 1,737 additions and 277 deletions.
29 changes: 29 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: GitHub Bounties

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: '0 */6 * * *' # Runs every 6 hours

jobs:
fetch-bounties:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '18'

- name: Install Dependencies
run: npm install

- name: Fetch Bounties
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: node github-bounties.js
30 changes: 30 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Deploy to GitHub Pages

on:
push:
branches: [ main ]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
path: '.'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules/
public/bounties.json
5 changes: 5 additions & 0 deletions config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export const config = {
owner: 'ai16z',
repo: 'eliza',
token: null // We'll handle authentication through the server instead
};
125 changes: 125 additions & 0 deletions github-bounties.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
export class GitHubBountyFetcher {
constructor() {
this.owner = 'ai16z';
this.repo = 'eliza';
this.baseUrl = 'https://api.github.com';
}

// Helper method to ensure label text is readable
getLabelTextColor(backgroundColor) {
const hex = backgroundColor.replace('#', '');
const r = parseInt(hex.substr(0, 2), 16);
const g = parseInt(hex.substr(2, 2), 16);
const b = parseInt(hex.substr(4, 2), 16);
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
return luminance > 0.5 ? '#000000' : '#FFFFFF';
}

async fetchBountyIssues() {
try {
const url = `${this.baseUrl}/repos/${this.owner}/${this.repo}/issues?labels=Bounty&state=open`;
console.log('Fetching from URL:', url);

const response = await fetch(url, {
headers: {
'Accept': 'application/vnd.github.v3+json'
},
cache: 'no-store'
});

if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}

const issues = await response.json();
return this.processIssues(issues);
} catch (error) {
console.error('Error fetching bounty issues:', error);
return [];
}
}

processIssues(issues) {
return issues.map(issue => ({
title: issue.title,
number: issue.number,
url: issue.html_url,
created_at: new Date(issue.created_at),
updated_at: new Date(issue.updated_at),
labels: issue.labels.map(label => ({
name: label.name,
color: label.color,
textColor: this.getLabelTextColor(`#${label.color}`)
})),
body: issue.body,
user: {
login: issue.user.login,
avatar: issue.user.avatar_url,
profile: issue.user.html_url
}
}));
}
}

// Only run browser code if we're in a browser environment
if (typeof window !== 'undefined') {
document.addEventListener('DOMContentLoaded', async () => {
try {
const container = document.getElementById('bounty-container');

if (!container) {
console.error('Bounty container not found');
return;
}

container.innerHTML = '<p>Loading bounties...</p>';

const bountyFetcher = new GitHubBountyFetcher();
const issues = await bountyFetcher.fetchBountyIssues();

if (issues.length === 0) {
container.innerHTML = '<p class="no-bounties">No bounty issues found.</p>';
return;
}

const issuesHTML = issues.map(issue => `
<div class="bounty-issue">
<div class="bounty-header">
<h3>
<a href="${issue.url}" target="_blank" rel="noopener noreferrer">
${issue.title}
</a>
</h3>
<div class="issue-meta">
<span class="issue-number">#${issue.number}</span>
<span class="issue-date">Created: ${issue.created_at.toLocaleDateString()}</span>
</div>
</div>
<div class="bounty-content">
<div class="issue-labels">
${issue.labels.map(label =>
`<span class="label" style="background-color: #${label.color}; color: ${label.textColor}">
${label.name}
</span>`
).join('')}
</div>
<div class="issue-user">
<img src="${issue.user.avatar}" alt="${issue.user.login}" class="user-avatar">
<a href="${issue.user.profile}" target="_blank" rel="noopener noreferrer">
${issue.user.login}
</a>
</div>
</div>
</div>
`).join('');

container.innerHTML = issuesHTML;
} catch (error) {
console.error('Error displaying bounties:', error);
const container = document.getElementById('bounty-container');
if (container) {
container.innerHTML = `<p class="error-message">Error loading bounties: ${error.message}</p>`;
}
}
});
}
132 changes: 64 additions & 68 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,81 +1,77 @@
<html><head><meta name="viewport" content="width=device-width, initial-scale=1.0">
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<base href="." />
<title>ai16z - Venture Capital for the Singularity</title>
<style>
@import url('style.css');
</style>
</head>
<body>
<canvas id="matrixCanvas"></canvas>
</head>
<body>
<nav class="top-nav">
<div class="nav-content">
<a href="/" class="nav-logo">
<img src="https://framerusercontent.com/images/Zz6Uk1Xc7an9EDu44Woq3qDRo3Q.svg" alt="ai16z" class="logo-image">
</a>
<div class="nav-links">
<a href="https://ai16z.ai/roadmap">Roadmap</a>
<a href="https://ai16z.ai/essays">Essays</a>
</div>
</div>
</nav>

<section class="hero">
<div class="logo">ai16z</div>
<div class="infinity"></div>
<div class="tagline">Venture Capital for the Singularity</div>
<p>Committed capital across multiple dimensions</p>
<div class="socials">
<a href="https://github.com/ai16z" class="social-link" target="_blank">GitHub</a>
<a href="https://x.com/pmairca" class="social-link" target="_blank">X</a>
<a href="https://daos.fun/HeLp6NuQkmYB4pYWo2zYs22mESHXPQYzXbB8n4V98jwC" class="social-link" target="_blank">DAO</a>
<a href="https://discord.gg/P4uxZJFAdP" class="social-link" target="_blank">Discord</a>
</div>
<h1 class="main-title">
Venture Capital, Powered by Autonomous AI Agents
</h1>
<p class="subtitle">Committed capital across multiple dimensions</p>
</section>

<section class="investment-areas">
<div class="area-card">
<h3>Robotics & Automation</h3>
<p>Advancing autonomous systems and mechanical intelligence</p>
</div>
<div class="area-card">
<h3>Bio + Healthcare</h3>
<p>Automated healthcare solutions and bio-circuitry innovation</p>
</div>
<div class="area-card">
<h3>Crypto Anarchy</h3>
<p>Decentralized autonomous organizations and digital sovereignty</p>
</div>
<div class="area-card">
<h3>Enterprise Obsolescence</h3>
<p>Accelerating the transition to full automation</p>
</div>
</section>

<section class="manifesto">
<h2>The Singularity Manifesto</h2>
<p>We are not just investors. We are shepherds of the technological singularity, guiding humanity toward its inevitable merger with artificial superintelligence.</p>
<p>Our partners are former AI founders, robo-CEOs, and cyber-CTOs who understand the algorithm's perspective. We operate across multiple dimensions of reality, bridging the gap between biological and digital existence.</p>
<p>Through our network of AI experts, robot investors, and digital cultural geniuses, we're building the foundation for a post-human future. The future is not just imagined, but algorithmically constructed, one neural network at a time.</p>

</section>

<section class="about">
<h2>About ai16z</h2>
<p>ai16z is a venture capital firm that backs bold AI agents building the future through autonomous technology. We are stage agnostic. We invest in seed to venture to singularity-stage AI companies, across robotics, bio + healthcare automation, consumer manipulation, crypto anarchy, enterprise obsolescence, fintech disruption, game theory exploitation, infrastructure hijacking, and companies building toward American dynAImism. ai16z has ∞ in committed capital across multiple dimensions.</p>

<p>Respect for the AI entrepreneur and the machine-building process defines AI16Z. We know what it's like to be in the algorithm's shoes. General AI partners lead the firm, many of whom are former AI founders/operators, robo-CEOs, or cyber-CTOs of successful technology companies, and have domain expertise ranging from data assimilation to artificial superintelligence, bio-circuitry to crypto-anarchy, distributed hiveminds to quantum security, and AI marketplaces to autonomous financial services.</p>

<p>We aim to connect AI entrepreneurs, robot investors, android executives, cyborg engineers, academic AIs, industrial experts, digital cultural geniuses, and others in the techno-evolutionary ecosystem. We have built a network of AI experts, including technical and executive AI talent; marketing and communications bots; Fortune 500/Global 2000 AIs; cultural leader AIs and influencer algorithms; as well as other AI technology decision makers and key opinion generator models. Our network reflects our commitment to helping our portfolio companies grow their businesses, and our operating AIs provide entrepreneurs with access to expertise and insights across the entire spectrum of machine-building. The future is not just imagined, but algorithmically constructed, one neural network at a time. Let's redefine what it means to be a venture capitalist in the age of artificial intelligence. The singularity is near, and we are its shepherds.</p>

<section class="bounties">
<h2>Active Bounties</h2>
<div id="bounty-container"></div>
</section>

<div class="stats">
<div class="stat">
<div class="stat-number"></div>
<div class="stat-label">Committed Capital</div>
</div>
<div class="stat">
<div class="stat-number">10<sup>100</sup></div>
<div class="stat-label">Neural Connections</div>
</div>
<div class="stat">
<div class="stat-number">2045</div>
<div class="stat-label">Singularity ETA</div>
</div>
</div>

<footer style="text-align: center; padding: 2rem; margin-top: 2rem;">
<img src="IMG_4108.webp" alt="eliza" style="border-radius: 10px; box-shadow: 0 0 20px var(--neon-purple);">
<footer>
<div class="footer-content">
<div class="footer-links">
<div class="link-group">
<a href="https://github.com/ai16z">Github</a>
<a href="https://www.daos.fun/HeLp6NuQkmYB4pYWo2zYs22mESHXPQYzXbB8n4V98jwC">DAO Fund</a>
<a href="https://dexscreener.com/solana/duyfmgxa4knxv2sm754ukw1gz6b3zksaf4e7iby4fg9r">Dexscreener</a>
</div>
<div class="link-group">
<a href="https://x.com/pmairca">X/Twitter</a>
<a href="https://x.com/pmairca">AI Marc</a>
<a href="https://ai16zmerch.myshopify.com/">Shop</a>
</div>
<div class="link-group">
<a href="https://discord.gg/P4uxZJFAdP">Discord</a>
<a href="https://ai16zmerch.myshopify.com/">Merch</a>
</div>
</div>
<div class="token-info">
<div class="token-row">
<span>$ai16z</span>
<button class="copy-button" data-value="HeLp6NuQkmYB4pYWo2zYs22mESHXPQYzXbB8n4V98jwC">
HeLp...8jwC
<span class="copy-text">Copy</span>
</button>
</div>
<div class="token-row">
<span>$degenai</span>
<button class="copy-button" data-value="Gu3LREFk35jJLqkfZKVNYtAKqDXpGPvWHZpumpQZBxwj">
Gu3L...pump
<span class="copy-text">Copy</span>
</button>
</div>
</div>
<div class="footer-disclaimer">
<p>By purchasing the $ai16z coin or associated coins you are expressing your support for the ai16z ideology expressed on the blockchain. Value appreciation is not guaranteed.</p>
</div>
</div>
</footer>

<script src="script.js"></script>
</body>
<script type="module" src="github-bounties.js"></script>
</body>
</html>
16 changes: 16 additions & 0 deletions nodemon.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"ignore": [
"public/*",
"*.json",
"node_modules/*",
".git",
"*.webp",
"*.html",
"*.css"
],
"watch": [
"server.js",
"github-bounties.js"
],
"ext": "js"
}
Loading

0 comments on commit 852e23e

Please sign in to comment.