Fello Intelligence is an AI account intelligence and enrichment system built for the Fello AI Builder Hackathon. It converts anonymous visitor signals or raw company lists into structured sales intelligence cards for Fello's real estate and mortgage sales team.
It combines IP resolution, company enrichment, persona inference, intent scoring, business signal discovery, and AI synthesis into a single FastAPI backend and React dashboard.
Detailed project documentation is available in docs/PROJECT_DOCUMENTATION.md.
- Move into the project:
cd fello-intelligence- Install backend dependencies:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- Configure environment variables:
cp .env.example .envFill in:
OPENAI_API_KEYIPINFO_TOKENAPOLLO_API_KEYSERPER_API_KEYREDIS_URL
- Run the backend:
cd backend
uvicorn main:app --reload- Run the frontend:
cd frontend
npm install
npm run dev{
"status": "ok",
"version": "1.0.0"
}Request:
{
"ip": "34.201.12.88",
"pages": ["/pricing", "/ai-sales-agent", "/case-studies"],
"time_on_site_seconds": 222,
"visits_this_week": 3
}Example response:
{
"status": "resolved",
"confidence": 0.61,
"company_name": "Keller Williams Chicago North",
"domain": "kellerwilliamschicagonorth.com",
"industry": "Real Estate",
"company_size": "201-500",
"headquarters": "Chicago, IL, US",
"founded_year": "1983",
"website": "https://kellerwilliamschicagonorth.com",
"likely_persona": "Regional sales leader",
"persona_confidence": 0.78,
"persona_reasoning": "Pricing and product pages suggest a business decision maker.",
"intent_score": 8.5,
"intent_stage": "decision",
"intent_signals": [
"Visited high-intent page /pricing (+2.5)",
"Visited mid-intent page /ai-sales-agent (+1.5)"
],
"tech_stack": null,
"business_signals": [],
"key_leaders": null,
"ai_summary": "This account appears to be evaluating Fello for brokerage lead conversion workflows.",
"recommended_actions": [
"Send a tailored outbound note.",
"Offer a workflow demo.",
"Route to the correct AE."
],
"unresolved_reason": null
}{
"companies": ["Keller Williams", "loanDepot", "Compass"]
}Returns a list of AccountIntelligence objects.
identify.py: resolves the likely company behind an IP usingipinfo.ioand filters residential or VPN traffic.enrich.py: enriches a company using Apollo first, then falls back to OpenAI-generated research.intent.py: scores purchase intent from pages visited, dwell time, and repeat visits.persona.py: infers the likely visitor role from browsing behavior.signals.py: finds recent hiring, funding, and growth signals with Serper and normalizes them with OpenAI.synthesize.py: produces the final account summary and recommended sales actions.cache.py: caches enrichment payloads by domain for 24 hours with Redis or an in-memory fallback.
- IP-to-company identification is inherently imperfect and often fails on residential, mobile, or VPN traffic.
- Apollo and search-based enrichment quality depends on the external APIs returning useful data.
- The frontend currently displays the first batch result when multiple companies are submitted in company mode.
- Some output fields such as
tech_stackandkey_leadersremain sparse unless provided by upstream enrichment.
- CRM sync for Salesforce or HubSpot account creation and activity logging.
- Real-time visitor monitoring with streaming enrichment rather than request-response polling.
- Vector database storage for historical account memory and similarity-based outreach recommendations.
- Contact-level enrichment and champion mapping across leadership teams.