Telescan is a social radar that connects the physical and digital worlds.
The app detects people nearby via Bluetooth Low Energy (BLE) - without GPS and without the Internet for detection itself. It quietly accumulates information about daily intersections in the background and helps you consciously find patterns and people with whom you should establish contact.
Every day we cross paths with hundreds of people - in transport, cafes, offices or at events - but most of these meetings remain invisible. Telescan turns them into opportunities while maintaining complete privacy.
Telescan works as an extension of Telegram: users link their profile via a bot, and the app allows secure profile sharing and chat - all with an emphasis on offline interaction and user control.
- Telescan-iOS - iOS Application
- Telescan-bot-app - Telegram bot
- Telescan-api - Backend REST API
- Telescan-nginx - Reverse-proxy
- Telescan-db - Database config
*Development also planned for Android
- Telescan
- Proximity-based Discovery: Uses BLE to detect nearby users with Telegram profiles
- Telegram Integration: Linking to existing Telegram accounts
- Privacy-First: No permanent identifiers or location tracking
- Ephemeral Connections: Connections exist only while devices are in range
- Secure Authentication: SHA-256 hashed codes for profile verification
- Distance Estimation: RSSI-based approximate distance calculation
Data is being transmitted to the user in the visible area of the device.
The Telescan logo represents a stylized Telegram paper plane emitting a signal, symbolizing nearby discovery and connection.
- Light Theme: Designed for light backgrounds
- Dark Theme: Designed for dark backgrounds
Telescan consists of three main components:
- Generates unique 8-character authentication codes
- Links Telegram profiles to the mobile app
- BLE Manager: Handles Bluetooth discovery and advertising
- Network Service: Communicates with backend API for profile data
- Interface: Modern, intuitive user interface
- RESTful API for profile management
- Secure storage of user data
- Image hosting via S3
- iOS 17.0+
- Xcode 15.0+
- Swift 5.9+
- Telegram account
- Download Telescan from the App Store (link will be added)
- Open Telegram and find @tgtelescan_bot
- Start the bot and generate your authentication code
- Open Telescan app and enter the code
- Grant Bluetooth permissions when prompted
- Clone the repository:
git clone https://github.com/hiTechTeam/Telescan-iOS.git
cd Telescan-iOS-
Open
TelescaniOS.xcodeprojin Xcode -
Configure your backend API endpoints in
App/Configuration/Configs/AppConfig.swift -
Build and run on a physical iOS device (BLE requires physical hardware)
-
Telegram Integration:
- Open Telegram
- Search for @tgtelescan_bot
- Send
/startto generate your code
-
App Setup:
- Launch Telescan
- Enter the 8-character code from Telegram
- Confirm your profile information
-
Enable Discovery:
- Toggle scanning in the main interface
- Grant Bluetooth permissions
- Navigate to the "People" tab
- Enable scanning
- Nearby users with Telescan will appear automatically
- Tap on a profile to view details and open in Telegram
- Go to the "Profile" tab
- View your current information
- Update your profile photo if needed
- Access app information and settings
TelescaniOS/
├── App/
│ ├── Models/ # Data models (ProfileInfo, Requests, Responses)
│ ├── Services/ # Core services
│ │ ├── BLE/ # Bluetooth Low Energy manager
│ │ ├── NET/ # Network communication
│ │ └── Storage/ # Local data storage
│ ├── Utils/ # Utilities and extensions
│ ├── ViewModels/ # MVVM view models
│ └── Views/ # SwiftUI views and components
├── Configuration/ # App configuration and plist
├── Resources/ # Assets, colors, localization
└── TelescaniOS.xcodeproj/
Handles all Bluetooth operations:
- Advertising device presence with Telegram ID
- Scanning for nearby devices
- Managing connection timeouts
- Calculating approximate distances via RSSI
Manages network communication:
- SHA-256 code hashing
- API request handling
- Profile data fetching
- Image upload functionality
Coordinates people discovery:
- BLE device management
- Profile caching
- Distance calculations
- User data loading
- Code Hashing: All authentication codes are SHA256 hashed before transmission
- HTTPS Only: All network communication uses TLS encryption
- Ephemeral Data: No persistent storage of sensitive information
- Privacy by Design: Minimal data collection and retention
Telescan is designed with privacy as a core principle:
- No location data is collected or stored
- Connections are temporary and device-only
- Profile data is fetched on-demand and cached briefly
- Users control when their device is discoverable
- No tracking or analytics
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Kingfisher — Image loading and caching
- Swift Log — Structured, leveled logging
- CoreBluetooth — BLE functionality (built-in)
- SwiftUI — UI framework (built-in)
Currently, no automated tests are implemented.
In the future, you can run tests in Xcode:
xcodebuild test -project TelescaniOS.xcodeproj -scheme Telescan -destination 'platform=iOS Simulator'run simulator and past command in terminal
- Update version in
Info.plist - Archive in Xcode
- Upload to App Store Connect
- Ensure Bluetooth is enabled in iOS Settings
- Test on physical devices (simulator doesn't support BLE)
- Check internet connectivity
- Ensure you have a Telegram username set
- Check that the generated code is entered correctly
- Verify Telegram account permissions
All possible faults will be located in KNOWN_ISSUES.md
Project development plans ROADMAP.md
This project is licensed under the MIT License.
- Developer: r66cha
- Telegram: @ruslanrocketman1
- Email: r66cha@gmail.com
For detailed technical information, see WHITEPAPER.md


