Skip to content

Instantly share code, notes, and snippets.

@anilpai
Created November 13, 2025 18:40
Show Gist options
  • Select an option

  • Save anilpai/effb46d676abf15c9611643764077868 to your computer and use it in GitHub Desktop.

Select an option

Save anilpai/effb46d676abf15c9611643764077868 to your computer and use it in GitHub Desktop.
🎯 Loopdesk AI - Intern Hiring Challenge

Project Overview

The Loopdesk Social Media Scheduler is a modern application for managing and scheduling posts across multiple platforms (YouTube, TikTok, LinkedIn, Facebook, Instagram, and X). This challenge will test your ability to contribute meaningful features to this React + TypeScript application.

πŸ“‹ Submission Requirements

To qualify for submission, you must complete tasks totaling at least 5 points.

You can mix and match features from different difficulty levels to reach 5 points. For example:

  • 1 Hard feature (5 points) βœ…
  • 1 Medium + 1 Easy feature (3 + 2 = 5 points) βœ…
  • 2 Medium features (3 + 3 = 6 points) βœ…
  • 1 Medium + 2 Easy features (3 + 2 + 2 = 7 points) βœ…

🎯 Feature Tasks

🟒 EASY (2 points each)

E1. Dark Mode Toggle

  • Implement a dark mode toggle in the application header
  • Persist user preference in localStorage
  • Update the entire UI to support both light and dark themes
  • Tests Required: Toggle functionality, localStorage persistence, theme application

E2. Post Character Counter

  • Add a character counter for post content that shows platform-specific limits
  • Display warning when approaching limit (90%)
  • Show error state when limit exceeded
  • Platform limits: Twitter/X (280), LinkedIn (3000), Facebook (63,206), Instagram (2,200)
  • Tests Required: Counter accuracy, limit validation, warning/error states

E3. Export Scheduled Posts to CSV

  • Add functionality to export all scheduled posts to a CSV file
  • Include columns: Date, Time, Platform, Content, Status
  • Add an "Export" button in the calendar view
  • Tests Required: CSV generation, data accuracy, download functionality

E4. Search and Filter Posts

  • Implement search functionality to filter posts by content
  • Add filter dropdowns for platform and status (scheduled, published, draft)
  • Display filtered results in real-time
  • Tests Required: Search accuracy, filter combinations, empty state handling

🟑 MEDIUM (3 points each)

M1. Bulk Post Scheduling

  • Create a form to upload multiple posts via CSV
  • Parse CSV and validate data (date, time, platform, content)
  • Display preview of posts before confirming
  • Add all valid posts to the scheduler
  • Tests Required: CSV parsing, data validation, bulk insertion, error handling

M2. Post Templates Library

  • Create a templates feature where users can save frequently used post formats
  • Implement CRUD operations for templates (Create, Read, Update, Delete)
  • Allow users to apply templates when creating new posts
  • Support template variables like {DATE}, {PLATFORM}, {USERNAME}
  • Tests Required: Template CRUD operations, variable substitution, template application

M3. Hashtag Suggestions

  • Build a hashtag suggestion feature based on post content
  • Create a predefined library of trending hashtags by category (tech, business, lifestyle, etc.)
  • Suggest relevant hashtags as user types
  • Allow users to add/remove suggested hashtags
  • Tests Required: Suggestion algorithm, hashtag insertion, category filtering

M4. Post Preview for Different Platforms

  • Create a preview component that shows how the post will look on different platforms
  • Include platform-specific styling (character limits, image dimensions, hashtag display)
  • Support preview for at least 3 platforms (Twitter/X, LinkedIn, Instagram)
  • Tests Required: Preview rendering, platform-specific formatting, responsive design

M5. Notification System

  • Implement a notification center for important events
  • Notify users when: post is published, scheduled post is coming up (1 hour before), errors occur
  • Store notifications in state/localStorage
  • Add mark as read/unread functionality
  • Tests Required: Notification creation, storage, read/unread toggle, notification display

πŸ”΄ HARD (5 points each)

H1. Drag-and-Drop Calendar Rescheduling

  • Implement drag-and-drop functionality in the calendar view
  • Allow users to drag posts to different dates/times
  • Update post schedule when dropped
  • Add visual feedback during drag (ghost image, drop zones)
  • Handle edge cases (invalid drops, overlapping posts)
  • Tests Required: Drag-and-drop logic, schedule updates, validation, edge cases, accessibility

H2. AI-Powered Content Suggestions

  • Integrate a content suggestion feature using a public AI API (e.g., OpenAI, Hugging Face)
  • Generate post ideas based on user input (topic, platform, tone)
  • Allow users to refine suggestions with parameters
  • Implement rate limiting and error handling
  • Add loading states and retry logic
  • Tests Required: API integration, error handling, rate limiting, suggestion quality, edge cases

H3. Advanced Analytics Dashboard

  • Create an interactive analytics dashboard with multiple metrics
  • Implement charts for: Posts over time, Platform distribution, Best posting times, Engagement trends
  • Add date range selector (last 7 days, 30 days, custom range)
  • Calculate and display key metrics (average engagement, top-performing platform, etc.)
  • Make charts interactive (hover tooltips, click to filter)
  • Tests Required: Data calculations, chart rendering, date filtering, metric accuracy, edge cases

H4. Multi-User Collaboration

  • Implement a collaborative workspace where multiple users can work together
  • Add user roles: Admin (full access), Editor (create/edit posts), Viewer (read-only)
  • Implement permission checks throughout the application
  • Add activity log showing who created/edited posts
  • Store collaboration data in localStorage with user simulation
  • Tests Required: Role-based access control, permission validation, activity logging, user switching

H5. Recurring Post Scheduler

  • Build a feature to schedule recurring posts
  • Support patterns: Daily, Weekly (select days), Monthly (select date), Custom intervals
  • Allow users to set start date, end date, or number of occurrences
  • Generate individual post instances from recurring pattern
  • Implement edit options: "Edit this instance" vs "Edit all future instances"
  • Tests Required: Pattern generation, instance creation, edit propagation, validation, edge cases

πŸ“¦ Deliverables

  1. Code Quality

    • Clean, readable, and well-organized code
    • Follow existing code style and project structure
    • TypeScript types properly defined
    • No console errors or warnings
  2. Testing

    • Write comprehensive tests for all implemented features
    • Use React Testing Library and Jest (or Vitest)
    • Minimum 80% code coverage for your features
    • Include unit tests and integration tests
  3. Documentation

    • Update README.md with your features
    • Add inline comments for complex logic
    • Include setup instructions if you add new dependencies
  4. Git Workflow

    • Fork the repository: https://github.com/Loopdesk-AI/social-media-scheduler
    • Create a feature branch: intern-challenge-[your-name]
    • Make clear, atomic commits with descriptive messages
    • Submit a Pull Request to the original repository

πŸš€ Getting Started

  1. Fork and Clone

    git clone https://github.com/Loopdesk-AI/social-media-scheduler.git
    cd social-media-scheduler
  2. Install Dependencies

    npm install
  3. Start Development

    npm run dev
  4. Run Tests

    npm test
  5. Select Your Features

    • Choose features totaling at least 5 points
    • Create your feature branch
    • Start vibe coding!

βœ… Evaluation Criteria

  • Functionality (40%): Features work as described without bugs
  • Code Quality (25%): Clean, maintainable, follows best practices
  • Testing (20%): Comprehensive tests with good coverage
  • UI/UX (10%): Intuitive and visually consistent with existing design
  • Documentation (5%): Clear documentation and commit messages

πŸ“ Submission Instructions

  1. Complete features totaling at least 5 points
  2. Ensure all tests pass and code is linted
  3. Update README.md with your implemented features
  4. Submit a Pull Request to https://github.com/Loopdesk-AI/social-media-scheduler
  5. Fill out the hiring form: https://tally.so/r/VLE7rj

PR Title Format: [Intern Challenge] [Your Name] - [Total Points] points

PR Description Should Include:

  • List of completed features with point values
  • Total points scored
  • Brief description of your approach
  • Any additional notes or considerations

⏰ Timeline

Submit your Pull Request within the timeframe of 10 days (Nov 26th).

Good luck! We're excited to see what you build! πŸš€

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment