*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --teal: #00d4aa; --gold: #d4a843; --red: #e74c3c; --amber: #f39c12; --green: #2ecc71; --purple: #8e44ad; --blue: #3498db; --bg: #1a1a1a; --card: #242424; --grid: #2d2d2d; --t1: #e2e8f0; --t2: #c0c8d4; --t3: #a0aec0; --t4: #718096; --navy: #1a2744; } html { scroll-behavior: smooth; } body { background: var(--bg); color: var(--t1); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 1.6; -webkit-font-smoothing: antialiased; } /* NAV */ nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; justify-content: space-between; align-items: center; padding: 16px 48px; background: rgba(26,26,26,0.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--grid); } .nav-wordmark { color: var(--gold); font-size: 13px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; } .nav-links { display: flex; gap: 32px; align-items: center; } .nav-links a { color: var(--t3); font-size: 13px; text-decoration: none; transition: color 0.15s; } .nav-links a:hover { color: var(--teal); } .nav-cta { background: var(--navy); color: var(--teal) !important; border: 1px solid var(--navy); padding: 7px 20px; border-radius: 4px; font-size: 12px !important; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; transition: background 0.15s !important; } .nav-cta:hover { background: #243560 !important; color: var(--teal) !important; } /* HERO */ .hero { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 120px 48px 80px; max-width: 900px; position: relative; } .hero::after { content: ''; position: fixed; top: 0; right: 0; width: 40vw; height: 100vh; background: radial-gradient(ellipse at 80% 40%, rgba(0,212,170,0.06) 0%, transparent 70%); pointer-events: none; z-index: 0; } .hero-eyebrow { color: var(--teal); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 20px; } .hero-headline { font-size: clamp(36px, 5vw, 58px); font-weight: 700; line-height: 1.1; color: var(--t1); margin-bottom: 10px; letter-spacing: -0.01em; } .hero-headline span { color: var(--teal); } .hero-tagline { font-size: clamp(18px, 2.5vw, 26px); color: var(--gold); font-style: italic; font-weight: 400; margin-bottom: 28px; letter-spacing: 0.01em; } .hero-sub { font-size: 16px; color: var(--t2); line-height: 1.7; max-width: 560px; margin-bottom: 40px; } .hero-actions { display: flex; gap: 16px; flex-wrap: wrap; } .btn-primary { background: var(--navy); color: var(--teal); border: 1px solid var(--navy); padding: 12px 28px; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; transition: background 0.15s; display: inline-block; } .btn-primary:hover { background: #243560; } .btn-ghost { background: transparent; color: var(--t2); border: 1px solid var(--grid); padding: 12px 28px; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; transition: border-color 0.15s, color 0.15s; display: inline-block; } .btn-ghost:hover { border-color: var(--teal); color: var(--teal); } /* TEAL DIVIDER */ .teal-rule { border: none; border-top: 1px solid var(--teal); margin: 0 48px; } /* PROBLEM SECTION */ .section { padding: 80px 48px; } .section-tag { color: var(--teal); font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 12px; } .section-title { font-size: clamp(24px, 3vw, 36px); font-weight: 700; color: var(--t1); line-height: 1.2; margin-bottom: 16px; max-width: 640px; } .section-body { font-size: 15px; color: var(--t2); line-height: 1.75; max-width: 600px; margin-bottom: 40px; } /* BEFORE/AFTER */ .ba-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 40px; border: 1px solid var(--grid); border-radius: 6px; overflow: hidden; } .ba-col { padding: 28px 28px; } .ba-col.before { background: var(--card); } .ba-col.after { background: #1e2a20; border-left: 2px solid var(--teal); } .ba-label { font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; } .ba-col.before .ba-label { color: var(--t4); } .ba-col.after .ba-label { color: var(--teal); } .ba-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-size: 14px; color: var(--t2); line-height: 1.5; } .ba-item .icon { font-size: 13px; flex-shrink: 0; margin-top: 2px; } .ba-col.before .icon { color: var(--red); } .ba-col.after .icon { color: var(--green); } /* HOW IT WORKS */ .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--grid); border: 1px solid var(--grid); border-radius: 6px; overflow: hidden; margin-top: 40px; } .step { background: var(--card); padding: 28px 24px; position: relative; } .step-num { color: var(--teal); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; margin-bottom: 12px; } .step-title { font-size: 15px; font-weight: 700; color: var(--t1); margin-bottom: 8px; line-height: 1.3; } .step-body { font-size: 13px; color: var(--t3); line-height: 1.6; } /* DECISION BADGES DEMO */ .badge-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; } .badge { display: inline-block; padding: 4px 12px; border-radius: 3px; font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; } .badge-approve { background: #2ecc71; color: #0d1117; } .badge-monitor { background: #f39c12; color: #1a1a1a; } .badge-escalate { background: #e74c3c; color: #fff; } .badge-reprice { background: #8e44ad; color: #fff; } .badge-investigate { background: #3498db; color: #1a1a1a; } /* USE CASES */ .use-cases { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--grid); border: 1px solid var(--grid); border-radius: 6px; overflow: hidden; margin-top: 40px; } .use-case { background: var(--card); padding: 28px 24px; } .use-case-icon { width: 32px; height: 32px; border-radius: 4px; display: flex; align-items: center; justify-content: center; font-size: 16px; margin-bottom: 14px; } .use-case-title { font-size: 15px; font-weight: 700; color: var(--t1); margin-bottom: 6px; } .use-case-body { font-size: 13px; color: var(--t3); line-height: 1.6; } /* PRICING */ .pricing-card { background: var(--card); border: 1px solid var(--grid); border-top: 3px solid var(--teal); border-radius: 6px; padding: 40px; max-width: 520px; margin-top: 40px; } .pricing-title { font-size: 22px; font-weight: 700; color: var(--t1); margin-bottom: 8px; } .pricing-sub { font-size: 14px; color: var(--t3); margin-bottom: 28px; line-height: 1.6; } .pricing-features { list-style: none; margin-bottom: 28px; } .pricing-features li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--t2); margin-bottom: 10px; line-height: 1.5; } .pricing-features li::before { content: '✓'; color: var(--teal); font-weight: 700; flex-shrink: 0; } .pricing-contact { color: var(--t3); font-size: 13px; margin-top: 16px; } .pricing-contact a { color: var(--teal); text-decoration: none; } .pricing-contact a:hover { text-decoration: underline; } /* ABOUT */ .about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; margin-top: 40px; } .about-text { font-size: 15px; color: var(--t2); line-height: 1.75; } .about-text p { margin-bottom: 16px; } .about-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--grid); border: 1px solid var(--grid); border-radius: 6px; overflow: hidden; } .stat { background: var(--card); padding: 20px; } .stat-value { font-size: 28px; font-weight: 700; color: var(--teal); line-height: 1; margin-bottom: 4px; } .stat-label { font-size: 11px; color: var(--t4); text-transform: uppercase; letter-spacing: 0.08em; } /* CTA SECTION */ .cta-section { padding: 80px 48px; border-top: 1px solid var(--grid); display: flex; flex-direction: column; align-items: flex-start; gap: 24px; } .cta-title { font-size: clamp(24px, 3vw, 36px); font-weight: 700; color: var(--t1); max-width: 520px; line-height: 1.2; } .cta-title span { color: var(--teal); } .cta-sub { font-size: 15px; color: var(--t3); max-width: 440px; } /* FOOTER */ footer { padding: 32px 48px; border-top: 1px solid var(--grid); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; } .footer-wordmark { color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; } .footer-tagline { color: var(--teal); font-size: 11px; font-style: italic; margin-top: 3px; } .footer-right { font-size: 11px; color: var(--t4); text-align: right; } .footer-right a { color: var(--t4); text-decoration: none; } .footer-right a:hover { color: var(--teal); } /* RESPONSIVE */ @media (max-width: 768px) { nav { padding: 14px 20px; } .nav-links { display: none; } .hero { padding: 100px 20px 60px; } .section { padding: 60px 20px; } .teal-rule { margin: 0 20px; } .ba-grid { grid-template-columns: 1fr; } .steps { grid-template-columns: 1fr; } .use-cases { grid-template-columns: 1fr; } .about-grid { grid-template-columns: 1fr; } .cta-section { padding: 60px 20px; } footer { padding: 24px 20px; flex-direction: column; align-items: flex-start; } .footer-right { text-align: left; } }
Private credit deal intelligence

Every position.
Every covenant.
Every decision.

From documents to decisions.

Generas AI turns unstructured private credit deal documents — credit agreements, covenant schedules, financial models, board memos — into accurate, structured covenant and portfolio intelligence. Built for institutional investors managing private credit.

Request a demo See how it works

The problem

Your covenant data is buried in 140 pages of legal text

Private debt portfolio managers spend hours every quarter manually reading credit agreements, re-entering covenant thresholds into spreadsheets, and building reports by hand. One missed covenant breach can cost millions. Generas AI eliminates the manual work entirely.

Without Generas AI
Covenant clauses buried in 47-page credit agreements
Manual Excel tracking — inconsistent, error-prone
Breach discovered weeks after the test date
Reports built by hand every quarter
No time for the analysis — only the data entry
With Generas AI
Every covenant extracted, sourced, and verified in seconds
Live risk dashboard — every position, updated continuously
Breach detected the moment it occurs — not weeks later
One-click portfolio report — ready for your CIO or LPs
Your team focuses on decisions, not documents

How it works

From your document folder to a risk decision in seconds

Generas AI connects to wherever your fund stores documents — your local drive, OneDrive, or SharePoint. No migration. No integration project. No IT involvement.

01 — INGEST
Connect your document folder
Point Generas AI at your deal folder. It reads every document — credit agreements, CIMs, covenant schedules, financial models, board memos, amendment letters.
02 — EXTRACT
Every covenant, sourced and verified
Generas AI extracts every covenant threshold, financial term, and exception — with the exact source sentence and section reference. You review, edit, and confirm before anything enters the dashboard.
03 — DECIDE
Live risk intelligence, one-click reporting
Every position gets a decision — APPROVE, MONITOR, ESCALATE, REPRICE, INVESTIGATE. Headroom tracked in real time. Portfolio report generated in one click.

Decision outputs

✓ Approve Monitor Escalate Reprice Investigate

Use cases

Built for every team that manages private debt

📋
Covenant monitoring
Track headroom across every position in real time. Catch breaches before they become defaults. Know which positions need attention every Monday morning.
📊
Portfolio surveillance
Live risk dashboard across all positions. Sector concentration, leverage trends, coverage deterioration — all surfaced automatically without manual data entry.
📄
LP and CIO reporting
Generate a complete portfolio intelligence report in one click. Cover page, executive summary, deal detail pages, risk flags, and final recommendations — ready to send.
🔍
Document intelligence
Ask any question about your deal documents and get an answer with the exact source citation. No more searching through 47-page credit agreements manually.

Pricing

Tailored to your fund

Generas AI is offered as a tailored pilot engagement. We work directly with your team to configure the product for your document structure and monitoring workflow.

Pilot engagement
Start with one fund, one document folder, one quarter. See the value before committing to a full deployment.
Contact us to discuss a pilot

Or email us directly at [email protected]


About

Built by someone who understands private credit

Generas AI was built by Olfa Maalaoui, a finance professional who spent years watching private credit teams re-underwrite the same deals from scratch every quarter because their data was locked in documents.

The product started with one question: what if the covenant data was already structured, sourced, and ready to act on — before the analyst opened a single PDF?

Generas AI is the answer. The extraction layer is the product. The dashboard and reporting are what you can do once the data is accurate.

[email protected]

45
Positions monitored
<10s
Extraction time
6
Document types read
0
Manual data entry

Ready to see Generas AI on your portfolio?

We will run a live demo on a sample of your actual deal documents. No setup required. No commitment.

Request a demo