Live demo = https://youtu.be/lxXItugFHJY
The Project I Abandoned — Month 1
2.5 months ago I had a crazy idea.
What if my laptop assistant could also control my phone? What if I could say "open camera" and my laptop camera opens, say "open WhatsApp" and my phone opens WhatsApp?
I searched everywhere. No one had done this in Java. Python mein hai, JS mein hai, but Java? Zero.
So I decided to build it.
The Original Broken Code (Month 1 - Before Exams)
My commit message after Month 1:
"exams aa gaye, project on hold - mobile connection totally failed, laptop commands half working. will come back... maybe"
And then I didn't touch it for 1.5 months.
Why I Finally Came Back
College exams ended. I saw the GitHub Finish-Up-A-Thon challenge and thought — this is it. This is the push I needed.
But this time I had:
- ChatGPT for architecture decisions
- GitHub Copilot for writing the actual Java code I was stuck on
**What I Built — The After
NOVA: Complete Cross-Device Personal Assistant**
Laptop Controls (100% Working):
Command Action
"Open camera" Laptop webcam starts
"Open browser" Default browser launches
"Open VS Code" VS Code opens instantly
"Create resume" Auto-generates professional resume from user data
"System info" Shows RAM, CPU, battery status
Mobile Controls (The Impossible Part):
Command Action
"Open WhatsApp" WhatsApp opens on connected mobile
"Open gallery" Mobile gallery opens
"Open settings" Phone settings open
"Take photo" Remote camera trigger
Resume Generator:
User provides: Name, skills, experience, education
↓
NOVA generates: Professional PDF resume instantly
**
The Technical Problems I Almost Gave Up On
**
Problem 1: Mobile IP Connection (Month 1 Hell)
For 3 weeks straight, my laptop couldn't find my phone on the network.
What Copilot fixed for me:
I asked Copilot: "How to discover Android device on local network from Java without hardcoding IP?"
It gave me the complete network discovery code using NetworkInterface and socket scanning that I had no idea existed in Java.
Problem 2: API Handling Chaos
My ChatGPT integration kept failing. Timeouts, rate limits, JSON parsing errors.
What Copilot fixed:
Problem 3: Mobile Communication Protocol
No documentation existed for Java-to-Android socket communication. I was lost.
What Copilot fixed:
I described the problem in plain English. Copilot wrote the entire TCP socket server for Android and the client for desktop Java. It just worked on first try.
**
How GitHub Copilot Made This Possible
**
Moment 1: Network Discovery (3 weeks → 20 minutes)
I typed: "Write Java code to find all Android devices on my WiFi network by scanning ports 5555 to 5560"
Copilot wrote the complete multi-threaded scanner. I didn't even know Java could do that.
**Moment 2: **Resume PDF Generation
I had never generated PDFs in Java. Copilot wrote the iText implementation with proper formatting, fonts, and layout. Added error handling I wouldn't have thought of.
Moment 3: Voice Command Parsing
My NLP was terrible. Copilot suggested using regex patterns with confidence scoring. It showed me how to handle "open camera" vs "open the camera" vs "camera open" — all mapping to the same function.
Moment 4: Mobile Socket Keep-Alive
The mobile connection kept dropping every 30 seconds. Copilot suggested heartbeat messages and reconnection logic with exponential backoff. I didn't even know what "heartbeat" meant in networking.
*## Technical Architecture
*
Tech Stack:
Layer Technology
Language Java 17
UI Framework JavaFX
AI Assistance ChatGPT (architecture) + GitHub Copilot (code)
Mobile Connection TCP/IP Sockets
PDF Generation iText / Apache PDFBox
Network Discovery Java Network Interface
Input Method Text commands + Optional voice-to-text
**
The Before vs After Summary
**
**
What I Learned
**
1. Java is more powerful than people think
Everyone said "use Python" for automation. But Java's Runtime.exec(), Robot class, and network libraries are just as capable. I proved it works.
2. GitHub Copilot is a Java expert (I didn't know)
I thought Copilot was for JavaScript/Python. But it wrote multithreading, socket programming, and PDF generation in Java flawlessly. It knew Java APIs I had never heard of.
3. Old abandoned projects are gold mines
That broken code from Month 1? It had the right architecture. I just didn't have the skills to complete it. Copilot filled every gap.
4. Cross-device in Java IS possible
No StackOverflow answer said this was possible. No YouTube tutorial showed it. But I built it. Sometimes you have to build what doesn't exist.
5. 2.5 months is worth it
Month 1: Algorithms + APIs (stopped due to exams)
Month 2: Implementation + mobile integration
Month 3: Testing + fixing + finishing
Every single problem I faced taught me something new.
What Makes NOVA Unique?
Feature Other Assistants NOVA
Language Python/JS JAVA (first of its kind)
Laptop Control Yes Yes
Mobile Control Requires separate app Direct via network
Resume Generation No Auto-create PDF
Open Source Rare Coming soon
No one has built a cross-device personal assistant in Java before. NOVA is the first.
How Mobile Commands Work
The underscore (_) is the magic character that tells NOVA:
"This command is NOT for laptop. Send it to the connected mobile device."
Example = open_camera.
**
They said Java can't do cross-device automation. They said build what already exists. I said watch me. 2.5 months later, NOVA is here — and it's just getting started.
**




Top comments (0)