An anonymous, coder friendly platform for sharing secrets, confessions, and stories without revealing your identity.
Created by Hakkan Shah
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.
- 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.
This project is built with a modern, robust, and scalable technology stack.
- Framework: Next.js (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: ShadCN/UI
- Database: Supabase (PostgreSQL)
- Generative AI: GEMINI API
- Icons: Lucide React
- Deployment: Vercel, Netlify, or any Node.js compatible platform.
To get a local copy up and running, follow these simple steps.
- Node.js (v18 or later)
- npm or yarn
-
Clone the repository: sh git clone https://github.com/HakkanShah/ConfessCode.git cd confess-code
-
Install dependencies: sh npm install
-
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.
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
ADMIN_SECRET_KEY=your_super_secret_admin_key
GEMINI_API_KEY=your_gemini_api_key
-
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.
-
Run the development server: sh npm run dev
The application should now be running on http://localhost:9002.
- User Access: Navigate to the homepage and click "Activate." Use the default key WELCOME to generate your anonymous identity.