| | 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" |
| | ] |
| | |
| | |
| | for path in possible_image_paths: |
| | if os.path.exists(path): |
| | profile_image_path = path |
| | break |
| | |
| | |
| | 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): |
| | |
| | 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. |
| | """) |
| | |
| | |
| | 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> |
| | """) |
| | |
| | |
| | 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** |
| | """) |
| | |
| | |
| | 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(): |
| | |
| | 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 |
| | """) |
| | |
| | |
| | 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 |
| | """) |
| | |
| | |
| | with gr.Group(): |
| | gr.Markdown(""" |
| | ### AI Agriculture Intelligence System |
| | |
| | **Role:** STT/TTS engineer |
| | **Models Used:** |
| | - NCAIR models |
| | - Yarngpt |
| | - Multi-model ecosystem |
| | """) |
| | |
| | |
| | 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> |
| | """) |
| | |
| | |
| | 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() |
| |
|
| |
|