#WebDev

How I Built My AI-Powered Portfolio with Flask

Dec 18, 2025 | By Ijaj Hussain

As a System Analyst and Python enthusiast, I didn't want a generic drag-and-drop portfolio. I wanted something that proved I could code, manage a backend, and deploy a real application. That’s why I chose Flask.

1. The Tech Stack

I kept the stack simple but powerful. I used Python & Flask for the backend routing, Jinja2 for dynamic HTML templating, and vanilla CSS/JavaScript for the frontend. No heavy frameworks like React—just pure, clean code.

2. The AI Chatbot (Elia)

The highlight of this site is Elia, my virtual assistant. Instead of a boring contact form, users can chat with Elia to learn about my skills.

I built Elia using a JSON-based intent system. The frontend uses JavaScript `fetch` API to send messages to Flask, which processes the input and finds the best matching response from my `intents.json` file.

# A snippet of the logic
if message in intents:
  return response
else:
  return "I'm still learning!"

3. Deployment on Render

I deployed the site using Render. I created a `Procfile` to tell the server to use Gunicorn as the production server. This ensures the site is fast and stable, unlike the built-in Flask development server.

Conclusion

Building this portfolio taught me that you don't need complex tools to build something professional. Python and Flask provide everything needed to create a fast, dynamic, and personalized web presence.

Back to Blog