https://github.com/un/oneshot
oneshot hackathon
https://github.com/un/oneshot
Last synced: 6 months ago
JSON representation
oneshot hackathon
- Host: GitHub
- URL: https://github.com/un/oneshot
- Owner: un
- Created: 2025-08-16T20:21:54.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-12-16T21:25:23.000Z (7 months ago)
- Last Synced: 2025-12-22T09:29:27.110Z (7 months ago)
- Language: TypeScript
- Homepage: https://oneshot-inky.vercel.app
- Size: 244 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OneShotHack 🚀
> **"If you had one shot, one prompt to code something super useful, would you capture it or would you let it flop?"**
## About OneShotHack
OneShotHack is a revolutionary hackathon where participants don't submit code – they submit a single, masterfully crafted prompt. The challenge? Create an entire functioning application with just one prompt to an AI LLM.
### The Concept
- **One Prompt**: Participants craft a single, comprehensive prompt
- **Full Application**: The prompt must generate a complete, working application
- **AI-Powered**: Prompts are run through AI LLMs (Claude, Cursor, etc.) to generate code
- **Real Testing**: Generated code is executed and evaluated for functionality
## 🏆 Prize Categories
- **Best Consumer App** - Applications that solve everyday problems
- **Best Commercial App** - B2B or enterprise-focused solutions
- **Best Developer Tool** - Tools that help developers be more productive
- **Most Creative** - Unique and innovative applications
- **Best UI/UX** - Applications with exceptional user experience
- *(More categories to be announced)*
## 📋 Rules & Guidelines
### How to Participate
1. **Register** - Sign up with GitHub authentication
2. **Craft Your Prompt** - Develop your prompt locally on your own system
3. **Submit** - Submit your prompt through our platform
4. **Choose LLM** - Select which AI model should run your prompt (Claude, Cursor, etc.)
5. **Wait for Judging** - Judges will run your prompt and evaluate the generated application
### Prompt Requirements
- Must be a single prompt (no follow-ups or iterations)
- Should specify all necessary components, features, and functionality
- Must result in a runnable application
- Can specify frameworks, libraries, and tools to use
### What We Provide
- **Environment Variables**: Published list of available environment variables
- **MCP Servers**: List of available Model Context Protocol servers
- **Execution Environment**: Standardized environment for running generated code
- **Testing Framework**: Automated testing of generated applications
## 🛠 Technical Stack
This landing page and submission platform is built with:
- **Frontend**: Next.js 15+ with TypeScript
- **Backend**: Convex (real-time, reactive database)
- **Authentication**: Better Auth with GitHub OAuth
- **Components**: shadcn/ui components
- **Email**: Resend for transactional emails
- **Presence**: Real-time user presence tracking
- **Styling**: Tailwind CSS
## 👥 User Roles
### Hackers
- Register and submit prompts
- Track submission status
- View results and feedback
### Judges
- Review submissions
- Run prompts through LLMs
- Score and provide feedback
### Sponsors
- Offer prizes for specific categories
- View relevant submissions
### Administrators
- Manage the hackathon
- Add categories and prizes
- Configure available LLMs and environments
## 🚀 Getting Started (Development)
### Prerequisites
- Node.js 18+
- pnpm package manager
- GitHub OAuth app credentials
- Convex account
### Installation
```bash
# Clone the repository
git clone https://github.com/yourusername/oneshothack.git
cd oneshothack
# Install dependencies
pnpm install
# Copy environment variables
cp .env.example .env.local
# Update .env.local with your credentials
# Run development server
pnpm run dev
```
### Environment Setup
Required environment variables:
- `CONVEX_DEPLOYMENT` - Your Convex deployment
- `NEXT_PUBLIC_CONVEX_URL` - Convex public URL
- `BETTER_AUTH_SECRET` - Authentication secret
- `GITHUB_CLIENT_ID` - GitHub OAuth client ID
- `GITHUB_CLIENT_SECRET` - GitHub OAuth client secret
Optional:
- `RESEND_API_KEY` - For email functionality
- `RESEND_WEBHOOK_SECRET` - For email event tracking
### Setting up GitHub OAuth
1. Go to [GitHub Developer Settings](https://github.com/settings/developers)
2. Create a new OAuth App
3. Set callback URL: `http://localhost:3000/api/auth/callback/github`
4. Copy credentials to `.env.local`
### Convex Setup
```bash
# Set Better Auth secret
pnpx convex env set BETTER_AUTH_SECRET "your-secret"
# (Optional) Set Resend API key
pnpx convex env set RESEND_API_KEY "re_your-key"
```
## 📊 Database Schema
The application uses Convex for real-time data synchronization:
- **Users**: Hacker profiles and authentication
- **Submissions**: Prompt submissions and metadata
- **Categories**: Prize categories and rules
- **Prizes**: Sponsor-provided prizes
- **Judges**: Judge assignments and scores
- **Requests**: MCP server and environment variable requests
## 🔄 Submission Workflow
1. **Submit** → Prompt enters review queue
2. **Review** → Admins validate submission
3. **Execute** → Judges run prompt through LLM
4. **Test** → Generated code is executed
5. **Score** → Judges evaluate functionality
6. **Results** → Scores aggregated and winners selected
## 🤝 Contributing
This is the official OneShotHack platform. For questions or issues:
- Open an issue on GitHub
- Contact the organizing team
- Join our Discord community
## 📜 License
[License information to be added]
---
**OneShotHack** - Where one prompt changes everything.