Evaluate your company's IT Governance and FinOps maturity with a structured questionnaire and AI-generated reports.
FinOps Maturity Evaluator is a web application that assesses an organization's maturity level in FinOps (Financial Operations) and IT Governance practices. The tool guides the user through a 3-step flow and generates a comprehensive diagnostic report using the Google Gemini API.
The generated report is based on industry-recognized frameworks such as COBIT 2019, ITIL 4, ISO/IEC 27001, and ISO 27005, providing professional-grade analysis of the evaluated IT environment.
| Feature | Description |
|---|---|
| Company Registration | Collects basic information: name, industry sector, and company size |
| Maturity Questionnaire | 15 questions organized across 5 categories, rated on a 1–5 scale |
| Maturity Score | Automatic calculation with 3-tier classification (Beginner, Intermediate, Advanced) |
| AI-Powered Report | Comprehensive diagnostic generated by Google Gemini with COBIT mapping, ISO 27005 risk analysis, and action plan |
| PDF Export | Download the full report as a PDF file |
| Responsive UI | Modern design with smooth animations and transitions |
The questionnaire covers 5 maturity dimensions:
- FinOps Culture — Dedicated team existence, stakeholder participation, financial awareness
- Visibility & Data — Cost allocation, real-time visibility, asset cataloging
- Optimization & Efficiency — Idle resource review, reserved instances, automation
- Governance & Compliance — Approval processes, security controls, business continuity
- Planning & Strategy — Modernization roadmap, legacy system integration, unit economics
- Frontend: React 19 + TypeScript
- Build Tool: Vite 6
- Styling: Tailwind CSS 4 + shadcn/ui
- Animations: Motion (Framer Motion)
- AI: Google Gemini API (
gemini-2.5-flash) - PDF: jsPDF
- Backend/DB: Firebase (Firestore) — authentication and persistence
- Icons: Lucide React
- Node.js (version 18 or higher)
- Google Gemini API Key — obtain one at Google AI Studio
-
Clone the repository:
git clone https://github.com/your-username/FinOps.git cd FinOps -
Install dependencies:
npm install
-
Configure the Gemini API key:
Create a
.env.localfile in the project root with the following content:VITE_GEMINI_API_KEY=your_key_here
-
Start the development server:
npm run dev
-
Open in your browser:
http://localhost:3000
┌─────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ STEP 1 │ │ STEP 2 │ │ STEP 3 │
│ Company │────>│ Maturity │────>│ Results + │
│ Registration │ │ Questionnaire (15Q) │ │ AI Report │
└─────────────────┘ └─────────────────────┘ └─────────────────────┘
Name, Sector, 1-5 scale per Score, COBIT Level,
Size category Exportable PDF
- Step 1 — Registration: Enter the company name, industry sector, and size (Small, Medium, Large, or Enterprise).
- Step 2 — Questionnaire: Answer 15 questions about FinOps and IT Governance practices, scoring from 1 (Disagree) to 5 (Agree).
- Step 3 — Results: View the maturity score and generate a detailed report with analysis, risks, and recommendations. Export the results as a PDF.
FinOps/
├── index.html # HTML entry point
├── package.json # Dependencies and scripts
├── vite.config.ts # Vite configuration
├── tsconfig.json # TypeScript configuration
├── vercel.json # Deployment configuration (Vercel)
├── firestore.rules # Firestore security rules
├── components/ # UI components (shadcn/ui)
│ └── ui/ # Button, Card, Input, Select, etc.
├── lib/ # Utilities (cn, etc.)
└── src/
├── main.tsx # React application bootstrap
├── App.tsx # Main component (3-step flow)
├── index.css # Global styles
├── firebase.ts # Firebase configuration
├── constants/
│ └── questions.ts # Questionnaire questions + diagnostic fields
├── contexts/
│ └── AuthContext.tsx # Authentication context
└── services/
└── geminiService.ts # Google Gemini API integration
| Command | Description |
|---|---|
npm run dev |
Starts the development server on port 3000 |
npm run build |
Creates the production build in the dist/ folder |
npm run preview |
Previews the production build locally |
npm run lint |
Checks for TypeScript type errors |
npm run clean |
Removes the dist/ folder |
This project is for academic/internal use.
Powered by Google Gemini