WiSaw - "What I Saw Today"

October 14, 2025 ยท View on GitHub

Version Platform License React Native Expo

Minimalistic social sharing โ€ข Incognito pics โ€ข Anonymous posting

๐ŸŒŸ Overview

WiSaw is a location-based, anonymous social sharing app that lets you capture and share moments without the complexity of traditional social media. No registration, no profiles, no followers - just pure, location-relevant content sharing.

โœจ Key Features

  • ๐Ÿšซ No Registration Required - Open the app and start sharing immediately
  • ๐Ÿ“ Location-Based Feed - See what's happening around you right now
  • ๐ŸŽญ Anonymous Sharing - Share without revealing your identity
  • ๐Ÿ—‘๏ธ Community Moderation - Delete inappropriate content to improve quality for everyone
  • ๐Ÿค– AI Image Recognition - Automatic content descriptions using AI
  • ๐Ÿ’ฌ Real-time Comments - Engage with posts through anonymous comments
  • ๐Ÿ”— Deep Linking - Share specific photos and friend invitations
  • ๐Ÿ“ฑ Cross-Platform - Available on iOS, Android, and Web

๐Ÿ“ฑ Download

Download on the App Store
Get it on Google Play

๐ŸŒ Web Version: wisaw.com

๐Ÿ› ๏ธ Tech Stack

Frontend

  • React Native (0.79.4) - Cross-platform mobile development
  • Expo (53.0.12) - Development platform and build system
  • Expo Router (5.1.0) - File-based routing system
  • TypeScript - Type-safe development
  • Jotai (2.8.4) - State management

Backend Integration

  • Apollo Client (3.9.7) - GraphQL client with caching
  • GraphQL (16.8.1) - API query language
  • WebSocket Subscriptions - Real-time updates

UI/UX

  • React Native Elements - UI component library
  • React Navigation - Navigation system
  • Expo Image - Optimized image handling
  • React Native Reanimated - Smooth animations

Device Features

  • Camera & Photo Library - Image capture and storage
  • Location Services - GPS-based content filtering
  • Push Notifications - Real-time alerts
  • Deep Linking - Share content and friend invitations

๐Ÿ—๏ธ Architecture

Project Structure

WiSaw/
โ”œโ”€โ”€ app/                    # Expo Router app directory
โ”‚   โ”œโ”€โ”€ (drawer)/          # Drawer navigation layout
โ”‚   โ”‚   โ”œโ”€โ”€ (tabs)/        # Bottom tabs navigation
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ index.tsx  # Main feed screen
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ chat.tsx   # Chat/messaging screen
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ photos/    # Photo-related screens
โ”‚   โ”‚   โ”œโ”€โ”€ friends.tsx    # Friends management
โ”‚   โ”‚   โ””โ”€โ”€ feedback.tsx   # User feedback
โ”‚   โ””โ”€โ”€ _layout.tsx        # Root layout
โ”œโ”€โ”€ src/                   # Source code
โ”‚   โ”œโ”€โ”€ components/        # Reusable components
โ”‚   โ”œโ”€โ”€ screens/           # Screen components (legacy)
โ”‚   โ”œโ”€โ”€ utils/             # Utility functions
โ”‚   โ”œโ”€โ”€ hooks/             # Custom React hooks
โ”‚   โ””โ”€โ”€ state.js           # Global state management
โ”œโ”€โ”€ assets/                # Images, icons, splash screens
โ”œโ”€โ”€ docs/                  # Documentation and guides
โ””โ”€โ”€ public/                # Static web assets

Key Features Implementation

  • Expo Router with file-based routing
  • Drawer Navigation for main app sections
  • Tab Navigation for primary features
  • Modal Navigation for overlays and forms

๐ŸŽจ UI/UX Enhancements

  • Status Bar Handling - Platform-specific status bar management
  • Safe Area Support - Proper handling of device safe areas
  • Responsive Design - Adapts to different screen sizes
  • Loading States - User feedback during operations

๐Ÿ”„ State Management

  • Jotai for lightweight state management
  • Apollo Client Cache for GraphQL data
  • Local Storage for offline data persistence

๐Ÿ” Privacy & Security

  • Anonymous Posting - No user identification required
  • Location Privacy - Approximate location sharing only
  • Content Moderation - Community-driven content filtering

๐Ÿš€ Getting Started

Prerequisites

  • Node.js (18+)
  • npm or yarn
  • Expo CLI
  • iOS Simulator (for iOS development)
  • Android Studio/Emulator (for Android development)

Installation

  1. Clone the repository

    git clone https://github.com/echowaves/WiSaw.git
    cd WiSaw
    
  2. Install dependencies

    npm install
    
  3. Set up environment variables

    # Create .env file with your API endpoints
    API_URI=your_graphql_endpoint
    REALTIME_API_URI=your_websocket_endpoint
    API_KEY=your_api_key
    PRIVATE_IMG_HOST=your_image_host
    
  4. Start the development server

    npm start
    

Development Scripts

# Start Expo development server
npm start

# Run on iOS simulator
npm run ios

# Run on Android emulator
npm run android

# Build for production
npm run build

# Deploy to production
npm run publish:prod

# Clear cache and reset
npm run clear
npm run reset:simulator

๐Ÿ“‹ Version Management

The app uses a centralized version management system:

  • Version: Defined in package.json and imported to app.config.js
  • Build Numbers: Automatically synced across iOS and Android
  • Single Source of Truth: All version info in package.json

To update the app version:

  1. Update version, buildNumber, and versionCode in package.json
  2. Changes automatically propagate throughout the app

๐Ÿ”ง Configuration

App Configuration

The app uses app.config.js for Expo configuration:

  • Platform-specific settings
  • Deep linking configuration
  • Push notification setup
  • Build properties

Environment Setup

  • Development: Uses Expo development server
  • Production: Built with EAS (Expo Application Services)
  • Web: Deployed as PWA

๐Ÿ“– Documentation

Developer Guides

Feature Documentation

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Use Expo Router for navigation
  • Implement proper error handling
  • Add documentation for new features
  • Test on both iOS and Android

๐Ÿ“ž Support

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments


Made with โค๏ธ by Echowaves Corp.

Experience authentic, location-based social sharing

๐Ÿ“ฑ Screenshots

Main Feed

Main feed showing nearby photos Search and browse photos by relevance

Photo Details

Detailed photo view with AI descriptions

AI Recognition

AI-powered image recognition and tagging

Comments

Anonymous commenting system App navigation and features