me / app.py
nexusbert's picture
push
67f5e6f
import gradio as gr
import os
custom_css = """
.gradio-container {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.portfolio-header {
text-align: center;
padding: 2rem 0;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
border-radius: 10px;
margin-bottom: 2rem;
}
.section {
margin: 2rem 0;
padding: 1.5rem;
background: #f8f9fa;
border-radius: 8px;
border-left: 4px solid #667eea;
}
.skill-tag {
display: inline-block;
padding: 0.5rem 1rem;
margin: 0.3rem;
background: #667eea;
color: white;
border-radius: 20px;
font-size: 0.9rem;
}
.tech-tag {
display: inline-block;
padding: 0.4rem 0.8rem;
margin: 0.2rem;
background: #764ba2;
color: white;
border-radius: 15px;
font-size: 0.85rem;
}
.project-card {
padding: 1.5rem;
margin: 1rem 0;
background: white;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
border-top: 3px solid #667eea;
}
.contact-info {
padding: 1.5rem;
margin: 1rem 0;
background: white;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.contact-link {
color: #667eea;
text-decoration: none;
font-weight: 500;
}
.contact-link:hover {
color: #764ba2;
text-decoration: underline;
}
.proof-of-work {
text-align: center;
padding: 2rem;
margin: 2rem 0;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-radius: 10px;
}
.proof-of-work-link {
font-size: 1.5rem;
font-weight: 900;
color: white;
text-decoration: none;
display: inline-block;
padding: 1rem 2rem;
margin: 0.5rem;
background: rgba(255, 255, 255, 0.2);
border-radius: 8px;
border: 2px solid white;
transition: all 0.3s ease;
}
.proof-of-work-link:hover {
background: rgba(255, 255, 255, 0.3);
transform: scale(1.05);
text-decoration: none;
color: white;
}
"""
def create_portfolio():
profile_image_path = None
possible_image_paths = [
"IMG_4098.JPG", "IMG_4098.jpg", "IMG_4098.jpeg",
"profile.jpg", "profile.jpeg", "profile.png",
"dp.jpg", "dp.jpeg", "dp.png",
"portfolio.jpg", "portfolio.jpeg", "portfolio.png"
]
# Check for any JPG/JPEG/PNG files in current directory
for path in possible_image_paths:
if os.path.exists(path):
profile_image_path = path
break
# If still not found, search for any image file
if not profile_image_path:
for file in os.listdir("."):
if file.lower().endswith(('.jpg', '.jpeg', '.png', '.gif', '.webp')):
profile_image_path = file
break
if not profile_image_path:
profile_image_path = None
with gr.Blocks(css=custom_css, theme=gr.themes.Soft()) as portfolio:
gr.HTML("""
<div class="portfolio-header">
<h1>AI Engineer & Founding Engineer</h1>
<p style="font-size: 1.2rem; margin-top: 0.5rem;">Building Production-Ready AI Systems</p>
</div>
""")
with gr.Row():
with gr.Column(scale=1):
if profile_image_path:
gr.Image(value=profile_image_path, label="Profile Picture", height=300, show_label=True)
else:
gr.Image(label="Profile Picture", height=300, show_label=True, value=None)
with gr.Column(scale=2):
# About Me Section
gr.Markdown("""
## About Me
I am an AI Engineer and Founding Engineer with strong experience in building real-world AI systems end-to-end: from data, model development, infrastructure, to deployment. I specialize in creating production-ready ML pipelines, LLM applications, agent systems, and scalable backend services.
I blend machine learning, software engineering, and product thinking to turn ideas into working AI solutions.
**Yes, I use AI tools** β€” for further research, faster debugging, and as a tool to enhance my development workflow and productivity.
""")
# Proof of Work Section
gr.HTML("""
<div class="proof-of-work">
<h2 style="color: white; margin-bottom: 1rem;">Proof of Work</h2>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem;">
<a href="https://huggingface.co/nexusbert" class="proof-of-work-link" target="_blank">
View My Work on Hugging Face
</a>
<a href="https://github.com/neuralnex" class="proof-of-work-link" target="_blank">
View My Work on GitHub
</a>
</div>
</div>
""")
# Core Skills Section
gr.Markdown("""
## Core Skills
""")
with gr.Tabs():
with gr.Tab("Machine Learning / Deep Learning"):
gr.Markdown("""
- **Model training, fine-tuning & evaluation**
- **NLP, CV, Multimodal systems**
- **RAG, embeddings**
- **Deployment on GPU instances (Huggingface)**
- **MLOps (TGI, vLLM, Docker)**
""")
with gr.Tab("LLM Engineering"):
gr.Markdown("""
- **Prompt engineering**
- **Agentic workflows**
- **Custom tools & function calling**
- **Fine-tuning models (LoRA, QLoRA)**
- **Building AI assistants & APIs**
- **RAG pipelines with structured knowledge**
""")
with gr.Tab("Software / Backend Engineering"):
gr.Markdown("""
- **Node.js (TypeScript), Python**
- **FAST APIs**
- **Microservices architecture**
- **Authentication, payments, dashboards**
- **Real-time systems, event queues**
""")
with gr.Tab("AI Infrastructure"):
gr.Markdown("""
- **Docker & containerization**
- **TGI / vLLM inference servers**
- **Load balancing & scaling**
- **On-prem & cloud GPU orchestration**
""")
# Technologies Section
gr.Markdown("""
## Technologies I Use
""")
with gr.Row():
with gr.Column():
gr.Markdown("""
### Languages
- **Python**
- **TypeScript (Node.js)**
""")
with gr.Column():
gr.Markdown("""
### Frameworks & Tools
- **PyTorch**
- **Hugging Face**
- **Transformers**
- **Gradio**
- **FastAPI / Express**
- **Docker**
- **GitHub Actions**
- **Nginx**
""")
gr.Markdown("""
## Featured Projects
""")
with gr.Column():
# Project 1: Zurri
with gr.Group():
gr.Markdown("""
### Zurri β€” AI Agent Marketplace & Model Proxy
**Role:** Founding Engineer
**Tech Stack:** Node.js, TypeScript, Docker, TGI, HuggingFace models
**Highlights:**
- Built scalable API proxy for creators to sell AI models/agents
- Integration with Stripe & Flutterwave
- Dynamic UI rendering for purchased agents
- Backend architecture and optimization
- Model access rate-limiting, security, and analytics
""")
# Project 2: Think Inclusion
with gr.Group():
gr.Markdown("""
### Think Inclusion β€” AI Sign Language + Speech Translator
**Role:** Architecture Designer
**Status:** Model in production
**Tech Stack:** Deep learning, computer vision, transformers
**Highlights:**
- Real-time translation of sign language + speech
- Multimodal pipeline design
- Optimized for speed and accuracy
""")
# Project 3: AI Agriculture Intelligence System
with gr.Group():
gr.Markdown("""
### AI Agriculture Intelligence System
**Role:** STT/TTS engineer
**Models Used:**
- NCAIR models
- Yarngpt
- Multi-model ecosystem
""")
# Contact Section
gr.Markdown("""
## Contact Me
""")
gr.HTML("""
<div class="contact-info">
<p style="font-size: 1.1rem; margin-bottom: 1rem;">
<strong>πŸ“§ Email:</strong>
<a href="mailto:omezirizion@gmail.com" class="contact-link">omezirizion@gmail.com</a>
</p>
<p style="font-size: 1.1rem; margin-bottom: 1rem;">
<strong>πŸ“ž Phone:</strong>
<a href="tel:+2347052284817" class="contact-link">+2347052284817</a>
</p>
<p style="font-size: 1.1rem; margin-bottom: 0;">
<strong>πŸ’¬ WhatsApp:</strong>
<a href="https://wa.me/2349123809756" class="contact-link" target="_blank">09123809756</a>
</p>
</div>
""")
# Footer
gr.Markdown("""
---
<div style="text-align: center; padding: 2rem; color: #666;">
<p>Built with Gradio</p>
</div>
""")
return portfolio
if __name__ == "__main__":
portfolio = create_portfolio()
portfolio.launch()