The Problem
I got tired of watching founders waste hours doing competitive research manually. Checking Twitter, googling company names, reading through press releases, scrolling Reddit for complaints. By the time you piece it all together, half of it is outdated. Google Alerts promised to fix this years ago and never did.
What Inspired Me
I wanted to build something I would actually use the next morning. Not a demo. Not a wrapper around an API that prints summaries. Something that feels like having a sharp analyst on your team who reads the internet overnight and hands you a briefing with your coffee.
The domain myagent.fyi said it all. Your agent. For your intelligence. Go figure it out.
What I Built
myagent.fyi is a competitive intelligence engine. You type a company name and in under 30 seconds it runs four parallel searches across the live web covering reputation, product moves, hiring signals, and press coverage. It reads the actual pages, not just the links. Then it writes a structured report with a strategic recommendation at the bottom telling you what to do about what it found.
Every report gets a public URL. One click to share with your team.
How I Built It
Backend: Node.js and Express deployed on Railway. Four parallel calls to Nimble's web intelligence API pull live search results and extract full page content from the top sources. Groq running Llama 3.3 70B synthesizes everything into a structured brief. Supabase stores every report so your history is always there.
Frontend: React with Vite deployed on Vercel. Built the entire UI from scratch with no component libraries. The design was intentional. It needed to feel like a live intelligence terminal, not another AI chat wrapper.
The pipeline: Nimble searches four angles simultaneously. The top result from each category gets fully extracted and read, not just skimmed. Groq gets labeled sources so it knows what was fully read versus partially seen, and it uses that to calibrate its confidence level in each claim.
Challenges
Getting Nimble's two-stage fetch working in parallel without blowing up latency was the hardest technical problem. One search is fast. Four searches plus full page extraction on the top results adds up. The fix was Promise.allSettled so partial failures in one category never kill the whole report.
The prompt engineering took longer than the code. The difference between an AI that describes what it found and an AI that tells you what to do with it is entirely in how you frame the task. I went through maybe fifteen versions of the system prompt before the Strategic Take section started feeling like something a real analyst would write.
Deployment was its own adventure. Railway kept crashing from a port conflict in a restart loop. Fixed it by handling the EADDRINUSE error gracefully instead of letting Node throw and die.
What I Learned
Nimble is genuinely powerful. The difference between snippet-only results and fully extracted page content is not subtle. The briefings went from generic to specific the moment I added the two-stage fetch.
I also learned that the product is the prompt as much as the code. Anyone can call an API and print the response. The hard part is deciding what question to ask and how to frame the answer so it is actually useful to a real person making a real decision.
What's Next
Scheduled monitoring. You set a company to watch and your agent checks in daily, surfaces only what changed, and flags when the threat level shifts. That is the product that makes this a recurring revenue business.
Built With
- axios
- express.js
- groq
- llama-3.3-70b
- nimble-web-intelligence-api
- node.js
- railway
- react
- supabase
- vercel
- vite
Log in or sign up for Devpost to join the conversation.