angkit007 commited on
Commit
7f40688
·
1 Parent(s): d8efb74
Files changed (2) hide show
  1. app.py +129 -75
  2. requirements.txt +1 -0
app.py CHANGED
@@ -10,6 +10,7 @@ and playable instead of buried in a bullet point.
10
 
11
  import gradio as gr
12
  import numpy as np
 
13
  import spaces
14
  from sklearn.feature_extraction.text import TfidfVectorizer
15
  from sklearn.metrics.pairwise import cosine_similarity
@@ -87,6 +88,39 @@ EXAMPLE_QUERIES = [
87
  "What certifications do you have?",
88
  ]
89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  # ---------------------------------------------------------------------------
91
  # Styling — dark "console" theme matching the static-site edition
92
  # ---------------------------------------------------------------------------
@@ -154,6 +188,33 @@ CUSTOM_CSS = """
154
  .gradio-container button:hover {
155
  transform: translateY(-2px);
156
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  """
158
 
159
  with gr.Blocks(title="Angkit Sarma — Living CV") as demo:
@@ -192,86 +253,79 @@ with gr.Blocks(title="Angkit Sarma — Living CV") as demo:
192
  ask_btn.click(fn=ask_the_cv, inputs=[query_box, chatbot], outputs=[chatbot, query_box])
193
  query_box.submit(fn=ask_the_cv, inputs=[query_box, chatbot], outputs=[chatbot, query_box])
194
 
195
- gr.HTML('<p class="section-label">// summary</p>')
196
- gr.Markdown(
197
- "Results-driven AI/ML Engineer with 4+ years designing, training, and deploying machine "
198
- "learning and generative AI systems that solve real business problems. Proven track record "
199
- "building agentic AI and LLM-powered applications, optimizing semantic search and NLP "
200
- "pipelines, and automating end-to-end ML workflows from data processing to production "
201
- "deployment. Combines strong ML engineering fundamentals with cloud deployment, MLOps, and "
202
- "application security expertise to ship secure, scalable, high-impact AI solutions."
203
- )
 
 
 
 
 
 
204
 
205
- gr.HTML('<p class="section-label">// experience</p>')
206
- with gr.Accordion("Software Developer (AI/ML Focus) — Flexday AI, Hyderabad · Nov 2022 – Present", open=True):
207
- gr.Markdown(
208
- "- Built and pitched **INFERA**, an AI-powered agentic solution that maps sales projects "
209
- "to real-world opportunities — 1st place at the Flexday AI Hackathon\n"
210
- "- Optimized a semantic search system using LLM/embedding-based techniques, improving "
211
- "retrieval performance by **50%**\n"
212
- "- Designed automated, AI-assisted workflows across departments, cutting process cycle "
213
- "time by 5% and freeing 10+ hours/month\n"
214
- "- Implemented OCR-based data extraction pipelines across diverse image collections\n"
215
- "- Identified and remediated critical security vulnerabilities, mitigating million-dollar "
216
- "risk exposure\n"
217
- "- Streamlined CI/CD build pipelines using Git, GitHub, Jira, and Azure DevOps"
218
- )
219
- with gr.Accordion("Machine Learning Engineer — Leokraft Technologies, Bangalore · Dec 2021 – Dec 2022", open=False):
220
- gr.Markdown(
221
- "- Designed, trained, and deployed end-to-end ML models into production, improving "
222
- "accuracy by **8%** while cutting infrastructure costs by **20%**\n"
223
- "- Engineered a key target-variable feature that improved model accuracy by 5%\n"
224
- "- Built an end-to-end application for managing model scores and usage statistics"
225
- )
226
- with gr.Accordion("Senior Faculty — CodingZen, Delhi · Jul 2018 – Jul 2019", open=False):
227
- gr.Markdown(
228
- "- Taught 100+ students full-stack web development with Node.js\n"
229
- "- Supervised and mentored a team of teaching staff"
230
- )
231
 
232
- gr.HTML('<p class="section-label">// projects</p>')
233
- with gr.Row():
234
- with gr.Column():
235
- gr.Markdown("**INFERA** — Agentic AI Sales-Opportunity Mapper\n\n*LLMs · AI Agents · Python*\n\nAn AI agent that analyzes sales pipeline data and autonomously maps projects to real-world business opportunities.\n\n🏆 1st Place — Flexday AI Hackathon")
236
- with gr.Column():
237
- gr.Markdown("**Analytica** — End-to-End ML Analytics Platform\n\n*React · Python · Azure · SQL*\n\nFull-stack analytics tool surfacing ML model performance metrics and usage statistics.")
238
- with gr.Column():
239
- gr.Markdown("**Predictive Allocation** — ML Deployment Pipeline\n\n*Python · Azure SQL · Azure Blob · DevOps*\n\nRe-engineered end-to-end training/deployment pipeline; hardened security with Snyk and Wiz.")
240
- gr.HTML(
241
- '<p style="font-family:monospace; font-size:13px; margin-top:6px;">'
242
- '<a href="https://github.com/angkit-hash" target="_blank" style="color:#4fd1c5; text-decoration:none; border-bottom:1px solid #4fd1c5;">'
243
- '→ View source &amp; more projects on GitHub</a></p>'
244
- )
245
 
246
- gr.HTML('<p class="section-label">// skills</p>')
247
- gr.Markdown(
248
- "**AI/ML & GenAI:** LLMs · Generative AI · Agentic AI · Prompt Engineering · Semantic Search · "
249
- "Classification · Regression · Decision Trees · SMOTE · OCR/NLP\n\n"
250
- "**Programming:** Python · JavaScript · Node.js\n\n"
251
- "**Cloud & MLOps:** Microsoft Azure · Azure SQL · Azure Blob · Serverless · Virtual Machines · CI/CD\n\n"
252
- "**Tools & Practices:** Git · GitHub · Jira · Azure DevOps · Snyk · Wiz · Agile"
253
- )
254
 
255
- gr.HTML('<p class="section-label">// certifications & education</p>')
256
- with gr.Row():
257
- with gr.Column():
258
- gr.Markdown(
259
- "**Certifications & Honors**\n\n"
260
- "- Building with the Claude API\n"
261
- "- Generative AI (Professional Certificate)\n"
262
- "- AI Fluency: Framework & Foundations\n"
263
- "- Machine Learning for Leaders\n"
264
- "- Analyze Box Office Data with Seaborn and Python\n"
265
- "- 1st Place — Flexday AI Hackathon (INFERA)"
266
  )
267
- with gr.Column():
268
- gr.Markdown(
269
- "**Education**\n\n"
270
- "**M.Tech, Information Technology** — Tezpur University · 2019–2021\n"
271
- "- Graduated with Distinction — 8.69 CGPA\n"
272
- "- Full-time AICTE scholarship recipient\n\n"
273
- "**B.Tech, Computer Science & Engineering** — KIET · 2012–2016\n"
274
- "- Secured First Division"
275
  )
276
 
277
  if __name__ == "__main__":
 
10
 
11
  import gradio as gr
12
  import numpy as np
13
+ import pandas as pd
14
  import spaces
15
  from sklearn.feature_extraction.text import TfidfVectorizer
16
  from sklearn.metrics.pairwise import cosine_similarity
 
88
  "What certifications do you have?",
89
  ]
90
 
91
+ # ---------------------------------------------------------------------------
92
+ # Leaderboard-style tables — sortable, scannable, MTEB-inspired.
93
+ # ---------------------------------------------------------------------------
94
+ SKILLS_DF = pd.DataFrame([
95
+ {"Category": "AI/ML & GenAI", "Skills": "LLMs, Generative AI, Agentic AI, Prompt Engineering, Semantic Search, Classification, Regression, Decision Trees, SMOTE, OCR/NLP"},
96
+ {"Category": "Programming", "Skills": "Python, JavaScript, Node.js"},
97
+ {"Category": "Cloud & MLOps", "Skills": "Microsoft Azure, Azure SQL, Azure Blob, Serverless, Virtual Machines, CI/CD"},
98
+ {"Category": "Tools & Practices", "Skills": "Git, GitHub, Jira, Azure DevOps, Snyk, Wiz, Agile"},
99
+ ])
100
+
101
+ IMPACT_DF = pd.DataFrame([
102
+ {"Metric": "Hackathon placement", "Company": "Flexday AI (INFERA)", "Result": "🏆 1st"},
103
+ {"Metric": "Semantic search retrieval improvement", "Company": "Flexday AI", "Result": "+50%"},
104
+ {"Metric": "Infrastructure cost reduction", "Company": "Leokraft", "Result": "-20%"},
105
+ {"Metric": "ML model accuracy improvement", "Company": "Leokraft", "Result": "+8%"},
106
+ {"Metric": "Feature-engineering accuracy gain", "Company": "Leokraft", "Result": "+5%"},
107
+ {"Metric": "Process cycle-time reduction", "Company": "Flexday AI", "Result": "-5%"},
108
+ {"Metric": "Students taught (full-stack web dev)", "Company": "CodingZen", "Result": "100+"},
109
+ ])
110
+
111
+ CERTS_DF = pd.DataFrame([
112
+ {"Certification": "Building with the Claude API", "Focus": "LLM application development"},
113
+ {"Certification": "Generative AI (Professional Certificate)", "Focus": "Generative AI fundamentals"},
114
+ {"Certification": "AI Fluency: Framework & Foundations", "Focus": "Applied AI literacy"},
115
+ {"Certification": "Machine Learning for Leaders", "Focus": "ML strategy"},
116
+ {"Certification": "Analyze Box Office Data with Seaborn and Python", "Focus": "Data analysis & visualization"},
117
+ ])
118
+
119
+ EDUCATION_DF = pd.DataFrame([
120
+ {"Degree": "M.Tech, Information Technology", "Institution": "Tezpur University", "Years": "2019–2021", "Highlight": "Distinction, 8.69 CGPA, full AICTE scholarship"},
121
+ {"Degree": "B.Tech, Computer Science & Engineering", "Institution": "KIET Group of Institutions", "Years": "2012–2016", "Highlight": "First Division"},
122
+ ])
123
+
124
  # ---------------------------------------------------------------------------
125
  # Styling — dark "console" theme matching the static-site edition
126
  # ---------------------------------------------------------------------------
 
188
  .gradio-container button:hover {
189
  transform: translateY(-2px);
190
  }
191
+ .tabs > .tab-nav {
192
+ border-bottom: 1px solid #2a3040 !important;
193
+ gap: 4px !important;
194
+ }
195
+ .tabs > .tab-nav button {
196
+ font-family: monospace !important;
197
+ font-size: 13px !important;
198
+ color: #9aa3b5 !important;
199
+ border: none !important;
200
+ background: transparent !important;
201
+ padding: 10px 16px !important;
202
+ }
203
+ .tabs > .tab-nav button.selected {
204
+ color: var(--amber) !important;
205
+ border-bottom: 2px solid var(--amber) !important;
206
+ font-weight: 600 !important;
207
+ }
208
+ table {
209
+ font-size: 13.5px !important;
210
+ }
211
+ thead th {
212
+ font-family: monospace !important;
213
+ text-transform: uppercase !important;
214
+ font-size: 11px !important;
215
+ letter-spacing: 0.06em !important;
216
+ color: var(--amber) !important;
217
+ }
218
  """
219
 
220
  with gr.Blocks(title="Angkit Sarma — Living CV") as demo:
 
253
  ask_btn.click(fn=ask_the_cv, inputs=[query_box, chatbot], outputs=[chatbot, query_box])
254
  query_box.submit(fn=ask_the_cv, inputs=[query_box, chatbot], outputs=[chatbot, query_box])
255
 
256
+ with gr.Tabs():
257
+ with gr.Tab("Overview"):
258
+ gr.Markdown(
259
+ "Results-driven AI/ML Engineer with 4+ years designing, training, and deploying machine "
260
+ "learning and generative AI systems that solve real business problems. Proven track record "
261
+ "building agentic AI and LLM-powered applications, optimizing semantic search and NLP "
262
+ "pipelines, and automating end-to-end ML workflows from data processing to production "
263
+ "deployment. Combines strong ML engineering fundamentals with cloud deployment, MLOps, and "
264
+ "application security expertise to ship secure, scalable, high-impact AI solutions."
265
+ )
266
+ gr.HTML('<p class="section-label" style="margin-top:22px;">// impact metrics</p>')
267
+ gr.Dataframe(
268
+ value=IMPACT_DF, interactive=False, wrap=True,
269
+ column_widths=["55%", "25%", "20%"],
270
+ )
271
 
272
+ with gr.Tab("Experience"):
273
+ with gr.Accordion("Software Developer (AI/ML Focus) — Flexday AI, Hyderabad · Nov 2022 – Present", open=True):
274
+ gr.Markdown(
275
+ "- Built and pitched **INFERA**, an AI-powered agentic solution that maps sales projects "
276
+ "to real-world opportunities — 1st place at the Flexday AI Hackathon\n"
277
+ "- Optimized a semantic search system using LLM/embedding-based techniques, improving "
278
+ "retrieval performance by **50%**\n"
279
+ "- Designed automated, AI-assisted workflows across departments, cutting process cycle "
280
+ "time by 5% and freeing 10+ hours/month\n"
281
+ "- Implemented OCR-based data extraction pipelines across diverse image collections\n"
282
+ "- Identified and remediated critical security vulnerabilities, mitigating million-dollar "
283
+ "risk exposure\n"
284
+ "- Streamlined CI/CD build pipelines using Git, GitHub, Jira, and Azure DevOps"
285
+ )
286
+ with gr.Accordion("Machine Learning Engineer — Leokraft Technologies, Bangalore · Dec 2021 – Dec 2022", open=False):
287
+ gr.Markdown(
288
+ "- Designed, trained, and deployed end-to-end ML models into production, improving "
289
+ "accuracy by **8%** while cutting infrastructure costs by **20%**\n"
290
+ "- Engineered a key target-variable feature that improved model accuracy by 5%\n"
291
+ "- Built an end-to-end application for managing model scores and usage statistics"
292
+ )
293
+ with gr.Accordion("Senior Faculty — CodingZen, Delhi · Jul 2018 – Jul 2019", open=False):
294
+ gr.Markdown(
295
+ "- Taught 100+ students full-stack web development with Node.js\n"
296
+ "- Supervised and mentored a team of teaching staff"
297
+ )
298
 
299
+ with gr.Tab("Projects"):
300
+ with gr.Row():
301
+ with gr.Column():
302
+ gr.Markdown("**INFERA** — Agentic AI Sales-Opportunity Mapper\n\n*LLMs · AI Agents · Python*\n\nAn AI agent that analyzes sales pipeline data and autonomously maps projects to real-world business opportunities.\n\n🏆 1st Place — Flexday AI Hackathon")
303
+ with gr.Column():
304
+ gr.Markdown("**Analytica** — End-to-End ML Analytics Platform\n\n*React · Python · Azure · SQL*\n\nFull-stack analytics tool surfacing ML model performance metrics and usage statistics.")
305
+ with gr.Column():
306
+ gr.Markdown("**Predictive Allocation** — ML Deployment Pipeline\n\n*Python · Azure SQL · Azure Blob · DevOps*\n\nRe-engineered end-to-end training/deployment pipeline; hardened security with Snyk and Wiz.")
307
+ gr.HTML(
308
+ '<p style="font-family:monospace; font-size:13px; margin-top:10px;">'
309
+ '<a href="https://github.com/angkit-hash" target="_blank" style="color:#4fd1c5; text-decoration:none; border-bottom:1px solid #4fd1c5;">'
310
+ '→ View source &amp; more projects on GitHub</a></p>'
311
+ )
312
 
313
+ with gr.Tab("Skills"):
314
+ gr.Dataframe(
315
+ value=SKILLS_DF, interactive=False, wrap=True,
316
+ column_widths=["25%", "75%"],
317
+ )
 
 
 
318
 
319
+ with gr.Tab("Certifications & Education"):
320
+ gr.HTML('<p class="section-label">Certifications</p>')
321
+ gr.Dataframe(
322
+ value=CERTS_DF, interactive=False, wrap=True,
323
+ column_widths=["55%", "45%"],
 
 
 
 
 
 
324
  )
325
+ gr.HTML('<p class="section-label" style="margin-top:22px;">Education</p>')
326
+ gr.Dataframe(
327
+ value=EDUCATION_DF, interactive=False, wrap=True,
328
+ column_widths=["30%", "28%", "14%", "28%"],
 
 
 
 
329
  )
330
 
331
  if __name__ == "__main__":
requirements.txt CHANGED
@@ -2,3 +2,4 @@ gradio==6.20.0
2
  spaces
3
  scikit-learn>=1.3
4
  numpy>=1.24
 
 
2
  spaces
3
  scikit-learn>=1.3
4
  numpy>=1.24
5
+ pandas>=2.0