<!DOCTYPE html> <!-- saved from url=(0095)file:///...

Créé le : 20 avril 2026

Répondu en utilisant GPT-5.4 Thinking par Chat01

Question

<!DOCTYPE html> <!-- saved from url=(0095)file:///D:/importantuploaddocumentsonlms-20260208T115709Z-1-001/Final%20Review/MARS_Poster.html --> <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>MARS – MAQ Autonomous Recruitment System | Poster</title> <link href="./MARS – MAQ Autonomous Recruitment System _ Poster_files/css2" rel="stylesheet"> <style> :root { --gold: #F5C518; --blue: #0A84FF; --teal: #00C6B8; --dark: #080C14; --panel: #0E1420; --card: #121A28; --border: #1E2D45; --text: #D8E6F5; --muted: #7A9BBF; --accent: #FF6B35; --white: #FFFFFF; }
  • { margin: 0; padding: 0; box-sizing: border-box; }

/* A1 = 594mm × 841mm → at 96dpi screen preview ≈ 2245×3179px
We target 1700px wide for browser rendering, scale with CSS. */
body {
background: #04070F;
display: flex;
justify-content: center;
padding: 20px;
font-family: 'Barlow', sans-serif;
}

.poster {
width: 1700px;
min-height: 2400px;
background: var(--dark);
position: relative;
overflow: hidden;
}

/* ── Background grid texture ── */
.poster::before {
content: '';
position: absolute; inset: 0;
background-image:
linear-gradient(rgba(10,132,255,0.04) 1px, transparent 1px),
linear-gradient(90deg, rgba(10,132,255,0.04) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
z-index: 0;
}

/* ── Glow blobs ── */
.blob {
position: absolute;
border-radius: 50%;
filter: blur(120px);
pointer-events: none;
z-index: 0;
}
.blob-1 { width:600px; height:600px; background:rgba(10,132,255,0.12); top:-100px; right:-100px; }
.blob-2 { width:500px; height:500px; background:rgba(0,198,184,0.08); bottom:200px; left:-100px; }
.blob-3 { width:400px; height:400px; background:rgba(245,197,24,0.07); top:900px; right:200px; }

/* ── HEADER ── */
.header {
position: relative; z-index: 1;
background: linear-gradient(135deg, #0A1628 0%, #0D1E38 60%, #0A1628 100%);
border-bottom: 3px solid var(--gold);
padding: 28px 48px;
display: flex;
align-items: center;
gap: 40px;
}

.header-logo-block {
display: flex;
flex-direction: column;
align-items: center;
min-width: 160px;
}

.uni-logo-box {
background: white;
border-radius: 8px;
padding: 8px 12px;
display: flex;
flex-direction: column;
align-items: center;
gap: 2px;
border: 2px solid var(--gold);
}

.uni-name {
font-family: 'Bebas Neue', sans-serif;
font-size: 22px;
color: #1A3A6C;
line-height: 1;
letter-spacing: 2px;
}

.uni-sub {
font-size: 9px;
font-weight: 700;
color: #C8281E;
letter-spacing: 1.5px;
text-transform: uppercase;
text-align: center;
}

.uni-grade {
font-size: 8px;
font-weight: 700;
background: #C8281E;
color: white;
padding: 1px 6px;
border-radius: 2px;
text-transform: uppercase;
letter-spacing: 1px;
}

.header-center {
flex: 1;
text-align: center;
}

.poster-title {
font-family: 'Bebas Neue', sans-serif;
font-size: 86px;
letter-spacing: 8px;
color: var(--white);
line-height: 1;
text-shadow: 0 0 40px rgba(10,132,255,0.5);
}

.poster-title span { color: var(--gold); }

.poster-subtitle {
font-family: 'Barlow Condensed', sans-serif;
font-size: 22px;
color: var(--teal);
letter-spacing: 4px;
text-transform: uppercase;
margin-top: 4px;
}

.poster-meta {
margin-top: 10px;
font-size: 17px;
color: var(--text);
font-weight: 300;
}

.poster-meta strong { color: var(--gold); font-weight: 600; }

.header-company {
min-width: 160px;
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
}

.company-badge {
background: white;
border-radius: 10px;
padding: 12px 20px;
border: 2px solid var(--gold);
display: flex;
flex-direction: column;
align-items: center;
gap: 3px;
}

.company-name {
font-family: 'Bebas Neue', sans-serif;
font-size: 28px;
color: #0A1628;
letter-spacing: 3px;
}

.company-sub {
font-size: 9px;
color: #444;
letter-spacing: 1px;
font-weight: 600;
text-transform: uppercase;
}

/* ── MAIN BODY ── */
.body {
position: relative; z-index: 1;
display: grid;
grid-template-columns: 420px 1fr 420px;
gap: 0;
padding: 0;
}

/* ── Column ── */
.col {
padding: 32px 28px;
display: flex;
flex-direction: column;
gap: 24px;
border-right: 1px solid var(--border);
}
.col:last-child { border-right: none; }

/* ── Section card ── */
.section {
background: var(--panel);
border: 1px solid var(--border);
border-radius: 10px;
overflow: hidden;
}

.section-header {
padding: 10px 18px;
display: flex;
align-items: center;
gap: 10px;
border-bottom: 1px solid var(--border);
}

.section-header.gold { background: linear-gradient(90deg, rgba(245,197,24,0.15), transparent); border-left: 3px solid var(--gold); }
.section-header.blue { background: linear-gradient(90deg, rgba(10,132,255,0.15), transparent); border-left: 3px solid var(--blue); }
.section-header.teal { background: linear-gradient(90deg, rgba(0,198,184,0.15), transparent); border-left: 3px solid var(--teal); }
.section-header.orange { background: linear-gradient(90deg, rgba(255,107,53,0.15), transparent); border-left: 3px solid var(--accent); }

.section-title {
font-family: 'Barlow Condensed', sans-serif;
font-size: 19px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--white);
}

.section-icon {
font-size: 18px;
}

.section-body {
padding: 16px 18px;
}

p {
font-size: 14px;
line-height: 1.65;
color: var(--text);
font-weight: 300;
}

/* ── Architecture diagram ── */
.arch-diagram {
background: var(--card);
border-radius: 8px;
padding: 20px;
display: flex;
flex-direction: column;
gap: 6px;
align-items: center;
}

.arch-node {
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
padding: 10px 20px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
text-align: center;
width: 100%;
max-width: 320px;
}

.arch-node.user { background: rgba(245,197,24,0.15); border: 1.5px solid var(--gold); color: var(--gold); }
.arch-node.teams { background: rgba(10,132,255,0.15); border: 1.5px solid var(--blue); color: var(--blue); }
.arch-node.bot { background: rgba(0,198,184,0.15); border: 1.5px solid var(--teal); color: var(--teal); }
.arch-node.ai { background: rgba(255,107,53,0.15); border: 1.5px solid var(--accent); color: var(--accent); }
.arch-node.faiss { background: rgba(150,100,255,0.15); border: 1.5px solid #967CFF; color: #967CFF; }
.arch-node.output { background: rgba(245,197,24,0.15); border: 1.5px solid var(--gold); color: var(--gold); }

.arch-arrow {
font-size: 20px;
color: var(--muted);
line-height: 1;
}

.arch-split {
display: flex;
gap: 10px;
width: 100%;
max-width: 320px;
}

.arch-split .arch-node {
flex: 1;
font-size: 11px;
padding: 8px 6px;
}

/* ── Feature pills ── */
.feature-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}

.feature-pill {
background: var(--card);
border: 1px solid var(--border);
border-radius: 6px;
padding: 10px 12px;
display: flex;
align-items: flex-start;
gap: 8px;
}

.pill-icon {
font-size: 16px;
flex-shrink: 0;
margin-top: 1px;
}

.pill-text {
font-size: 12px;
line-height: 1.5;
color: var(--text);
font-weight: 400;
}

.pill-label {
font-family: 'Barlow Condensed', sans-serif;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
color: var(--teal);
display: block;
margin-bottom: 2px;
}

/* ── Tech stack tags ── */
.tech-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
}

.tag {
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
padding: 4px 10px;
border-radius: 4px;
border: 1px solid;
font-weight: 700;
letter-spacing: 0.5px;
}

.tag.blue { background: rgba(10,132,255,0.12); border-color: rgba(10,132,255,0.5); color: #5BAEFF; }
.tag.teal { background: rgba(0,198,184,0.12); border-color: rgba(0,198,184,0.5); color: #4DDFD6; }
.tag.gold { background: rgba(245,197,24,0.12); border-color: rgba(245,197,24,0.5); color: var(--gold); }
.tag.orange{ background: rgba(255,107,53,0.12); border-color: rgba(255,107,53,0.5); color: #FF9070; }
.tag.purple{ background: rgba(150,100,255,0.12);border-color: rgba(150,100,255,0.5);color: #C0A8FF; }

/* ── Performance table ── */
.perf-table {
width: 100%;
border-collapse: collapse;
font-size: 13px;
}

.perf-table th {
background: var(--card);
color: var(--gold);
font-family: 'Barlow Condensed', sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
padding: 8px 10px;
text-align: left;
border-bottom: 1px solid var(--border);
}

.perf-table td {
padding: 7px 10px;
color: var(--text);
border-bottom: 1px solid rgba(30,45,69,0.5);
vertical-align: middle;
}

.perf-table tr:last-child td { border-bottom: none; }

.perf-val {
font-family: 'JetBrains Mono', monospace;
font-size: 13px;
font-weight: 700;
color: var(--teal);
}

/* ── Results comparison ── */
.compare-grid {
display: flex;
flex-direction: column;
gap: 6px;
}

.compare-row {
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
gap: 6px;
}

.compare-before {
background: rgba(255,255,255,0.05);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 6px;
padding: 6px 10px;
font-size: 11px;
color: var(--muted);
text-align: right;
font-weight: 600;
}

.compare-label {
background: var(--card);
border: 1px solid var(--border);
border-radius: 6px;
padding: 6px 8px;
font-size: 11px;
color: var(--text);
text-align: center;
font-family: 'Barlow Condensed', sans-serif;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
white-space: nowrap;
}

.compare-after {
background: rgba(0,198,184,0.1);
border: 1px solid rgba(0,198,184,0.3);
border-radius: 6px;
padding: 6px 10px;
font-size: 12px;
color: var(--teal);
text-align: left;
font-weight: 700;
font-family: 'JetBrains Mono', monospace;
}

.compare-header {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 6px;
margin-bottom: 4px;
}

.compare-header span {
font-family: 'Barlow Condensed', sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
padding: 4px 10px;
border-radius: 4px;
text-align: center;
}

.compare-header .ch-before { background: rgba(255,255,255,0.06); color: var(--muted); }
.compare-header .ch-vs { background: var(--gold); color: var(--dark); }
.compare-header .ch-after { background: rgba(0,198,184,0.2); color: var(--teal); }

/* ── Question tier display ── */
.tier-block {
display: flex;
flex-direction: column;
gap: 8px;
}

.tier {
background: var(--card);
border-radius: 8px;
overflow: hidden;
border: 1px solid var(--border);
}

.tier-header {
padding: 7px 14px;
display: flex;
align-items: center;
gap: 8px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 14px;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
}

.tier-header.intro { background: rgba(10,132,255,0.2); color: #5BAEFF; }
.tier-header.inter { background: rgba(245,197,24,0.2); color: var(--gold); }
.tier-header.adv { background: rgba(255,107,53,0.2); color: var(--accent); }

.tier-body {
padding: 10px 14px;
font-size: 12px;
color: var(--text);
line-height: 1.55;
}

.tier-body em {
color: var(--muted);
font-style: normal;
font-size: 11px;
font-family: 'JetBrains Mono', monospace;
}

.tier-q {
display: flex;
align-items: flex-start;
gap: 6px;
margin-bottom: 5px;
}

.tier-q:last-child { margin-bottom: 0; }

.tier-num {
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
color: var(--muted);
margin-top: 2px;
flex-shrink: 0;
}

/* ── Flow diagram ── */
.flow {
display: flex;
flex-direction: column;
gap: 5px;
align-items: center;
}

.flow-step {
background: var(--card);
border: 1px solid var(--border);
border-radius: 8px;
padding: 10px 16px;
width: 100%;
display: flex;
align-items: center;
gap: 10px;
}

.flow-step-num {
width: 26px; height: 26px;
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-family: 'Bebas Neue', sans-serif;
font-size: 16px;
flex-shrink: 0;
}

.flow-step-num.s1 { background: rgba(10,132,255,0.3); color: var(--blue); border: 1.5px solid var(--blue); }
.flow-step-num.s2 { background: rgba(245,197,24,0.3); color: var(--gold); border: 1.5px solid var(--gold); }
.flow-step-num.s3 { background: rgba(0,198,184,0.3); color: var(--teal); border: 1.5px solid var(--teal); }

.flow-step-content { flex: 1; }

.flow-step-title {
font-family: 'Barlow Condensed', sans-serif;
font-size: 14px;
font-weight: 700;
color: var(--white);
text-transform: uppercase;
letter-spacing: 1px;
}

.flow-step-desc {
font-size: 11.5px;
color: var(--muted);
margin-top: 2px;
line-height: 1.4;
}

.flow-arrow {
text-align: center;
font-size: 18px;
color: var(--muted);
line-height: 1;
}

/* ── Stat boxes ── */
.stat-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}

.stat-box {
background: var(--card);
border: 1px solid var(--border);
border-radius: 8px;
padding: 14px 12px;
text-align: center;
}

.stat-val {
font-family: 'Bebas Neue', sans-serif;
font-size: 36px;
line-height: 1;
color: var(--teal);
}

.stat-val.gold { color: var(--gold); }
.stat-val.blue { color: var(--blue); }
.stat-val.orange { color: var(--accent); }

.stat-unit {
font-size: 14px;
color: var(--muted);
font-weight: 600;
}

.stat-label {
font-size: 11px;
color: var(--muted);
margin-top: 4px;
text-transform: uppercase;
letter-spacing: 1px;
font-weight: 600;
}

/* ── Inline highlight ── */
.hl { color: var(--gold); font-weight: 600; }
.hl-teal { color: var(--teal); font-weight: 600; }
.hl-blue { color: #5BAEFF; font-weight: 600; }

/* ── Bullet list ── */
ul.mars-list {
list-style: none;
display: flex;
flex-direction: column;
gap: 5px;
padding: 0;
}

ul.mars-list li {
display: flex;
align-items: flex-start;
gap: 8px;
font-size: 13px;
color: var(--text);
line-height: 1.5;
}

ul.mars-list li::before {
content: '▸';
color: var(--teal);
flex-shrink: 0;
font-size: 12px;
margin-top: 2px;
}

/* ── Divider ── */
.divider {
height: 1px;
background: linear-gradient(90deg, transparent, var(--border), transparent);
margin: 4px 0;
}

/* ── Center column special ── */
.col-center {
padding: 32px 24px;
display: flex;
flex-direction: column;
gap: 24px;
}

/* ── Middle section full-width arch ── */
.arch-full {
background: var(--panel);
border: 1px solid var(--border);
border-radius: 10px;
overflow: hidden;
}

.arch-flow-row {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
flex-wrap: wrap;
padding: 16px;
}

.anode {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
padding: 12px 14px;
border-radius: 8px;
border: 1.5px solid;
min-width: 130px;
text-align: center;
}

.anode-icon { font-size: 22px; }

.anode-label {
font-family: 'Barlow Condensed', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 1px;
text-transform: uppercase;
}

.anode-sub {
font-size: 10px;
opacity: 0.75;
line-height: 1.3;
}

.anode.n1 { background: rgba(245,197,24,0.1); border-color: var(--gold); color: var(--gold); }
.anode.n2 { background: rgba(10,132,255,0.1); border-color: var(--blue); color: var(--blue); }
.anode.n3 { background: rgba(150,100,255,0.1); border-color: #967CFF; color: #C0A8FF; }
.anode.n4 { background: rgba(0,198,184,0.1); border-color: var(--teal); color: var(--teal); }
.anode.n5 { background: rgba(255,107,53,0.1); border-color: var(--accent); color: var(--accent); }

.flow-connector {
font-size: 22px;
color: var(--muted);
font-weight: 900;
}

.arch-split-row {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 0 16px 16px;
}

.arch-sub-nodes {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1;
}

.anode-sm {
padding: 9px 12px;
border-radius: 7px;
border: 1.5px solid;
display: flex;
align-items: center;
gap: 8px;
font-size: 12px;
font-family: 'Barlow Condensed', sans-serif;
font-weight: 700;
letter-spacing: 1px;
text-transform: uppercase;
}

.anode-sm.sm-gold { background: rgba(245,197,24,0.08); border-color: rgba(245,197,24,0.4); color: var(--gold); }
.anode-sm.sm-blue { background: rgba(10,132,255,0.08); border-color: rgba(10,132,255,0.4); color: #5BAEFF; }
.anode-sm.sm-teal { background: rgba(0,198,184,0.08); border-color: rgba(0,198,184,0.4); color: var(--teal); }
.anode-sm.sm-purple { background: rgba(150,100,255,0.08); border-color: rgba(150,100,255,0.4); color: #C0A8FF; }

.split-arrow {
font-size: 26px;
color: var(--muted);
}

/* ── FOOTER ── */
.footer {
position: relative; z-index: 1;
background: linear-gradient(135deg, #0A1628 0%, #0D1E38 100%);
border-top: 2px solid var(--gold);
padding: 16px 48px;
display: flex;
justify-content: space-between;
align-items: center;
}

.footer-left {
font-size: 13px;
color: var(--muted);
}

.footer-left strong { color: var(--text); }

.footer-center {
font-family: 'Barlow Condensed', sans-serif;
font-size: 13px;
color: var(--muted);
letter-spacing: 2px;
text-transform: uppercase;
text-align: center;
}

.footer-right {
font-size: 12px;
color: var(--muted);
text-align: right;
}

/* ── Print styles ── */
@media print {
body { padding: 0; background: none; }
.poster { width: 100%; }
}
</style>

</head> <body> <div class="poster"> <div class="blob blob-1"></div> <div class="blob blob-2"></div> <div class="blob blob-3"></div> <!-- ══════════ HEADER ══════════ --> <div class="header"> <!-- Nirma Logo --> <div class="header-logo-block"> <div class="uni-logo-box"> <div class="uni-name">NIRMA</div> <div class="uni-name" style="font-size:13px;letter-spacing:1px;color:#444">UNIVERSITY</div> <div class="uni-sub">Institute of Technology</div> <div class="uni-grade">NAAC Accredited 'A' Grade</div> </div> </div>
text
<!-- Title --> <div class="header-center"> <div class="poster-title"><span>MARS</span> — MAQ Autonomous Recruitment System</div> <div class="poster-subtitle">AI-Powered Interview Assistant · Microsoft Teams Integration</div> <div class="poster-meta"> <strong>[Your Name]</strong> &nbsp;·&nbsp; Roll No: [XXXX] &nbsp;&nbsp;|&nbsp;&nbsp; Guided by: <strong>[Supervisor Name]</strong>, MAQ Software &nbsp;&nbsp;|&nbsp;&nbsp; Department of Computer Science &amp; Engineering &nbsp;·&nbsp; 2025–26 </div> </div> <!-- Company --> <div class="header-company"> <div class="company-badge"> <div class="company-name">MAQ</div> <div class="company-sub">Software</div> <div class="company-sub" style="color:#0A84FF;font-size:8px">Microsoft Gold Partner</div> </div> </div>
</div> <!-- ══════════ BODY ══════════ --> <div class="body">
text
<!-- ═══ LEFT COLUMN ═══ --> <div class="col"> <!-- About Company --> <div class="section"> <div class="section-header gold"> <span class="section-icon">🏢</span> <span class="section-title">About the Company</span> </div> <div class="section-body"> <p><span class="hl">MAQ Software</span> is a Microsoft-certified Gold Partner and analytics engineering firm headquartered in Redmond, Washington. It specialises in Business Intelligence, data engineering, and custom enterprise solutions for Fortune 500 clients.</p> <div class="divider" style="margin:10px 0"></div> <p>The company is a leading contributor to the Power BI ecosystem with <span class="hl-teal">30+ open-source custom visuals</span>, widely used across enterprise deployments worldwide. Teams communicate and collaborate through Microsoft Teams and Azure DevOps.</p> </div> </div> <!-- Abstract --> <div class="section"> <div class="section-header blue"> <span class="section-icon">📄</span> <span class="section-title">Abstract</span> </div> <div class="section-body"> <p>The traditional recruitment pipeline involves significant manual effort: screening resumes, formulating interview questions, and dynamically adapting during live interviews. This project presents <span class="hl">MARS</span> — an intelligent, end-to-end recruitment assistant integrated natively into <span class="hl-teal">Microsoft Teams</span>.</p> <div class="divider" style="margin:10px 0"></div> <p>MARS leverages <span class="hl-blue">Azure OpenAI (GPT-4o)</span>, <span class="hl-blue">FAISS vector indexing</span>, and <span class="hl-blue">Azure Speech Services</span> to automate three recruitment phases: resume indexing, tiered question generation, and real-time live interview assistance — all within the interviewer's existing workflow.</p> </div> </div> <!-- Method --> <div class="section"> <div class="section-header teal"> <span class="section-icon">⚙️</span> <span class="section-title">Methodology</span> </div> <div class="section-body"> <div class="flow"> <div class="flow-step"> <div class="flow-step-num s1">1</div> <div class="flow-step-content"> <div class="flow-step-title">Resume Ingestion &amp; Indexing</div> <div class="flow-step-desc">Resumes (PDF/DOCX/TXT) from Azure Blob Storage are parsed, embedded via <em>text-embedding-ada-002</em>, and stored in a FAISS index for sub-millisecond semantic search.</div> </div> </div> <div class="flow-arrow">↓</div> <div class="flow-step"> <div class="flow-step-num s2">2</div> <div class="flow-step-content"> <div class="flow-step-title">Tiered Question Generation</div> <div class="flow-step-desc">On Teams command, GPT-4o generates 21 candidate-specific questions (7 per tier) in parallel with MCP web scraper fetching 50–100 market questions.</div> </div> </div> <div class="flow-arrow">↓</div> <div class="flow-step"> <div class="flow-step-num s3">3</div> <div class="flow-step-content"> <div class="flow-step-title">Live Interview Assistance</div> <div class="flow-step-desc">Bot joins Teams call, streams audio via Graph API, transcribes with Azure Speech (100–200ms), and privately delivers follow-up suggestions to the interviewer in real time.</div> </div> </div> </div> </div> </div> <!-- Tech Stack --> <div class="section"> <div class="section-header orange"> <span class="section-icon">🛠️</span> <span class="section-title">Technology Stack</span> </div> <div class="section-body"> <div class="tech-tags"> <span class="tag blue">Python 3.11</span> <span class="tag blue">Azure OpenAI</span> <span class="tag blue">GPT-4o</span> <span class="tag teal">FAISS</span> <span class="tag teal">Azure Speech</span> <span class="tag teal">Whisper</span> <span class="tag gold">Microsoft Graph API</span> <span class="tag gold">Bot Framework SDK</span> <span class="tag orange">aiohttp</span> <span class="tag orange">WebSockets</span> <span class="tag purple">Azure Blob Storage</span> <span class="tag purple">PyPDF2 · python-docx</span> <span class="tag purple">SeleniumBase</span> <span class="tag blue">text-embedding-ada-002</span> </div> </div> </div> </div> <!-- ═══ END LEFT ═══ --> <!-- ═══ CENTER COLUMN ═══ --> <div class="col col-center"> <!-- System Architecture --> <div class="arch-full"> <div class="section-header blue" style="border-radius:0"> <span class="section-icon">🏗️</span> <span class="section-title">System Architecture</span> </div> <div class="arch-flow-row"> <div class="anode n1"> <span class="anode-icon">👤</span> <span class="anode-label">Interviewer</span> <span class="anode-sub">Teams Chat Command</span> </div> <div class="flow-connector">→</div> <div class="anode n2"> <span class="anode-icon">💬</span> <span class="anode-label">Teams Bot</span> <span class="anode-sub">bot_server.py · Port 3978</span> </div> <div class="flow-connector">→</div> <div class="anode n3"> <span class="anode-icon">🗄️</span> <span class="anode-label">FAISS Index</span> <span class="anode-sub">resume_indexer.py</span> </div> <div class="flow-connector">→</div> <div class="anode n5"> <span class="anode-icon">🤖</span> <span class="anode-label">GPT-4o</span> <span class="anode-sub">Azure OpenAI</span> </div> </div> <div class="arch-split-row"> <div class="arch-sub-nodes"> <div class="anode-sm sm-blue">📞 MS Graph Calling API · Join Teams Call</div> <div class="anode-sm sm-teal">🎙️ Audio Stream → WebSocket → 16kHz PCM</div> </div> <div class="split-arrow">→</div> <div class="arch-sub-nodes"> <div class="anode-sm sm-gold">⚡ Azure Speech Services · 100–200ms latency</div> <div class="anode-sm sm-purple">💬 Private Teams Chat → Live Suggestions</div> </div> </div> </div> <!-- Question Tiers --> <div class="section"> <div class="section-header gold"> <span class="section-icon">❓</span> <span class="section-title">Tiered Question Generation</span> </div> <div class="section-body"> <div class="tier-block"> <div class="tier"> <div class="tier-header intro">🌱 &nbsp; Introductory &nbsp; <em style="font-family:JetBrains Mono,monospace;font-size:11px;opacity:0.7">7 questions · Foundational knowledge</em></div> <div class="tier-body"> <div class="tier-q"><span class="tier-num">Q1</span> What is the difference between <span class="hl-blue">var</span>, <span class="hl-blue">let</span>, and <span class="hl-blue">const</span> in JavaScript?</div> <div class="tier-q"><span class="tier-num">Q2</span> Explain Python's <span class="hl-blue">Global Interpreter Lock (GIL)</span> and its practical implications.</div> <div class="tier-q"><span class="tier-num">Q3</span> What are React hooks and why were they introduced?</div> </div> </div> <div class="tier"> <div class="tier-header inter">🔧 &nbsp; Intermediate &nbsp; <em style="font-family:JetBrains Mono,monospace;font-size:11px;opacity:0.7">7 questions · Practical application</em></div> <div class="tier-body"> <div class="tier-q"><span class="tier-num">Q1</span> How did you implement <span class="hl">microservices architecture</span> in your project and what challenges did you face?</div> <div class="tier-q"><span class="tier-num">Q2</span> Describe a difficult bug you resolved in <span class="hl">React state management</span>.</div> <div class="tier-q"><span class="tier-num">Q3</span> Walk me through the CI/CD pipeline you set up.</div> </div> </div> <div class="tier"> <div class="tier-header adv">🚀 &nbsp; Advanced &nbsp; <em style="font-family:JetBrains Mono,monospace;font-size:11px;opacity:0.7">7 questions · System design &amp; architecture</em></div> <div class="tier-body"> <div class="tier-q"><span class="tier-num">Q1</span> Design a <span class="hl" style="color:var(--accent)">globally distributed system</span> for real-time data synchronisation across regions.</div> <div class="tier-q"><span class="tier-num">Q2</span> What are the architectural trade-offs between <span class="hl" style="color:var(--accent)">monolithic vs microservices</span>?</div> <div class="tier-q"><span class="tier-num">Q3</span> How would you optimise a database with <span class="hl" style="color:var(--accent)">100M+ records</span>?</div> </div> </div> </div> </div> </div> <!-- Features --> <div class="section"> <div class="section-header teal"> <span class="section-icon">✨</span> <span class="section-title">Key Features</span> </div> <div class="section-body"> <div class="feature-grid"> <div class="feature-pill"> <span class="pill-icon">🔍</span> <div class="pill-text"> <span class="pill-label">Semantic Search</span> FAISS vector similarity search across all indexed resumes with sub-millisecond lookup. </div> </div> <div class="feature-pill"> <span class="pill-icon">🎯</span> <div class="pill-text"> <span class="pill-label">3-Tier Questions</span> Introductory → Intermediate → Advanced difficulty with 7 questions per tier. </div> </div> <div class="feature-pill"> <span class="pill-icon">🌐</span> <div class="pill-text"> <span class="pill-label">Market Questions</span> Web-scraped from GeeksforGeeks, InterviewBit delivering 50–100 additional questions. </div> </div> <div class="feature-pill"> <span class="pill-icon">🎙️</span> <div class="pill-text"> <span class="pill-label">Live Transcription</span> Azure Speech Services with 100–200ms latency or Whisper for 97–99% accuracy. </div> </div> <div class="feature-pill"> <span class="pill-icon">💬</span> <div class="pill-text"> <span class="pill-label">Private Suggestions</span> Real-time follow-up questions delivered privately to interviewer mid-call. </div> </div> <div class="feature-pill"> <span class="pill-icon">⚡</span> <div class="pill-text"> <span class="pill-label">Parallel Processing</span> AI questions and web scraping run concurrently via asyncio for speed. </div> </div> </div> </div> </div> </div> <!-- ═══ END CENTER ═══ --> <!-- ═══ RIGHT COLUMN ═══ --> <div class="col"> <!-- Results / Comparison --> <div class="section"> <div class="section-header teal"> <span class="section-icon">📊</span> <span class="section-title">Results — Time Savings</span> </div> <div class="section-body"> <div class="compare-header"> <span class="ch-before">Manual</span> <span class="ch-vs">VS</span> <span class="ch-after">MARS</span> </div> <div class="compare-grid"> <div class="compare-row"> <div class="compare-before">30–45 min</div> <div class="compare-label">Question Prep</div> <div class="compare-after">~60 s</div> </div> <div class="compare-row"> <div class="compare-before">Manual</div> <div class="compare-label">Resume Search</div> <div class="compare-after">&lt; 1 ms</div> </div> <div class="compare-row"> <div class="compare-before">15–25 Q's</div> <div class="compare-label">Total Questions</div> <div class="compare-after">65–120 Q's</div> </div> <div class="compare-row"> <div class="compare-before">None</div> <div class="compare-label">Live Suggestions</div> <div class="compare-after">200–400 ms</div> </div> <div class="compare-row"> <div class="compare-before">Manual notes</div> <div class="compare-label">Transcription</div> <div class="compare-after">Auto · 93%+</div> </div> <div class="compare-row"> <div class="compare-before">Inconsistent</div> <div class="compare-label">Coverage</div> <div class="compare-after">3-tier full</div> </div> </div> </div> </div> <!-- Performance stats --> <div class="section"> <div class="section-header gold"> <span class="section-icon">⚡</span> <span class="section-title">Performance Metrics</span> </div> <div class="section-body"> <div class="stat-grid"> <div class="stat-box"> <div class="stat-val gold">~60<span class="stat-unit">s</span></div> <div class="stat-label">First Query End-to-End</div> </div> <div class="stat-box"> <div class="stat-val">&lt;1<span class="stat-unit">ms</span></div> <div class="stat-label">FAISS Candidate Lookup</div> </div> <div class="stat-box"> <div class="stat-val blue">200<span class="stat-unit">ms</span></div> <div class="stat-label">Speech Transcription</div> </div> <div class="stat-box"> <div class="stat-val orange">120<span class="stat-unit"></span></div> <div class="stat-label">Max Questions / Candidate</div> </div> </div> <div style="margin-top:10px"> <table class="perf-table"> <tbody><tr><th>Operation</th><th>Time</th></tr> <tr><td>Index 1 resume</td><td><span class="perf-val">~10s</span></td></tr> <tr><td>Semantic search</td><td><span class="perf-val">~500ms</span></td></tr> <tr><td>AI question gen (3 tiers)</td><td><span class="perf-val">~20–30s</span></td></tr> <tr><td>Market web scraping</td><td><span class="perf-val">~30–60s</span></td></tr> <tr><td>Live suggestion delivery</td><td><span class="perf-val">200–400ms</span></td></tr> </tbody></table> </div> </div> </div> <!-- Discussion --> <div class="section"> <div class="section-header blue"> <span class="section-icon">💡</span> <span class="section-title">Discussion</span> </div> <div class="section-body"> <p>MARS demonstrated that a fully AI-powered interview assistant can be built natively within the Microsoft ecosystem without disrupting the interviewer's existing workflow. The <span class="hl">3-tier question structure</span> mirrors the natural progression of technical interviews and received strong positive feedback from recruitment team members during user acceptance testing.</p> <div class="divider" style="margin:10px 0"></div> <p>Key challenges addressed: the <span class="hl-teal">Graph Calling API</span> requires a public HTTPS endpoint (resolved via Azure App Service deployment); Whisper's 1–3s latency was unsuitable for real-time assistance, making Azure Speech the preferred engine; and FAISS name-matching required fuzzy-string fallback for query tolerance.</p> <div class="divider" style="margin:10px 0"></div> <p>UAT with 2 interviewers confirmed <span class="hl">4.5/5 satisfaction</span> for question quality and real-time suggestions, with Teams integration scoring 5/5 for seamlessness.</p> </div> </div> <!-- Conclusion --> <div class="section"> <div class="section-header orange"> <span class="section-icon">🎯</span> <span class="section-title">Conclusion &amp; Future Work</span> </div> <div class="section-body"> <ul class="mars-list"> <li>MARS successfully automates resume indexing, tiered question generation, and real-time interview assistance entirely within Microsoft Teams.</li> <li>The project provided hands-on experience with Azure cognitive services, the Microsoft Graph Calling API, and production-grade async Python development.</li> <li><strong style="color:var(--gold)">Future:</strong> Response caching for &lt;1s repeat queries; ATS integration (Greenhouse/Workday); automated candidate scoring with bias testing; multi-language support (100+ via Azure Speech).</li> <li><strong style="color:var(--gold)">Future:</strong> Post-interview summary reports auto-generated and delivered to the interviewer; parallel web scraping to cut market question retrieval to ~20s.</li> </ul> </div> </div> </div> <!-- ═══ END RIGHT ═══ -->
</div> <!-- ══════════ FOOTER ══════════ --> <div class="footer"> <div class="footer-left"> <strong>[Your Name]</strong> · [Roll No] · Dept. of Computer Science &amp; Engineering<br> Nirma University, Ahmedabad · Academic Year 2025–26 </div> <div class="footer-center"> MARS — MAQ Autonomous Recruitment System<br> <span style="color:var(--gold);font-size:11px">Internship Project · MAQ Software</span> </div> <div class="footer-right"> Guided by: [Supervisor Name]<br> MAQ Software · Microsoft Gold Partner </div> </div> </div> </body></html>

convert this to latex code and fit it in a1 size and there should be no spaces and fill the content fully and keep in geometry

Réflexion

I’m turning the poster into a single standalone LaTeX layout that uses exact A1 geometry, zero page margins, and edge-to-edge content blocks so the sheet fills fully.

Thought for 8s

Réponse

Use this as a standalone A1 LaTeX poster. It uses geometry with 594mm × 841mm, 0mm margins, and a dense 3-column layout so the page is filled fully.

Compile with XeLaTeX or LuaLaTeX.

latex
\documentclass[final]{article} \usepackage[ paperwidth=594mm, paperheight=841mm, margin=0mm ]{geometry} \usepackage{fontspec} \usepackage{xcolor} \usepackage{tikz} \usepackage[most]{tcolorbox} \usepackage{graphicx} \usepackage{multicol} \usepackage{enumitem} \usepackage{array} \usepackage{tabularx} \usepackage{ragged2e} \usepackage{setspace} \usepackage{pagecolor} \usepackage{background} \usepackage{eso-pic} \setlength{\parindent}{0pt} \setlength{\parskip}{0pt} \pagestyle{empty} % ---------- Fonts ---------- \setmainfont{TeX Gyre Heros} \newfontfamily\titlefont{TeX Gyre Heros} \newfontfamily\condfont{TeX Gyre Heros} % ---------- Colors ---------- \definecolor{gold}{HTML}{F5C518} \definecolor{blue}{HTML}{0A84FF} \definecolor{teal}{HTML}{00C6B8} \definecolor{darkbg}{HTML}{080C14} \definecolor{panel}{HTML}{0E1420} \definecolor{card}{HTML}{121A28} \definecolor{borderc}{HTML}{1E2D45} \definecolor{textc}{HTML}{D8E6F5} \definecolor{muted}{HTML}{7A9BBF} \definecolor{accent}{HTML}{FF6B35} \definecolor{whitec}{HTML}{FFFFFF} \definecolor{purplec}{HTML}{967CFF} \pagecolor{darkbg} \color{textc} % ---------- Global spacing ---------- \linespread{1.03} \setlength{\columnsep}{8mm} % ---------- Section box ---------- \newtcolorbox{sectionbox}[2][]{ enhanced, colback=panel, colframe=borderc, boxrule=0.8mm, arc=3mm, left=4mm,right=4mm,top=3mm,bottom=3mm, before skip=0mm,after skip=0mm, title=#2, fonttitle=\bfseries\Large\condfont\color{whitec}, coltitle=whitec, attach boxed title to top left={xshift=0mm,yshift=0mm}, boxed title style={ colback=#1, colframe=#1, sharp corners, boxrule=0mm, left=4mm,right=4mm,top=2mm,bottom=2mm } } % ---------- Utility ---------- \newcommand{\hlg}[1]{{\color{gold}\bfseries #1}} \newcommand{\hlt}[1]{{\color{teal}\bfseries #1}} \newcommand{\hlb}[1]{{\color{blue}\bfseries #1}} \newcommand{\hla}[1]{{\color{accent}\bfseries #1}} \newcommand{\techtag}[2]{% \tcbox[ on line, colback=#1!14!black, colframe=#1!70!white, boxrule=0.4mm, arc=1.5mm, left=2mm,right=2mm,top=1mm,bottom=1mm, boxsep=0mm ]{\footnotesize\bfseries\ttfamily\color{#1!90!white}#2} } \newcommand{\flowstep}[3]{% \begin{tcolorbox}[ enhanced, colback=card, colframe=borderc, boxrule=0.5mm, arc=2mm, left=2mm,right=2mm,top=2mm,bottom=2mm ] {\color{#1}\bfseries\Large #2}\par \vspace{1mm} {\small #3} \end{tcolorbox} } \newcommand{\featurepill}[3]{% \begin{tcolorbox}[ enhanced, colback=card, colframe=borderc, boxrule=0.4mm, arc=2mm, left=2mm,right=2mm,top=2mm,bottom=2mm, width=\linewidth ] {\color{teal}\bfseries #2}\par \vspace{0.5mm} {\small #3} \end{tcolorbox} } \newcommand{\tierbox}[3]{% \begin{tcolorbox}[ enhanced, colback=card, colframe=borderc, boxrule=0.5mm, arc=2mm, left=2mm,right=2mm,top=2mm,bottom=2mm ] {\color{#1}\bfseries\large #2}\par \vspace{1mm} {\small #3} \end{tcolorbox} } \newcommand{\statbox}[3]{% \begin{tcolorbox}[ enhanced, colback=card, colframe=borderc, boxrule=0.5mm, arc=2mm, left=2mm,right=2mm,top=2mm,bottom=2mm, width=\linewidth, halign=center ] {\fontsize{28}{30}\selectfont\bfseries\color{#1} #2}\par \vspace{1mm} {\footnotesize\bfseries\color{muted} #3} \end{tcolorbox} } \begin{document} \thispagestyle{empty} % ---------- Background grid and glows ---------- \begin{tikzpicture}[remember picture,overlay] % grid \draw[step=10mm, color=blue!10!black, line width=0.15mm] (current page.south west) grid (current page.north east); % glow blobs \fill[blue, opacity=0.08] ([xshift=-20mm,yshift=10mm]current page.north east) circle [radius=70mm]; \fill[teal, opacity=0.06] ([xshift=20mm,yshift=60mm]current page.south west) circle [radius=65mm]; \fill[gold, opacity=0.05] ([xshift=-60mm,yshift=-180mm]current page.north east) circle [radius=55mm]; \end{tikzpicture} % ---------- Full-page container ---------- \begin{minipage}[t][841mm][t]{594mm} % ================= HEADER ================= \begin{tcolorbox}[ enhanced, width=\linewidth, height=92mm, colback=blue!10!black, colframe=gold, boxrule=1mm, arc=0mm, left=10mm,right=10mm,top=7mm,bottom=6mm ] \begin{minipage}[t][75mm][c]{0.16\linewidth} \centering \begin{tcolorbox}[ colback=white, colframe=gold, boxrule=0.8mm, arc=2mm, left=3mm,right=3mm,top=3mm,bottom=3mm, width=\linewidth ] {\fontsize{20}{22}\selectfont\bfseries\color{blue!60!black} NIRMA}\par {\fontsize{11}{12}\selectfont\bfseries\color{black} UNIVERSITY}\par \vspace{1mm} {\scriptsize\bfseries\color{red!75!black} INSTITUTE OF TECHNOLOGY}\par \vspace{1mm} \tcbox[colback=red!80!black,colframe=red!80!black,arc=1mm,boxrule=0mm,left=1.5mm,right=1.5mm,top=0.8mm,bottom=0.8mm]{\scriptsize\bfseries\color{white} NAAC ACCREDITED 'A' GRADE} \end{tcolorbox} \end{minipage} \hfill \begin{minipage}[t][75mm][c]{0.62\linewidth} \centering {\fontsize{36}{38}\selectfont\bfseries\color{whitec} \textcolor{gold}{MARS} --- MAQ Autonomous Recruitment System}\par \vspace{2mm} {\fontsize{14}{16}\selectfont\bfseries\color{teal} AI-POWERED INTERVIEW ASSISTANT \textbullet\ MICROSOFT TEAMS INTEGRATION}\par \vspace{4mm} {\large \textcolor{gold}{[Your Name]} \hspace{3mm}\textbullet\hspace{3mm} Roll No: [XXXX] \hspace{5mm}\textbar\hspace{5mm} Guided by: \textcolor{gold}{[Supervisor Name]}, MAQ Software \hspace{5mm}\textbar\hspace{5mm} Department of Computer Science \& Engineering \textbullet\ 2025--26} \end{minipage} \hfill \begin{minipage}[t][75mm][c]{0.16\linewidth} \centering \begin{tcolorbox}[ colback=white, colframe=gold, boxrule=0.8mm, arc=2mm, left=3mm,right=3mm,top=4mm,bottom=4mm, width=\linewidth ] {\fontsize{24}{24}\selectfont\bfseries\color{black} MAQ}\par {\small\bfseries\color{black} Software}\par \vspace{1mm} {\scriptsize\bfseries\color{blue} Microsoft Gold Partner} \end{tcolorbox} \end{minipage} \end{tcolorbox} \vspace{4mm} % ================= BODY ================= \begin{minipage}[t][690mm][t]{0.318\linewidth} % About the Company \begin{sectionbox}[gold!25!black]{🏢\hspace{2mm}About the Company} \small \justifying \hlg{MAQ Software} is a Microsoft-certified Gold Partner and analytics engineering firm headquartered in Redmond, Washington. It specialises in Business Intelligence, data engineering, and custom enterprise solutions for Fortune 500 clients. \vspace{2mm} The company is a leading contributor to the Power BI ecosystem with \hlt{30+ open-source custom visuals}, widely used across enterprise deployments worldwide. Teams communicate and collaborate through Microsoft Teams and Azure DevOps. \end{sectionbox} \vspace{3mm} % Abstract \begin{sectionbox}[blue!25!black]{📄\hspace{2mm}Abstract} \small \justifying The traditional recruitment pipeline involves significant manual effort: screening resumes, formulating interview questions, and dynamically adapting during live interviews. This project presents \hlg{MARS} --- an intelligent, end-to-end recruitment assistant integrated natively into \hlt{Microsoft Teams}. \vspace{2mm} MARS leverages \hlb{Azure OpenAI (GPT-4o)}, \hlb{FAISS vector indexing}, and \hlb{Azure Speech Services} to automate three recruitment phases: resume indexing, tiered question generation, and real-time live interview assistance --- all within the interviewer's existing workflow. \end{sectionbox} \vspace{3mm} % Methodology \begin{sectionbox}[teal!25!black]{⚙️\hspace{2mm}Methodology} \flowstep{blue}{1. Resume Ingestion \& Indexing}{Resumes (PDF/DOCX/TXT) from Azure Blob Storage are parsed, embedded via \texttt{text-embedding-ada-002}, and stored in a FAISS index for sub-millisecond semantic search.} \vspace{2mm} \centering{\Large\color{muted}$\downarrow$}\par \vspace{2mm} \flowstep{gold}{2. Tiered Question Generation}{On Teams command, GPT-4o generates 21 candidate-specific questions (7 per tier) in parallel with MCP web scraper fetching 50--100 market questions.} \vspace{2mm} \centering{\Large\color{muted}$\downarrow$}\par \vspace{2mm} \flowstep{teal}{3. Live Interview Assistance}{Bot joins Teams call, streams audio via Graph API, transcribes with Azure Speech (100--200 ms), and privately delivers follow-up suggestions to the interviewer in real time.} \end{sectionbox} \vspace{3mm} % Tech Stack \begin{sectionbox}[accent!25!black]{🛠️\hspace{2mm}Technology Stack} \small \techtag{blue}{Python 3.11}\hspace{1mm} \techtag{blue}{Azure OpenAI}\hspace{1mm} \techtag{blue}{GPT-4o}\hspace{1mm} \techtag{teal}{FAISS}\hspace{1mm} \techtag{teal}{Azure Speech}\hspace{1mm} \techtag{teal}{Whisper}\hspace{1mm} \techtag{gold}{Microsoft Graph API}\hspace{1mm} \techtag{gold}{Bot Framework SDK}\hspace{1mm} \techtag{accent}{aiohttp}\hspace{1mm} \techtag{accent}{WebSockets}\hspace{1mm} \techtag{purplec}{Azure Blob Storage}\hspace{1mm} \techtag{purplec}{PyPDF2 / python-docx}\hspace{1mm} \techtag{purplec}{SeleniumBase}\hspace{1mm} \techtag{blue}{text-embedding-ada-002} \end{sectionbox} \end{minipage} \hfill \begin{minipage}[t][690mm][t]{0.348\linewidth} % Architecture \begin{sectionbox}[blue!25!black]{🏗️\hspace{2mm}System Architecture} \centering \begin{tikzpicture}[x=1mm,y=1mm] \node[draw=gold,fill=gold!10!black,rounded corners=2mm,minimum width=36mm,minimum height=18mm,text=gold,align=center,font=\bfseries] (n1) at (22,0) {Interviewer\\\scriptsize Teams Chat Command}; \node[draw=blue,fill=blue!10!black,rounded corners=2mm,minimum width=36mm,minimum height=18mm,text=blue,align=center,font=\bfseries] (n2) at (72,0) {Teams Bot\\\scriptsize \texttt{bot\_server.py}}; \node[draw=purplec,fill=purplec!10!black,rounded corners=2mm,minimum width=36mm,minimum height=18mm,text=purplec!80!white,align=center,font=\bfseries] (n3) at (122,0) {FAISS Index\\\scriptsize \texttt{resume\_indexer.py}}; \node[draw=accent,fill=accent!10!black,rounded corners=2mm,minimum width=36mm,minimum height=18mm,text=accent,align=center,font=\bfseries] (n4) at (172,0) {GPT-4o\\\scriptsize Azure OpenAI}; \draw[->,line width=0.8mm,color=muted] (40,0)--(54,0); \draw[->,line width=0.8mm,color=muted] (90,0)--(104,0); \draw[->,line width=0.8mm,color=muted] (140,0)--(154,0); \node[draw=blue,fill=blue!8!black,rounded corners=2mm,minimum width=80mm,minimum height=12mm,text=blue!70!white,align=center,font=\bfseries] (s1) at (55,-28) {MS Graph Calling API \textbullet\ Join Teams Call}; \node[draw=teal,fill=teal!8!black,rounded corners=2mm,minimum width=80mm,minimum height=12mm,text=teal,align=center,font=\bfseries] (s2) at (55,-44) {Audio Stream \textrightarrow\ WebSocket \textrightarrow\ 16kHz PCM}; \node[draw=gold,fill=gold!8!black,rounded corners=2mm,minimum width=84mm,minimum height=12mm,text=gold,align=center,font=\bfseries] (s3) at (145,-28) {Azure Speech Services \textbullet\ 100--200 ms}; \node[draw=purplec,fill=purplec!8!black,rounded corners=2mm,minimum width=84mm,minimum height=12mm,text=purplec!80!white,align=center,font=\bfseries] (s4) at (145,-44) {Private Teams Chat \textrightarrow\ Live Suggestions}; \draw[->,line width=0.8mm,color=muted] (96,-36)--(104,-36); \end{tikzpicture} \end{sectionbox} \vspace{3mm} % Tiered Questions \begin{sectionbox}[gold!25!black]{\hspace{2mm}Tiered Question Generation} \tierbox{blue}{🌱 Introductory \hfill \footnotesize 7 questions \textbullet\ Foundational knowledge}{ \begin{itemize}[leftmargin=5mm,itemsep=1mm,topsep=0mm] \item What is the difference between \hlb{var}, \hlb{let}, and \hlb{const} in JavaScript? \item Explain Python's \hlb{Global Interpreter Lock (GIL)} and its practical implications. \item What are React hooks and why were they introduced? \end{itemize} } \vspace{2mm} \tierbox{gold}{🔧 Intermediate \hfill \footnotesize 7 questions \textbullet\ Practical application}{ \begin{itemize}[leftmargin=5mm,itemsep=1mm,topsep=0mm] \item How did you implement \hlg{microservices architecture} in your project and what challenges did you face? \item Describe a difficult bug you resolved in \hlg{React state management}. \item Walk me through the CI/CD pipeline you set up. \end{itemize} } \vspace{2mm} \tierbox{accent}{🚀 Advanced \hfill \footnotesize 7 questions \textbullet\ System design \& architecture}{ \begin{itemize}[leftmargin=5mm,itemsep=1mm,topsep=0mm] \item Design a \hla{globally distributed system} for real-time data synchronisation across regions. \item What are the architectural trade-offs between \hla{monolithic vs microservices}? \item How would you optimise a database with \hla{100M+ records}? \end{itemize} } \end{sectionbox} \vspace{3mm} % Features \begin{sectionbox}[teal!25!black]{\hspace{2mm}Key Features} \begin{minipage}[t]{0.49\linewidth} \featurepill{teal}{Semantic Search}{FAISS vector similarity search across all indexed resumes with sub-millisecond lookup.} \vspace{2mm} \featurepill{teal}{3-Tier Questions}{Introductory $\rightarrow$ Intermediate $\rightarrow$ Advanced difficulty with 7 questions per tier.} \vspace{2mm} \featurepill{teal}{Market Questions}{Web-scraped from GeeksforGeeks and InterviewBit delivering 50--100 additional questions.} \end{minipage} \hfill \begin{minipage}[t]{0.49\linewidth} \featurepill{teal}{Live Transcription}{Azure Speech Services with 100--200 ms latency or Whisper for 97--99\% accuracy.} \vspace{2mm} \featurepill{teal}{Private Suggestions}{Real-time follow-up questions delivered privately to interviewer mid-call.} \vspace{2mm} \featurepill{teal}{Parallel Processing}{AI questions and web scraping run concurrently via asyncio for speed.} \end{minipage} \end{sectionbox} \end{minipage} \hfill \begin{minipage}[t][690mm][t]{0.318\linewidth} % Results \begin{sectionbox}[teal!25!black]{📊\hspace{2mm}Results --- Time Savings} \small \renewcommand{\arraystretch}{1.45} \begin{tabularx}{\linewidth}{|>{\raggedleft\arraybackslash}p{0.27\linewidth}|>{\centering\arraybackslash}p{0.26\linewidth}|>{\raggedright\arraybackslash}p{0.27\linewidth}|} \hline \rowcolor{card}\color{muted}\bfseries Manual & \color{gold}\bfseries VS & \color{teal}\bfseries MARS\\ \hline 30--45 min & Question Prep & \color{teal}\bfseries $\sim$60 s\\ \hline Manual & Resume Search & \color{teal}\bfseries $<1$ ms\\ \hline 15--25 Q's & Total Questions & \color{teal}\bfseries 65--120 Q's\\ \hline None & Live Suggestions & \color{teal}\bfseries 200--400 ms\\ \hline Manual notes & Transcription & \color{teal}\bfseries Auto \textbullet\ 93\%+\\ \hline Inconsistent & Coverage & \color{teal}\bfseries 3-tier full\\ \hline \end{tabularx} \end{sectionbox} \vspace{3mm} % Performance \begin{sectionbox}[gold!25!black]{\hspace{2mm}Performance Metrics} \begin{minipage}[t]{0.49\linewidth} \statbox{gold}{$\sim$60 s}{FIRST QUERY END-TO-END} \vspace{2mm} \statbox{blue}{200 ms}{SPEECH TRANSCRIPTION} \end{minipage} \hfill \begin{minipage}[t]{0.49\linewidth} \statbox{teal}{$<1$ ms}{FAISS CANDIDATE LOOKUP} \vspace{2mm} \statbox{accent}{120}{MAX QUESTIONS / CANDIDATE} \end{minipage} \vspace{3mm} \small \renewcommand{\arraystretch}{1.35} \begin{tabularx}{\linewidth}{>{\raggedright\arraybackslash}X >{\raggedright\arraybackslash}p{0.28\linewidth}} \rowcolor{card}\color{gold}\bfseries Operation & \color{gold}\bfseries Time\\ Index 1 resume & \color{teal}\bfseries $\sim$10 s\\ Semantic search & \color{teal}\bfseries $\sim$500 ms\\ AI question generation (3 tiers) & \color{teal}\bfseries $\sim$20--30 s\\ Market web scraping & \color{teal}\bfseries $\sim$30--60 s\\ Live suggestion delivery & \color{teal}\bfseries 200--400 ms\\ \end{tabularx} \end{sectionbox} \vspace{3mm} % Discussion \begin{sectionbox}[blue!25!black]{💡\hspace{2mm}Discussion} \small \justifying MARS demonstrated that a fully AI-powered interview assistant can be built natively within the Microsoft ecosystem without disrupting the interviewer's existing workflow. The \hlg{3-tier question structure} mirrors the natural progression of technical interviews and received strong positive feedback from recruitment team members during user acceptance testing. \vspace{2mm} Key challenges addressed: the \hlt{Graph Calling API} requires a public HTTPS endpoint (resolved via Azure App Service deployment); Whisper's 1--3 s latency was unsuitable for real-time assistance, making Azure Speech the preferred engine; and FAISS name-matching required fuzzy-string fallback for query tolerance. \vspace{2mm} UAT with 2 interviewers confirmed \hlg{4.5/5 satisfaction} for question quality and real-time suggestions, with Teams integration scoring 5/5 for seamlessness. \end{sectionbox} \vspace{3mm} % Conclusion \begin{sectionbox}[accent!25!black]{🎯\hspace{2mm}Conclusion \& Future Work} \small \begin{itemize}[leftmargin=6mm,itemsep=1.5mm,topsep=1mm] \item MARS successfully automates resume indexing, tiered question generation, and real-time interview assistance entirely within Microsoft Teams. \item The project provided hands-on experience with Azure cognitive services, the Microsoft Graph Calling API, and production-grade async Python development. \item \textcolor{gold}{\bfseries Future:} Response caching for $<1$ s repeat queries; ATS integration (Greenhouse/Workday); automated candidate scoring with bias testing; multi-language support (100+ via Azure Speech). \item \textcolor{gold}{\bfseries Future:} Post-interview summary reports auto-generated and delivered to the interviewer; parallel web scraping to cut market question retrieval to $\sim$20 s. \end{itemize} \end{sectionbox} \end{minipage} \vfill % ================= FOOTER ================= \begin{tcolorbox}[ enhanced, width=\linewidth, height=50mm, colback=blue!10!black, colframe=gold, boxrule=0.8mm, arc=0mm, left=10mm,right=10mm,top=5mm,bottom=5mm ] \begin{minipage}[t]{0.33\linewidth} \small \textcolor{whitec}{\bfseries [Your Name]} \textbullet\ [Roll No] \textbullet\ Dept. of Computer Science \& Engineering\\ Nirma University, Ahmedabad \textbullet\ Academic Year 2025--26 \end{minipage} \hfill \begin{minipage}[t]{0.33\linewidth} \centering {\bfseries\large MARS --- MAQ Autonomous Recruitment System}\\ {\small\color{gold} Internship Project \textbullet\ MAQ Software} \end{minipage} \hfill \begin{minipage}[t]{0.28\linewidth} \raggedleft \small Guided by: [Supervisor Name]\\ MAQ Software \textbullet\ Microsoft Gold Partner \end{minipage} \end{tcolorbox} \end{minipage} \end{document}

A few notes:

  • This is already set to A1 with geometry.
  • It uses 0mm margins so the content fills the page.
  • Replace [Your Name], [XXXX], and [Supervisor Name].
  • If you want, I can also give you a more polished “conference-poster” version using tikzposter or a strict Nirma University academic poster style.

Partager cette Q&R