Skip to content

refetch-io/refetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

image

Open-source alternative to YC-controller HN, featuring curated tech news, discussions, and community-driven content.



Next.js Appwrite TypeScript Tailwind CSS


Refetch was born from a simple yet powerful idea: create a modern, open-source alternative to Hacker News that combines the best of community-driven curation with intelligent AI-powered content discovery. Free from YC-control, open and transparent, doesn't favor anyone.

πŸ”₯ Top Posts Today (Wednesday, September 10, 2025)

Auto-updated with the highest-scoring community content

πŸ₯‡ Hacking GameCube Memory: Replacing Animal Crossing's Dialogue with a Live LLM πŸ“Š Votes: 0 | ⏰ 9 minutes ago | πŸ”— Original

πŸ₯ˆ Apple's Latest Event: Unveiling the iPhone 17 πŸ“Š Votes: 0 | ⏰ 10 hours ago | πŸ”— Original

πŸ₯‰ Apple Introduces iPhone 17 Featuring a 120Hz Display πŸ“Š Votes: 0 | ⏰ 9 hours ago | πŸ”— Original

⭐ Apple's iPhone Air: The Thinnest Yet πŸ“Š Votes: 0 | ⏰ 9 hours ago | πŸ”— Original

⭐ Everything Revealed at the iPhone 17 Launch Event πŸ“Š Votes: 0 | ⏰ 9 hours ago | πŸ”— Original


Last updated: 2025-09-10T04:01:36.282Z

What We're Building

  • πŸ€– AI-Powered Discovery: Our intelligent scout functions automatically discover high-quality tech content from leading sources so you can be lazy and enjoy
  • 🎯 Quality Curation: Advanced algorithms analyze and rank content based on relevance, quality, and community value
  • 🌍 Global Reach: Multilingual support with AI-powered translations in 12+ languages
  • πŸ”’ Privacy-First: Built on Appwrite's secure, self-hostable backend infrastructure
  • πŸ“± Modern UX: Modern, responsive interface built with Next.js 15 and Tailwind CSS, the opposite of HN
  • πŸš€ Open Source: 100% open source, community-driven

Why Refetch?

While Hacker News has been the go-to platform for tech discussions for years, we believe there's room for innovation. Refetch brings:

  • Better Content Discovery: AI algorithms that surface the most relevant tech news
  • Enhanced User Experience: Modern, mobile-first design that works everywhere
  • Community Empowerment: Open source codebase that anyone can contribute to
  • Transparent Algorithms: Clear, documented ranking systems you can understand and improve

πŸ—οΈ Architecture Overview

Refetch is built with a modern, scalable architecture that prioritizes performance, maintainability, and developer experience.

Frontend Stack

  • Next.js 15: React framework with App Router, Server Components, and streaming
  • TypeScript: Full type safety across the entire codebase
  • Tailwind CSS: Utility-first CSS framework with custom design system

Backend Infrastructure

  • Appwrite: Complete backend-as-a-service platform
    • Databases: Collections for posts, comments, users, and votes
    • Authentication: User management with JWT tokens
    • Functions: Serverless functions for content processing
    • Sites: Next.js hosting with built-in CDN and DDoS protection

AI-Powered Features

  • Content Scout: Automatically discovers tech articles from 20+ sources
  • Content Enhancement: AI analysis for quality scoring, categorization, and optimization
  • Smart Ranking: Multi-factor algorithm considering time, quality, and community engagement
  • Multilingual Support: AI-powered translations and language detection

πŸ“ Project Structure

refetch/
β”œβ”€β”€ app/                    # Next.js App Router pages
β”‚   β”œβ”€β”€ (main)/            # Main application routes
β”‚   β”œβ”€β”€ api/               # API endpoints
β”‚   β”œβ”€β”€ auth/              # Authentication flows
β”‚   └── globals.css        # Global styles
β”œβ”€β”€ components/             # Reusable React components
β”‚   β”œβ”€β”€ ui/                # Base UI components (Radix + Tailwind)
β”‚   └── [feature]/         # Feature-specific components
β”œβ”€β”€ contexts/               # React contexts (auth, theme)
β”œβ”€β”€ functions/              # Appwrite serverless functions
β”‚   β”œβ”€β”€ scout/             # Content discovery automation
β”‚   β”œβ”€β”€ enhancement/       # AI content analysis
β”‚   └── algorithm/         # Ranking algorithm
β”œβ”€β”€ hooks/                  # Custom React hooks
β”œβ”€β”€ lib/                    # Utility libraries and configurations
β”œβ”€β”€ extensions/             # Browser extensions
└── styles/                 # Additional styling

Key Directories Explained

  • app/: Next.js 15 App Router with server and client components
  • components/ui/: Reusable UI components built on Radix UI primitives
  • functions/: Appwrite serverless functions for backend processing
  • lib/: Core utilities, Appwrite client, and type definitions
  • extensions/: Chrome extension for seamless Refetch integration

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • pnpm (recommended) or npm
  • Appwrite instance (self-hosted or cloud)

Quick Start

  1. Clone the repository

    git clone https://github.com/refetch-io/refetch.git
    cd refetch
  2. Install dependencies

    pnpm install
  3. Set up environment variables

    cp env.example .env.local
    # Edit .env.local with your Appwrite credentials
  4. Run the development server

    pnpm dev
  5. Open your browser Navigate to http://localhost:3000

Environment Configuration

Create a .env.local file with your Appwrite configuration:

# Appwrite Configuration
NEXT_PUBLIC_APPWRITE_ENDPOINT=your_appwrite_endpoint
NEXT_PUBLIC_APPWRITE_PROJECT_ID=your_project_id
NEXT_PUBLIC_APPWRITE_DATABASE_ID=your_database_id

# OpenAI API Key (for AI features)
OPENAI_API_KEY=your_openai_api_key

# Appwrite API Keys
APPWRITE_API_KEY=your_api_key

🀝 Contributing

Refetch was initially 100% vibe-coded, but we're excited to welcome contributions from humans too!

We believe in the power of community-driven development and welcome all types of contributions:

How to Contribute

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ”§ Appwrite Functions

Refetch uses several Appwrite serverless functions for automated content processing:

Scout Function

Automatically discovers high-quality tech content from 20+ sources including TechCrunch, The Verge, Ars Technica, and more.

Enhancement Function

AI-powered content analysis that generates metadata, quality scores, and multilingual translations.

Algorithm Function

Sophisticated ranking algorithm that considers time decay, quality metrics, and community engagement.


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❀️ for the Refetch community

About

Open-source alternative to YC-controller HN

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published