posted an update

StudySnap Update - Cloud Sharing with Auto-Expiration!

We're excited to announce a major update to StudySnap - now you can share your study sets with anyone, anywhere!


What's New

Cloud Sharing with Auto-Expiration

  • Share study sets via QR code with anyone
  • Two sharing modes:
    • Quick Share (QR Only): Instant QR code generation (text only)
    • Full Share (Cloud): Upload to cloud storage (includes PDFs & images)
  • Auto-delete after 24 hours, 7 days, or 30 days
  • Perfect for study groups and classmates

QR Code Sharing

  • Generate QR codes instantly
  • Scan to import study sets
  • Works offline after download
  • No account or login required

Smart Expiration System

  • Choose expiration time: 24 hours, 7 days, or 30 days
  • Files automatically deleted after expiration
  • Saves storage space automatically
  • Default: 24 hours for quick shares

Full Media Support

  • Share PDFs with your study sets
  • Include images and photos
  • Up to 10MB per file
  • All content preserved in cloud shares

Technical Highlights

Auto-Expiring Cloud Uploads

// Files automatically deleted after chosen time
const expirationTimestamp = Math.floor(Date.now() / 1000) + (24 * 60 * 60);
formData.append('expiration', expirationTimestamp.toString());

// Cloudinary handles deletion automatically - no cleanup needed!

Dual Sharing Methods

// Quick Share - Instant, no upload
const qrData = generateQRData(studySet);

// Full Share - Includes media files
const cloudUrl = await uploadToCloudinary(studySet, onProgress, '24h');
const qrData = generateCloudinaryQRData(cloudUrl);

Smart File Handling

// Absolute paths for proper file storage
const filePath = `${FileSystem.documentDirectory}${studySet.id}.pdf`;
const file = new File(filePath);
await file.create();
await file.write(base64Data);

How It Works

Sharing a Study Set

  1. Open any study set
  2. Tap the Share button
  3. Choose sharing method:
    • Quick Share: Instant (text only)
    • Full Share: Upload to cloud (includes PDFs/images)
  4. Select expiration time (24h, 7d, or 30d)
  5. Generate QR code
  6. Share with friends!

Receiving a Study Set

  1. Tap Receive on home screen
  2. Scan the QR code
  3. Study set imports automatically
  4. All content downloaded (including PDFs/images)
  5. Start studying immediately!

Use Cases

For Study Groups:

  • Share flashcards and quizzes instantly
  • Include PDFs and images in shares
  • Set 24h expiration for exam prep sessions
  • Everyone gets the same materials

For Classmates:

  • Share lecture notes after class
  • Include professor's slides (PDFs)
  • Share whiteboard photos
  • Quick shares for group study sessions

For Teachers:

  • Distribute study materials to students
  • Set expiration for assignment deadlines
  • Temporary access to resources
  • No permanent storage needed

Features

Quick Share (QR Only)

  • Instant generation
  • No upload required
  • Data embedded in QR code
  • Text only (no PDFs/images)
  • Perfect for flashcards and quizzes

Full Share (Cloud)

  • Uploads to Cloudinary
  • Includes PDFs and images
  • Auto-deletes after expiration

- Upload progress indicator

Privacy & Security

  • Optional sharing only (nothing uploaded by default)
  • Auto-expiring content (no permanent storage)
  • No account required
  • No tracking or analytics

Performance

  • <1s QR code generation
  • <10s cloud uploads (typical)
  • <5s download and import
  • Works offline after download

Get Started

Quick Start:

  1. Create or open a study set
  2. Tap the Share button
  3. Choose Quick Share or Full Share
  4. Generate QR code and share!

Tips & Tricks

Maximize Sharing:

  • Use 24h expiration for quick study sessions
  • Use Full Share to include lecture PDFs
  • Take photos of whiteboards and share them
  • Share before exams for group study

Pro Tips:

  • Quick Share is instant but text-only
  • Full Share takes a few seconds but includes everything
  • 7-day expiration is good for weekly study groups
  • 30-day expiration for semester-long courses

Log in or sign up for Devpost to join the conversation.