Scroll. Learn. Test. Repeat.
An Instagram-like knowledge platform for students, aspirants, and curious minds
Etrant transforms the way students learn by combining the addictive swipe experience of Instagram with educational content. Get bite-sized Wikipedia summaries, exam-focused quizzes, and daily current affairs delivered through an intuitive reel-based interface.
- ๐ฑ Mobile-First Learning: Learn on-the-go with a familiar social media interface
- ๐ฏ Exam-Focused: Tailored content for JEE, NEET, UPSC, and other competitive exams
- ๐ค AI-Powered: Smart content curation, personalized learning paths, and file analysis
- ๐ Progress Tracking: Visual knowledge maps and gamified learning experience
- ๏ฟฝ Social Learning: Join study groups and chat with peers in real-time
- ๏ฟฝ๐ฐ Stay Updated: Daily UPSC-friendly current affairs digest
Swipe through AI-curated Etrant summaries designed for quick comprehension and retention.
- Join exam-focused study groups (JEE, NEET, UPSC, etc.)
- Real-time chat with peers powered by Pusher
- Share resources and discuss topics
- Track group activity and member status
- Upload your notes or textbooks (PDF, DOC, TXT)
- Get AI-powered analysis and summaries
- Generate custom MCQ quizzes from your documents
- Track performance on document-specific tests
- Select your target exam (JEE, NEET, UPSC, CAT, etc.)
- Get personalized MCQ reels based on your syllabus
- AI-generated practice questions tailored to your interests
- Track performance with detailed analytics
- Automated pipeline delivers fresh content daily at midnight IST
- Top 20 Indian news articles filtered for UPSC relevance
- AI-generated visuals for enhanced engagement
- Monthly subscription plans for premium access
- Razorpay payment gateway integration
- Unlock advanced reels, analytics, and features
- Secure, fast, and seamless checkout experience
- Automatic payment verification and subscription activation
- XP points and daily streaks
- Competitive leaderboards
- Achievement badges for topic mastery
- Social learning features
- Wikipedia article summaries
- Research paper insights
- Educational YouTube transcript analysis
- Curated blog content
|
Frontend
|
Backend
|
AI & APIs
|
flowchart TD
A[News API<br/>Wikipedia<br/>YouTube] -->|Fetch Data| B[AI Processing Layer]
B -->|Content Analysis| C[Gemini/GPT-4]
C -->|Generate Summary| D[Content Validation]
D -->|Create Reel| E[DALLยทE Image Gen]
E -->|Store Content| F[(PostgreSQL<br/>via Drizzle ORM)]
F -->|Serve Content| G[Next.js API Routes]
G -->|Render UI| H[React Reel Interface]
H -->|User Interaction| I[Progress Tracking]
U[User] -->|Upload File| FA[File Analyzer]
FA -->|Process| C
U -->|Join Group| SG[Study Groups]
SG -->|Real-time Chat| P[Pusher]
P -->|Broadcast| SG
I[Vercel Cron] -->|Daily Trigger| L[UPSC Digest Pipeline]
J -->|Process News| B
- Node.js 18+
- pnpm (recommended) or npm
- PostgreSQL database (or Neon account)
- Pusher account
-
Clone and Install
git clone https://github.com/akhil683/wiki-reel.git cd wiki-reel pnpm install -
Environment Setup
cp .env.example .env.local
Fill in your environment variables:
# Database DATABASE_URL="your_postgresql_connection_string" # Authentication NEXTAUTH_SECRET="your_nextauth_secret" NEXTAUTH_URL="http://localhost:3000" GOOGLE_CLIENT_ID="your_google_client_id" GOOGLE_CLIENT_SECRET="your_google_client_secret" # AI Services GEMINI_API_KEY="your_gemini_api_key" # Real-time (Pusher) PUSHER_APP_ID="your_pusher_app_id" PUSHER_KEY="your_pusher_key" PUSHER_SECRET="your_pusher_secret" PUSHER_CLUSTER="your_pusher_cluster" # Email Variables SMTP_HOST="smtp_host" SMTP_PORT="port" SMTP_USER="Your_email" SMTP_PASS="smtp_password" # Analytics NEXT_PUBLIC_POSTHOG_KEY="your_posthog_key" NEXT_PUBLIC_POSTHOG_HOST="posthog_host"
-
Database Setup
pnpm drizzle-kit generate pnpm drizzle-kit push
-
Start Development Server
pnpm dev
Visit http://localhost:3000 to see Etrant in action! ๐
Our automated content pipeline ensures fresh, relevant content daily:
sequenceDiagram
participant C as Vercel Cron
participant A as API Route
participant N as News API
participant AI as AI Processing
participant D as Database
participant U as Users
C->>A: Trigger at 00:30 IST
A->>N: Fetch top 20 Indian news
N-->>A: Return articles
A->>AI: Filter for UPSC relevance
AI-->>A: Ranked relevant articles
A->>AI: Generate summaries (80-120 words)
AI-->>A: Exam-friendly content
A->>AI: Generate images (DALLยทE)
AI-->>A: Visual content
A->>D: Store reels with metadata
D-->>U: Fresh content available
Cron Configuration (vercel.json):
{
"crons": [
{
"path": "/api/cron/daily-digest",
"schedule": "30 18 * * *"
}
]
}wiki-reel/
โโโ ๐ app/ # Next.js App Router
โ โโโ ๐ auth/ # Authentication pages
โ โโโ ๐ api/ # API routes & cron jobs
โ โโโ ๐ (protected)/ # Main app interface
โ โโโ ๐ groups/ # Study groups & chat
โ โโโ ๐ file-analyzer/ # AI document analysis
โ โโโ ๐ ai-questions/ # AI practice questions
โโโ ๐ components/ # Reusable UI components
โ โโโ ๐ ui/ # Shadcn UI components
โ โโโ ๐ reels/ # Reel-specific components
โ โโโ ๐ maps/ # Knowledge map components
โโโ ๐ lib/ # Utilities & configurations
โ โโโ ๐ db/ # Database schema & queries
โ โโโ ๐ prompts/ # AI service integrations prompts
โ โโโ ๐ email/ # send email functions
โโโ ๐ public/ # Static assets
โโโ ๐ types/ # TypeScript definitions
- AI Flashcards: Spaced repetition system for better retention
- Advanced Analytics: Detailed performance insights and recommendations
- Mobile App: Native mobile application (React Native)
- Video Summaries: AI-generated short explainer videos
- Audio Mode: Podcast-style learning for commuters
- AI Mentor: Interactive Q&A for deeper understanding
- Offline Mode: Download reels for offline access
- Micro-Certifications: Shareable achievement certificates
- Multi-language Support: Content in regional languages
- AR Knowledge Maps: Immersive 3D topic visualization
- Collaborative Notes: Community-driven content creation
- Live Study Sessions: Real-time group learning experiences
We welcome contributions from the community! Here's how you can help:
- Check existing issues
- Create a detailed bug report with steps to reproduce
- Open a feature request
- Describe the problem it solves and potential implementation
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Commit with conventional commits:
git commit -m 'feat: add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
- ๐จ UI/UX improvements
- ๐ค AI prompt optimization
- ๐ New exam category content
- ๐ Internationalization
- ๐ฑ Mobile app development
- ๐ SEO optimization
- ๐ Wikipedia - For making knowledge freely available
- ๐ค OpenAI - For powerful AI capabilities
- ๐จ Unsplash - For beautiful stock imagery
- ๐ Open Source Community - For inspiration and tools
