This isn't just a camera app; it's a pocket security system. Vibe coded to feel like a sci-fi gadget, it uses a cyberpunk interface to deliver real-world utility.
Built entirely in the flow state, v3.0 (Ultimate) pushes the limits of what a web browser can do—handling video streams, motion detection, and full bi-directional hardware control without a single backend server.
IP Camera Pro establishes a secure, direct connection between two devices (Host & Viewer).
- The Problem: Traditional IP cameras are expensive, require apps, and upload your footage to questionable clouds.
- The Solution: A browser-based tool that uses the device you already own. Your data streams directly between devices. Privacy by design.
| Host Screen | Approval | Viewer Screen |
|---|---|---|
![]() |
![]() |
![]() |
| 🛡️ Security & Monitoring | 🎮 Ultimate Remote Control |
|---|---|
| Motion Guard: Detects movement & auto-saves evidence | Remote Rotation: Switch Host Front/Back camera remotely |
| Sensitivity Slider: Adjust motion detection threshold | Remote Night Mode: Toggle software low-light filter |
| Incident Gallery: Motion logs saved to IndexedDB | Remote Flash: Toggle the host flashlight |
| Connection Approval: You decide who connects | 2-Way Audio: Talk back via the viewer device |
| Eco Mode: Black screen overlay to save OLED battery | Instant Snap: Save high-res snapshots to Viewer |
- WebRTC (PeerJS): For low-latency, encrypted P2P streaming.
- HTML5 Media API: For accessing camera, microphone, and torch.
- IndexedDB: For storing motion detection logs locally in the browser.
- Vanilla JS: Zero framework bloat for maximum performance on old devices.
Because this app requires camera and microphone permissions, it must be run via HTTPS or localhost.
- Fork this repo.
- Enable GitHub Pages in your repo settings.
- Open the link on two devices (one as Host, one as Viewer).
- Clone the repo:
git clone https://github.com/shubhambelbase/IP_Camera_Pro.git
- Navigate to folder:
cd IP_Camera_Pro - Run with a secure server:
(VS Code "Live Server" works great, or use Python)
Note: To access on a different device on your WiFi, you might need an HTTPS tunnel (like
# If using Python 3 python -m http.server 8000ngrok) because browsers block camera access on insecure HTTP connections.
-
Host Mode (Old Phone/Laptop):
- Open the app and click "Start Camera Host".
- (Optional) Adjust Motion Sensitivity slider.
- Share the 4-digit Connection Code.
-
Viewer Mode (Your Daily Phone):
- Enter the 4-digit code in the "Remote Access" box.
- Click "Connect".
- Approve the connection on the Host device.
- New Controls: Use the icons at the bottom to Switch Camera, Toggle Night Mode, Talk, or Snap a photo!
Got an idea to make this even more "Cyberpunk"?
- Fork it.
- Create your Feature Branch (
git checkout -b feature/NightVisionV2) - Commit your Changes.
- Push to the Branch.
- Open a Pull Request.
Vibe coded with ❤️ by Shubham Belbase


