AITechPulse is an AI-driven, interactive technology landscape visualization tool built for modern engineering teams. It empowers teams to track, assess, and communicate technology adoption decisions through an intuitive radar interface β giving leadership and developers a shared, living view of their technology stack.
Deploy once, share across your entire team. Everyone with the link sees the same live view, driven by a single Excel file your tech leads maintain.
The AI industry is going through a once-in-a-generation transformation. New LLMs, frameworks, platforms, and developer tools are emerging at a pace never seen before β what was cutting-edge last quarter may already be superseded. For engineering teams, this creates a real problem:
You can't adopt what you can't track.
Most teams struggle with the same questions:
- Which new technologies should we be evaluating right now?
- What have we already tried, and what was the outcome?
- Which tools are we actively adopting, and which should we phase out?
- How do we communicate these decisions across 50β100 engineers consistently?
Spreadsheets get buried. Confluence pages go stale. Slack threads disappear. Meanwhile, the technology landscape keeps moving.
AITechPulse solves this by giving your team a single, always-current, visual map of your technology stack β organized by category, rated by adoption stage, and updated from one shared Excel file that your tech leads already maintain. Every engineer on the team sees the same view. Every decision is visible. Every quarter's progress is trackable.
It turns the question "What should we be using?" into a 10-second glance instead of a 30-minute meeting.
Each insight we share is represented by a blip. Blips may be new to the latest radar volume, or they can move rings as our recommendation has changed.
The rings are:
- Adopt. Blips that we think you should seriously consider using.
- Trial. Things we think are ready for use, but not as completely proven as those in the Adopt ring.
- Assess. Things to look at closely, but not necessarily trial yet β unless you think they would be a particularly good fit for you.
- Hold. Proceed with caution.
| Feature | Description |
|---|---|
| Interactive Radar | 4-quadrant, 4-ring radar with smooth hover interactions |
| Excel-Driven | Reads from a shared Excel file (Teams / SharePoint / network path) |
| Config-Based | All settings in a single config/aitechpulse.config.json file |
| Hover Insights | Hover a blip to see its name β the rest blur for focus |
| Status Indicators | Inner ring = quadrant color; outer ring = movement status |
| Print to PDF | One-click summary export with radar graphic + grouped listing |
| Team-Ready | Built for 50β100 member teams with shared access |
| Docker Support | Production Dockerfile + docker-compose included |
| Customizable | Quadrant names, ring names, colors β all configurable |
| Auto-Refresh | Periodically re-fetches data so the view stays current |
| Search | Instantly filter technologies from the header search bar |
aitechpulse/
βββ config/
β βββ aitechpulse.config.json # β Main configuration file
βββ docker/
β βββ Dockerfile # Production multi-stage build
β βββ docker-compose.yml # One-command deployment
β βββ nginx.conf # Production Nginx config
βββ docs/
β βββ banner.svg # Project banner
β βββ DEPLOYMENT.md # Deployment guide
β βββ EXCEL_FORMAT.md # Excel file format spec
β βββ sample-data.xlsx # Ready-to-use template
βββ public/
β βββ index.html # Entry HTML
β βββ favicon.svg # App favicon
βββ src/
β βββ main.jsx # React entry point
β βββ App.jsx # Root application component
β βββ index.css # Global styles
β βββ components/
β β βββ RadarChart.jsx # Main radar SVG visualization
β β βββ BlipDot.jsx # Individual technology blip
β β βββ Header.jsx # App header with controls
β β βββ QuadrantPanel.jsx # Sidebar quadrant listing
β β βββ StatusLegend.jsx # Legend for statuses
β β βββ PrintView.jsx # Print / PDF generation
β βββ hooks/
β β βββ useRadarData.js # Data loading & parsing hook
β βββ utils/
β βββ config.js # Config loader
β βββ geometry.js # Polar math & layout engine
β βββ colors.js # Color palette & theming
βββ .env.example # Environment variable template
βββ .gitignore
βββ package.json
βββ vite.config.js
βββ README.md # β You are here
- Node.js β₯ 18
- npm β₯ 9 (or yarn / pnpm)
git clone https://your-repo-url/aitechpulse.git
cd aitechpulse
npm installEdit config/aitechpulse.config.json:
{
"dataSource": {
"type": "url",
"url": "https://your-company.sharepoint.com/sites/team/Shared%20Documents/tech-landscape.xlsx"
}
}See Excel Format Guide for column specifications.
npm run devOpen http://localhost:5173 β share this URL with your team on the same network.
npm run build # β outputs to dist/
npm run preview # β preview production build locallyThe fastest way to deploy for your whole team:
cd docker
docker-compose up -d --buildThis serves AITechPulse on port 8080. Share http://your-server:8080 with the team.
See Deployment Guide for advanced options including Azure App Service, AWS ECS, internal VMs, and CI/CD integration.
Your Excel file must have these columns:
| Column | Required | Values | Description |
|---|---|---|---|
name |
β | Free text | Technology name (shown on hover) |
quadrant |
β | Any 4 unique values | Category grouping |
ring |
β | Adopt, Trial, Assess, Hold |
Recommendation level |
status |
β | new, Moved in/out, No change |
Movement indicator |
Full spec with examples: EXCEL_FORMAT.md
config/aitechpulse.config.json:
{
"app": {
"title": "AITechPulse",
"subtitle": "Intelligent Technology Landscape",
"teamName": "Platform Engineering"
},
"dataSource": {
"type": "url",
"url": "https://your-teams-link/tech-landscape.xlsx",
"refreshIntervalMinutes": 30,
"sheetName": "Sheet1"
},
"radar": {
"rings": ["Adopt", "Trial", "Assess", "Hold"],
"quadrantColors": ["#1abbad", "#f38a3e", "#86b782", "#b32068"]
},
"features": {
"enablePrint": true,
"enableUpload": true,
"enableSearch": true
}
}Each technology is drawn as concentric circles:
- Inner circle β solid fill, color-coded by quadrant
- Outer ring β based on status:
newβ full outer ringMoved in/outβ half outer ringNo changeβ no outer ring (inner dot only)
Hover: Only the name column is shown. The hovered blip highlights; all others blur. Blips remain static.
AITechPulse is a static web application. The Excel file is fetched client-side:
- For SharePoint / Teams URLs: users must be authenticated in their browser
- For internal URLs: network-level access control applies
- No data is stored server-side
- CORS configuration guide included in DEPLOYMENT.md
- Vite β build tool
- React 18 β UI framework
- SheetJS β Excel file parsing
- Pure SVG β zero charting library dependencies
MIT β see LICENSE for details.
AITechPulse β See your stack. Shape your future.