Skip to content

ConfessCode is an anonymous confession platform ensuring total privacy—no logins, no personal data stored, powered by client-side hashing. Built with Next.js, TypeScript, Tailwind CSS, and Supabase , it features interactive threads, an admin dashboard, and PWA support with shareable confession images.

Notifications You must be signed in to change notification settings

HakkanShah/ConfessCode

Repository files navigation

ConfessCode Logo

<ConfessCode/>

An anonymous, coder friendly platform for sharing secrets, confessions, and stories without revealing your identity.

View Live Demo »

Created by Hakkan Shah


🚀 Overview

ConfessCode is a full-stack Next.js application designed as a safe and anonymous space for users to share confessions. It features a unique "Code terminal" aesthetic, client-side anonymity management, AI-powered content moderation, and a complete admin dashboard for content management.

The platform is built to be secure and private by design—it never stores user credentials, passwords, or personal information. Anonymity is managed through a locally stored hash, ensuring user privacy.

✨ Core Features

  • True Anonymity: No user accounts or logins. Activation is done via a one-time secret key, generating a client-side anonymous hash.
  • AI-Powered Moderation: Confessions are automatically reviewed by a Genkit AI flow to check for toxic content before being sent to admins.
  • Interactive Feed: Users can browse approved confessions, like, dislike, and comment on them.
  • Nested Comments: Engage in discussions with threaded replies.
  • Admin Dashboard: A secure area for administrators to review, approve, reject, or delete confessions and ban malicious users.
  • Shareable Confessions: Easily share a confession as an image on social media using the Web Share API.
  • PWA Ready: The application is a fully installable Progressive Web App (PWA) for a native-like experience on any device.
  • Engaging UI/UX: A unique "terminal" theme with glitch effects, typing animations, and custom sounds for an immersive experience.

🛠 Tech Stack

This project is built with a modern, robust, and scalable technology stack.

⚙ Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

  • Node.js (v18 or later)
  • npm or yarn

Installation & Setup

  1. Clone the repository: sh git clone https://github.com/HakkanShah/ConfessCode.git cd confess-code

  2. Install dependencies: sh npm install

  3. Set up environment variables: Create a .env file in the root of the project and add the following keys. You will need to create a Supabase project to get these values.

    env

    Supabase URL and Keys

    NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key

    Secret key for the admin dashboard

    ADMIN_SECRET_KEY=your_super_secret_admin_key

    (Optional) Google AI API Key for Genkit

    GEMINI_API_KEY=your_gemini_api_key

  4. Set up the Supabase database: You will need to run the SQL scripts located in the /supabase directory of this project to set up the necessary tables (confessions, comments, activations, etc.) and database functions.

  5. Run the development server: sh npm run dev

The application should now be running on http://localhost:9002.

🔑 Accessing the App

  • User Access: Navigate to the homepage and click "Activate." Use the default key WELCOME to generate your anonymous identity.

About

ConfessCode is an anonymous confession platform ensuring total privacy—no logins, no personal data stored, powered by client-side hashing. Built with Next.js, TypeScript, Tailwind CSS, and Supabase , it features interactive threads, an admin dashboard, and PWA support with shareable confession images.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published