Skip to content
pavitrapoojaryPublic

About

The all-in-one Campus Operating System connecting university students across 4 pillars: peer-to-peer marketplace & lending, cross-department skill pairing, community help board, and personalized opportunities radar.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ Peerly v2 โ€” The Campus Operating System

"Your Campus, Fully Connected."

Peerly v2 is a comprehensive Campus Operating System engineered for colleges, universities, and higher education institutions worldwide. Built on deep campus research, Peerly integrates all four student exchange pillars into a single trusted, closed-network platform: Things (Marketplace & Reverse Needs), Skills (Connect Hub & Biweekly Peer Pairing), Help (Community Board & Team-Ups), and Knowledge (Personalized Opportunities Radar).

Prototype Status Stack Campus Coverage Spec Reference


๐Ÿ“Œ Table of Contents

  1. ๐ŸŒŸ Executive Summary & The Generic Campus Thesis
  2. ๐Ÿ›๏ธ The 4 Product Pillars (Universal Student Exchange)
  3. ๐Ÿ—๏ธ System Architecture & Interactive Diagrams
  4. ๐Ÿš€ Universal Feature Specifications & Implementation
  5. ๐Ÿ”„ Multi-Disciplinary Personas & Simulation Walkthroughs
  6. ๐Ÿ”ฎ Production Roadmap & PM Defense Guide
  7. โšก Quickstart & Local Setup

๐ŸŒŸ Executive Summary & The Generic Campus Thesis

1.1 The Universal Campus Friction

On virtually every college, institute, or university campus (engineering, design, arts, medicine, law, or business), resource exchange and student networking are fragmented:

  • Idle Assets: Thousands of textbooks, graphing calculators, lab equipment, monitors, cameras, sports gear, and interview attire sit idle in dorms and hostels.
  • Disconnected Talent: Students lack a low-friction way to discover cross-departmental peers (e.g., engineers seeking designers for hackathons, marketers seeking financial modelers, researchers seeking coders).
  • Buried Requests: WhatsApp/Telegram batch groups are noisy, lossy, and unsearchable. An ask posted at noon is buried under 300 messages by evening.
  • Accountability Vacuum: Informal lending between peers suffers from awkward reminders and lost items due to zero return tracking.
  • Opportunity FOMO: National hackathons, case competitions, fellowships, and grants are scattered across dozens of portals (Unstop, LinkedIn, university notice boards), leading to missed deadlines.
                          GENERIC CLASSIFIEDS (OLX / Jugarr / WhatsApp)
                                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                    โ”‚    Things    โ”‚
                                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                           โ”‚
                                           โ–ผ
                           PEERLY v2 CAMPUS OPERATING SYSTEM
                     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                     โ”‚       Things        โ”‚       Skills        โ”‚
                     โ”‚ (Marketplace+Needs) โ”‚  (Connect Pairing)  โ”‚
                     โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
                     โ”‚        Help         โ”‚      Knowledge      โ”‚
                     โ”‚  (Community Board)  โ”‚ (Opportunities Radarโ”‚
                     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Universal Positioning Statement: Peerly isn't just a campus buy-and-sell board. It is the single operating system a student opens for everything campus-related โ€” trade what you have, meet who you should know across departments, ask for help when you're stuck, and discover every opportunity you're eligible for โ€” instead of five chaotic WhatsApp groups, three disjointed apps, and a lot of luck.


๐Ÿ›๏ธ The 4 Product Pillars

Pillar Campus Problem Solved Product Surface Core Mechanism Technical Implementation
Things Idle dorm gear & hidden campus supply Marketplace & Needs Feed Dual-track feed: Browse items + Reverse "Looking For" needs with live duplicate detection nudge and "I Have This" handoff. feed.js, itemDetail.js, newListing.js
Skills Siloed departments & networking awkwardness Connect & Pairing Hub Cross-domain skill exchange ("People to learn from" + "People like you") + Zero-effort biweekly Peer Pairing ("Coffee Roulette"). connect.js, modal.js
Help Fragmented hackathon teaming & favor requests Community Board Competition & Hackathon ๐Ÿค Team-Up with live batchmate interest roster, ๐Ÿ™‹ Ask / Favor requests, and ๐Ÿ“ข Announcement milestones. community.js, modal.js
Knowledge Scattered deadlines & opportunity discovery Opportunities Radar Client-side tag-matching engine filtering 15+ curated competitions, grants, and internships against student interests with 7-day "Closing Soon" badges. opportunities.js, state.js

๐Ÿ—๏ธ System Architecture & Interactive Diagrams

3.1 High-Level Component & Data Flow Architecture

graph TD
    subgraph Presentation_Layer["Presentation Layer (HTML5 / Vanilla CSS3)"]
        HTML["index.html (#app mount)"]
        CSS["styles.css (Design System Tokens)"]
        Nav["Navbar (Persistent 4-Pillar Tabs)"]
        ModalComp["Modal & Universal Chat Drawer"]
        ToastComp["Toast Notifications System"]
    end

    subgraph Routing_Layer["Routing & View Layer"]
        Router["Router (#/ Hash Listener)"]
        VLanding["LandingView (#/)"]
        VOnboard["OnboardingView 5-Steps (#/onboarding)"]
        VFeed["FeedView: Marketplace & Needs (#/feed)"]
        VDetail["ItemDetailView (#/item/:id)"]
        VNew["NewListingView (#/new-listing)"]
        VConnect["ConnectView (#/connect)"]
        VCommunity["CommunityView (#/community)"]
        VOpps["OpportunitiesView (#/opportunities)"]
        VProfile["ProfileView (#/profile)"]
    end

    subgraph State_Engine_Layer["Reactive Client-Side State & Logic Engine"]
        State["AppState Singleton (js/state.js)"]
        MatchEngine["Radar Tag-Matching Engine"]
        NudgeEngine["Duplicate Need Detection Engine"]
        PairingEngine["Coffee Roulette Suggester"]
        TrustEngine["Trust Score & Rating Engine"]
    end

    subgraph Mock_Data_Store["In-Memory Data Models (js/mockData.js)"]
        MUsers["MOCK_USERS (Diverse Student Profiles)"]
        MListings["MOCK_LISTINGS (12 Items)"]
        MNeeds["MOCK_NEEDS (6 Requests)"]
        MOpps["MOCK_OPPORTUNITIES (15 Entries)"]
        MPosts["MOCK_COMMUNITY_POSTS (8 Posts)"]
        MCampus["MOCK_CAMPUSES (Tech, Design, Arts, Mgmt)"]
        MChats["MOCK_CHAT_SCRIPTS"]
    end

    HTML --> Router
    Router --> VLanding & VOnboard & VFeed & VDetail & VNew & VConnect & VCommunity & VOpps & VProfile
    
    VFeed & VConnect & VCommunity & VOpps & VProfile --> State
    State --> MatchEngine & NudgeEngine & PairingEngine & TrustEngine
    State -.->|Deep Cloned at Init| Mock_Data_Store
    
    VFeed & VConnect & VCommunity --> ModalComp
    State --> ToastComp
Loading

3.2 5-Step Enriched Onboarding & Institutional Verification

sequenceDiagram
    autonumber
    actor Student as College / University Student
    participant UI as Router / Onboarding (#/onboarding)
    participant Engine as Verification Engine (Simulated)
    participant State as AppState (In-Memory)

    Student->>UI: Taps "Get Started" on Landing
    Note over UI: Step 1: Campus Selection
    UI->>Student: Displays searchable institutions (GLIM, IIT Madras, BITS Pilani, Ashoka, NID, NLSIU, IIMB)
    Student->>UI: Selects their institution
    UI->>State: Sets selectedCampus & domain context (@greatlakes.edu.in, @iitm.ac.in, etc.)

    Note over UI: Step 2: Institutional .edu Email OTP
    UI->>Student: Prompts for student email
    Student->>UI: Submits student.name@domain.edu
    UI->>Engine: Dispatches 4-digit OTP (Code: 4829)
    Student->>UI: Enters OTP in auto-advancing input boxes
    UI->>Engine: Simulates validation spinner (600ms)
    Engine-->>UI: Verified! (user.verified = true)

    Note over UI: Step 3: Background & Radar Profile Setup
    UI->>Student: Prompts Cohort (2026/2027), Specialization (Engineering/Design/Marketing/Finance), Skills, & Radar Target Interests
    Student->>UI: Customizes tag selections
    UI->>State: Stores batch, background, skills, and target interests

    Note over UI: Step 4: Student ID Upload (Optional)
    UI->>Student: Prompts Student ID card upload for "Verified Seller" badge
    alt Uploads Student ID
        Student->>UI: Uploads ID photo (student_id.png)
        UI->>State: Sets user.isVerifiedSeller = true
    else Skips Step
        Student->>UI: Taps "Skip for now"
    end

    Note over UI: Step 5: You're In! Celebration
    UI->>Student: Renders celebration modal with verified campus badge + tailored opportunity preview
    Student->>UI: Taps "Explore Campus Feed"
    UI->>State: Calls completeOnboarding()
    UI-->>Student: Navigates to Marketplace (#/feed) with full privileges
Loading

3.3 Dual-Track Marketplace & Reverse Needs Engine

flowchart TD
    Start["Student Opens Marketplace (#/feed)"] --> TabChoice{"Select Primary Tab"}
    
    TabChoice -->|Tab 1: Browse Items| BrowseFeed["Browse 12+ Available Campus Items"]
    BrowseFeed --> FilterMode["Filter Mode: All | Borrow | Buy | Give"]
    BrowseFeed --> SearchItems["Live Search: 'Blazer', 'Calculator', 'Notes', 'Racket'"]
    BrowseFeed --> ItemCard["Click Item Card (#/item/:id)"]
    ItemCard --> BorrowReq["Tap 'Request to Borrow' / 'Buy Now'"]
    BorrowReq --> AcceptModal["Simulated Accept Modal (Return-by Date Calculated)"]
    AcceptModal --> OpenChat["Open Universal Scripted Chat Drawer"]

    TabChoice -->|Tab 2: Campus Needs| NeedsFeed["Campus Needs (Looking For) Feed"]
    NeedsFeed --> NeedCard["View Need: 'Bluetooth Speaker for Fest'"]
    NeedCard --> HaveThis["Owner Taps 'I Have This'"]
    HaveThis --> HandoffChat["Opens Scripted Chat Drawer with Seeker"]

    Start --> CreatePost{"Click '+ Post'"}
    CreatePost -->|Post Item| NewItemFlow["Create Listing (#/new-listing) in <60s"]
    CreatePost -->|Post a Need| NewNeedModal["Open Need Modal: Title, Date, Terms"]
    NewNeedModal --> LiveType["User Types Need Title (e.g. 'TI-84')"]
    LiveType --> MatchCheck{"Matches Existing Listings?"}
    MatchCheck -->|Yes| ShowNudge["Display Inline Nudge: '2 batchmates already listed this!'"]
    MatchCheck -->|No| NormalPost["Submit Need to Live Needs Feed"]
    ShowNudge --> NormalPost
Loading

3.4 Closed-Loop Campus Accountability State Machine

stateDiagram-v2
    [*] --> ItemAvailable : Student lists item in <60s
    
    state ItemAvailable {
        [*] --> FeedVisible
        FeedVisible : Status = "Available"
        FeedVisible : Badge = "Share / Available"
    }

    ItemAvailable --> RequestAccepted : Peer taps "Request to Borrow"
    
    state RequestAccepted {
        [*] --> SetReturnDate
        SetReturnDate : Status = "Borrowed"
        SetReturnDate : Return-by Date calculated (+3 days)
        SetReturnDate : Scripted chat drawer opened
    }

    RequestAccepted --> ActiveBorrow : Physical handoff at dorm/campus lobby
    
    state ActiveBorrow {
        [*] --> ActiveTimer
        ActiveTimer : Active Countdown Card in "My Peerly" (#/profile)
        ActiveTimer : Reminder: "Return by tomorrow, 6:00 PM"
    }

    ActiveBorrow --> ConditionCheck : Borrower taps "Mark as Returned"
    
    state ConditionCheck {
        [*] --> InspectItem
        InspectItem : Prompt: "Returned in good condition?"
        InspectItem : Options: [Yes, Perfect Condition] / [Minor Wear / Damage]
    }

    ConditionCheck --> PeerRating : Condition recorded
    
    state PeerRating {
        [*] --> RateExperience
        RateExperience : Prompt: "Rate your peer interaction"
        RateExperience : Options: [๐Ÿ‘ Smooth & Friendly] / [๐Ÿ‘Ž Needs Improvement]
    }

    PeerRating --> TrustScoreUpdated : Rating submitted
    
    state TrustScoreUpdated {
        [*] --> BumpScores
        BumpScores : Owner Rating Incremented (๐Ÿ‘ 19, 100%)
        BumpScores : Borrower Trust History Logged
        BumpScores : Item Status Reset to "Available"
    }

    TrustScoreUpdated --> ItemAvailable : Ready for next borrower
    TrustScoreUpdated --> [*]
Loading

3.5 Connect Hub & Peer Pairing Coffee Roulette

sequenceDiagram
    autonumber
    actor Haripriya as Haripriya (Strategy & Marketing)
    participant Connect as Connect View (#/connect)
    participant Engine as Peer Matching Engine
    actor Meera as Meera K. (Finance Lead)

    Haripriya->>Connect: Opens Connect Hub
    Connect->>Engine: Evaluates Haripriya's interests: ['Finance', 'Consulting']
    Engine->>Engine: Scans student cohort skills for matches
    Engine-->>Connect: Renders "People to Learn From" Rail
    Note over Connect: "Meera K. (Finance) can help with: Excel modeling, Valuation basics"
    
    Haripriya->>Connect: Taps "Say Hi" on Meera's card
    Connect-->>Haripriya: Opens scripted peer conversation starter

    Note over Connect: Zero-Effort Peer Pairing ("Coffee Roulette")
    Haripriya->>Connect: Toggles ON "Join Peer Pairing"
    Haripriya->>Connect: Taps "Simulate This Week's Pairing"
    Connect->>Engine: Runs bipartite pairing algorithm
    Engine-->>Connect: Matches Haripriya with Meera K.
    Connect-->>Haripriya: Displays match card with shared icebreaker: "You both follow Strategy โ€” discuss the Bain case!"
Loading

3.6 Opportunities Radar Client-Side Matching Engine

graph LR
    subgraph Profile_Inputs["Student Profile State"]
        Cohort["Cohort: 2026"]
        Background["Background: Marketing, Design, Strategy"]
        Interests["๐ŸŽฏ Target Interests: Finance, Consulting, PM, AI"]
    end

    subgraph Radar_Engine["Radar Personalization Engine (js/state.js)"]
        Filter["Tag Intersect Algorithm:\nopp.tags.some(t => user.interests.includes(t))"]
        Urgency["Urgency Classifier:\nopp.daysLeft <= 7 ? 'Closing Soon' : 'Standard'"]
        Score["Match Score:\n(sharedTags / totalTags) * 100"]
    end

    subgraph Opportunities_Database["15+ Curated Multi-Disciplinary Opportunities"]
        O1["National Product Case Challenge (Product, Tech)"]
        O2["Tata Crucible Campus Quiz & Hackathon (Strategy)"]
        O3["Google Summer APM Internship (Product, AI)"]
        O4["Goldman Sachs Investment Research (Finance)"]
        O5["L'Orรฉal Brandstorm Innovation (Marketing, Design)"]
    end

    Profile_Inputs --> Filter
    Opportunities_Database --> Filter
    Filter --> Score
    Filter --> Urgency
    
    Score --> RecRail["โญ Recommended for You (Top Matches)"]
    Urgency --> ClosingSoon["๐Ÿšจ Animated Amber 'Closing Soon' Pill"]
    Filter --> AllRail["๐Ÿ“‹ All Campus Opportunities"]
Loading

3.7 Community Board Team-Up Lifecycle

sequenceDiagram
    autonumber
    actor Rohan as Rohan K. (Author)
    participant Board as Community Board (#/community)
    actor Haripriya as Haripriya (Peer)
    participant State as AppState (communityPosts)

    Rohan->>Board: Taps "Post to Community"
    Rohan->>Board: Selects Type: ๐Ÿค Team-Up, Title: "Need 1 more for CaseComp / Hackathon", Skill: "Marketing & GTM"
    Board->>State: Appends new post to communityPosts
    Board-->>Rohan: Displays live post on feed

    Haripriya->>Board: Views post & taps "I'm Interested"
    Board->>State: Adds "u_me" to post.interested array
    Board-->>Haripriya: Button updates to "โœ“ Interested" + Toast confirmation
    Board-->>Rohan: Live interested roster updates showing Haripriya's avatar & profile
    Rohan->>Board: Taps "Message" on Haripriya's avatar -> Opens chat to confirm team
Loading

๐Ÿš€ Universal Feature Specifications & Implementation

1. Pillar 1: Things โ€” Marketplace & Reverse Needs Engine

  • Dual-Track Feed Tabs: Seamless switching between "Browse Available Items" (12+ items) and "Campus Needs (Looking For)" (6+ requests).
  • Reverse Seeker Requests: Students post what they are seeking with needed-by dates and terms (Borrow Only, Willing to Pay, Either).
  • "I Have This" Instant Response: Any verified student can respond to a Need card, instantly launching a scripted handoff chat without needing an existing listing.
  • Simulated Duplicate Match Nudge: Live typing during Need creation runs a substring/category match against active inventory. If an item exists, an amber alert banner guides the user to the existing listing.

2. Pillar 2: Skills โ€” Connect Hub & Peer Pairing

  • "People to Learn From" Rail: Dynamic student cards displaying peers whose skills match your stated learning interests, complete with an explanation ("Meera (Finance) can help with: Excel modeling, Valuation basics").
  • "People Like You" Rail: Overlapping cohort and specialization peers for study circles and projects.
  • Zero-Effort Peer Pairing ("Coffee Roulette"): Biweekly opt-in toggle + "Simulate This Week's Pairing" demo trigger with mutual icebreakers.
  • Interactive Skill/Interest Customizer: Modal allowing real-time edits to user skills and radar interests.

3. Pillar 3: Help โ€” Community Board

  • Three Core Post Types:
    • ๐Ÿค Team-Up: Form case competition, research, or hackathon teams with role requirements, deadline trackers, and an interactive "I'm Interested" batchmate roster.
    • ๐Ÿ™‹ Ask / Favor: Informal requests for SOP reviews, mock interviews, lab notes, or lost item recovery.
    • ๐Ÿ“ข Announcement: Campus achievements, club webinars, podcast releases, and student initiatives.
  • Interactive Emoji Reactions: Real-time reaction counters for ๐Ÿ‘ Thumbs Up, ๐ŸŽ‰ Celebrate, and ๐Ÿ”ฅ Fire.

4. Pillar 4: Knowledge โ€” Personalized Opportunities Radar

  • Client-Side Tag Matching: Real-time array intersection filtering against currentUser.interests.
  • "Recommended for You" Tier: Highlighting highest-relevance opportunities with match percentage badges.
  • "Closing Soon" Alerts: Animated amber urgency pills for competitions closing within 7 days.
  • Multi-Source Curation: Curated listings from Unstop, LinkedIn Jobs, Tata Group, BCG Campus, and Campus Notice Boards.

5. Unified Landing Page Experience & Value Positioning

  • Benefit-Led Hero:
    • Headline: "Your campus, fully connected."
    • Subtitle: "Borrow and trade with verified peers, swap skills across departments, team up for competitions, and discover opportunities curated for you."
  • 4-Pillar Visual Elevator Strip: 4 interactive badge links (Marketplace, Connect, Community, Opportunities) allowing visitors to grasp the entire product surface in under 5 seconds.
  • "A Day in Peerly" 4-Beat Narrative: Concrete everyday moments mapped to the 4 pillars (borrowing attire/gear in 10s, zero-effort biweekly peer coffee pairing, assembling competition teammates, and tracking closing opportunities).
  • Campus Density Comparison Table: Explicitly contrasting Peerly against generic classifieds (OLX / Jugarr) and noisy WhatsApp groups across Discovery, Trust, Relationship Graph, and Curated Radar.

๐Ÿ”„ Multi-Disciplinary Personas & Simulation Walkthroughs

Use the top Persona Demo Bar to switch between pre-seeded personas representing diverse campus disciplines:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ๐Ÿ‘ค Demo Persona Bar: [ Haripriya M. (Marketing) โ–ผ ] [ Reset Demo Data ]  [ GLIM Chennai โ–ผ ] โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Persona Matrix

ID Persona Specialization & Focus Skills Offered Target Interests Key Simulation Role
u_me Haripriya M. Strategy & Marketing GTM Strategy, Pitch Decks, Public Speaking Finance, Consulting, PM, Analytics Demand Seeker, Case Competitor, Peer Learner
u_jean Jean R. Economics & Finance Excel modeling, DCF Analysis, Corporate Tax Consulting, Venture Capital, Fintech Passive Idle Owner (Lends TI-84 & Textbooks)
u_meera Meera K. Finance & Investments Valuation basics, LBO Modeling, M&A Product Management, AI Tools, Consulting Skill Mentor, Coffee Roulette Partner
u_thiru Thirupathi M. Operations & Supply Chain Six Sigma, Vendor Sourcing, Logistics E-Commerce, Retail Tech, Operations Verified Bulk Reseller (Water Bottles & Essentials)
u_rohan Rohan K. Consulting & Strategy Case Structuring, Guesstimates Strategy, Tech Consulting CaseComp Team Lead, Blazer Lender
u_priya Priya S. Design & Digital Media Figma Prototyping, UI/UX, Copywriting Product Management, Design, Marketing Creative Designer, Textbook Seller

Step-by-Step Simulation Examples

Example 1: Borrowing Formal Attire for Final Presentations (Pillar: Things)

  1. Navigate to Marketplace (#/feed). Ensure the "Browse Available Items" tab is active.
  2. Type "Blazer" into the search bar or click the "Formal Wear" category chip.
  3. Click on the listing "Navy Blue Formal Blazer (Size 40 / M)" (#/item/l1).
  4. Note the owner (Rohan K., 100% Rating, Hostel 3) and status (Available).
  5. Click "Request to Borrow". A simulated 500ms spinner completes, displaying:
    • Status: Borrowed
    • Return-by Date: Tomorrow, 6:00 PM
  6. Click "Open Scripted Chat". Review the pre-scripted handoff dialog coordinating a lobby pickup at Hostel 3.

Example 2: Reverse Need with Duplicate Detection (Pillar: Things)

  1. On the Marketplace feed, click "Post a Need" or switch to the "Campus Needs" tab.
  2. In the modal, type "TI-84 Calculator" in the title field.
  3. Observe the live Duplicate Detection Nudge Banner:

    "Good news โ€” Jean R. already listed 'TI-84 Plus CE Graphing Calculator' for borrow! Check existing listings before posting."

  4. Change the title to "Bluetooth Speaker for Campus Terrace", set Needed-by Date to 2026-09-14, select "Borrow Only", and submit.
  5. The new card immediately appears at the top of the Campus Needs feed.
  6. Switch persona to Jean R. -> Jean sees the need and can tap "I Have This" to open a handoff chat.

Example 3: Cross-Department Skill Swap & Coffee Roulette (Pillar: Skills)

  1. Navigate to Connect (#/connect).
  2. Observe the "People to Learn From" rail. Because Haripriya's interests include Finance, Meera K. and Jean R. appear with reason pills:
    • "Meera K. (Finance) can help with: Excel modeling, Valuation basics"
  3. Click "Say Hi" on Meera's card to launch the peer chat starter.
  4. In the Peer Pairing ("Coffee Roulette") section, click "Simulate This Week's Pairing".
  5. The preview card updates with paired peer Meera K., the mutual topic (Finance & Valuation Modeling), and an icebreaker prompt ("Ask Meera about her breakdown of the Bajaj Auto valuation case!").

Example 4: Case Competition / Hackathon Team-Up (Pillar: Help)

  1. Navigate to Community Board (#/community).
  2. Filter by the "๐Ÿค Team-Ups" chip.
  3. Locate post c1: "Need 1 more for CaseComp Nationals (Marketing / GTM focus)" by Rohan K.
  4. Click "I'm Interested". The button updates to "โœ“ Interested", a success toast fires, and Haripriya's avatar appears in the live roster of interested students.
  5. Click "Post to Community" to open the composer and publish a new Ask or Announcement.

Example 5: Opportunities Radar Personalization (Pillar: Knowledge)

  1. Navigate to Opportunities (#/opportunities).
  2. Observe that the "Recommended for You" section highlights:
    • National Product Case Challenge (Tags: Product, Strategy)
    • Google Summer APM Intern (Tags: Product, AI Tools)
    • Goldman Sachs Investment Research (Tags: Finance, Markets)
  3. Notice the animated amber "Closing in 3 days" badge on urgent competitions.
  4. Click "Customize My Radar Tags", add "Fintech", and click save. Watch the feed re-filter immediately in real-time.

Example 6: Closed-Loop Return & Trust Score Bump (Accountability)

  1. Navigate to My Peerly Profile (#/profile).
  2. Under Active Borrows, locate the Navy Blazer card with the countdown reminder: "Return by tomorrow, 6:00 PM".
  3. Click "Mark as Returned".
  4. In Step 1 of the modal, select "Yes, Perfect Condition".
  5. In Step 2, select "๐Ÿ‘ Smooth & Friendly".
  6. Submit: The active borrow card clears, and Rohan's trust rating increments to ๐Ÿ‘ 19 (100%).

๐Ÿ”ฎ Production Roadmap & PM Defense Guide

When presenting the Peerly prototype to evaluators or investors, use these architectural defense points:

1. "Why Front-End Only?"

"We deliberately scoped Peerly as a high-fidelity client-side prototype because at this stage the primary risk is not technical feasibility โ€” it is trust, discoverability, and daily habit adoption. The prototype validates the complete user experience and UX craft before capital is committed to backend infrastructure."

2. Production Implementation Path

  • Opportunities Radar in Production: Scheduled serverless cron workers (AWS Lambda / Cloudflare Workers) scraping RSS/APIs (Unstop, LinkedIn, Internshala, University Portals), deduplicating records, running LLM/NLP embedding categorization, and generating daily digest emails/push notifications.
  • Connect Peer Pairing in Production: A weighted bipartite matching algorithm factoring in domain diversity, schedule availability, and shared interests, automatically issuing Google/Outlook Calendar invites.
  • Community Board & Marketplace: WebSockets/Firebase real-time synchronization, PostgreSQL relational store, and automated image moderation.

โšก Quickstart & Local Setup

Peerly is built with zero external dependencies, zero npm packages, and zero build steps.

Option 1: Direct File Open

Double-click index.html in your file explorer to run directly in Google Chrome, Microsoft Edge, Safari, or Firefox.

Option 2: Local HTTP Server

Run any local static server inside the project root:

# Python 3
python -m http.server 8000

# Node.js (npx)
npx serve .

Then visit http://localhost:8000 in your web browser.


Peerly v2 โ€” The Multi-Campus Operating System for Higher Education Institutions

About

The all-in-one Campus Operating System connecting university students across 4 pillars: peer-to-peer marketplace & lending, cross-department skill pairing, community help board, and personalized opportunities radar.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages