Iskonek is an anonymous chat application specifically designed for PUP (Polytechnic University of the Philippines) students to connect with fellow students in a safe and secure environment.
- Anonymous Chat: Connect and chat with other PUP students without revealing your identity
- Blitz Chat: Quick chat sessions with time restrictions for spontaneous conversations
- Friend System: Add friends and manage connections while maintaining anonymity
- Profile Customization: Customize your avatar and profile settings
- Real-time Messaging: Instant message delivery with typing indicators
- Conversation Starters: Built-in conversation prompts to help break the ice
- PUP Email Verification: Exclusive access for verified PUP students
- Frontend: Next.js 15.0, React 19, TypeScript
- Styling: Tailwind CSS, Radix UI Components
- Backend: Supabase (Authentication, Database, Real-time subscriptions)
- AI Integration: OpenAI for content moderation
- Avatars: DiceBear for generating unique user avatars
-
Clone the repository
-
Install dependencies:
npm install # or yarn install # or pnpm install # or bun install
-
Set up environment variables: Create a
.env.local
file with the following:NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key NEXT_PUBLIC_OPENAI_API_KEY=your_openai_api_key
-
Run the development server:
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open http://localhost:3000 with your browser.
The project structure follows Next.js 13+ App Router conventions:
app
: Page routes and API endpointscomponents
: Reusable React componentshooks
: Custom React hooksutils
: Utility functions and helperslib
: Shared libraries and configurations
The application uses Supabase Authentication with:
- PUP email verification
- Password reset functionality
- Session management
- Protected routes
- Random matching with other online users
- Timed chat sessions (Blitz mode)
- Friend-to-friend direct messaging
- Real-time message delivery
- Content moderation using OpenAI
- Customizable avatars
- Department selection
- Username customization
- Profile color themes
- Account security settings