

My AI Chatbot
Overview

Soo…. recently I had a thought, what if I could turn myself into an AI? An AI that knows even more about me than myself…
Scary, I know, but it turned out not to be as difficult as I first thought — and soon I had a finished AI Agent that was surprisingly similar to myself. It knew a lot about me, how I was as a person, about my childhood, and even what my future plans were.
Then I wondered what if I can use this AI Agent to let people get to know me without even speaking to me?
Introducing.. "My AI Chatbot" (perhaps I should have given it a better name). However, it turned out to be the perfect idea for my portfolio website. Potential clients, employers, people I have never met — could all suddenly interview me and get to know me, without me socialising. Love it.
How did I do it?
As always I started off with some imports:
from dotenv import load_dotenv from openai import OpenAI import json import os import requests from pypdf import PdfReader
As you might know, I absolutely love the OpenAI SKD framework for building Agentic AI workflows.
Then I created 2 functions and wrapped them with the decorator @function_tool, to turn them into tools that the AI Agnet can use as it wishes.
First tool: Pushover, and application that lets you record and send notifications to yourself and your own phone! This allowed me to record all inputs users write, and sends we a message with their messages, so I can keep track of it. Yes.. I can see everything you ask me :p
Second tool: a tool that loads in a bunch of pdf and txt. files about myself and gives it to the AI Agent. Simple, but it works incredibly well. So I downloaded my Linkedin as a pdf, that's my career. Then I wrote a bunch of texts about my childhood, how I am as a person, what I enjoy, and what my future plans are.
Now for the fun part, creating my AI Agent:
def chat(self, message, history): messages = [{"role": "system", "content": self.system_prompt( )}] + history + [{"role": "user", "content": message}] done = False while not done: response = self.openai.chat.completions.create( model="gpt-4o-mini", messages=messages, tools=pushover_tools) if response.choices[0].finish_reason == "tool_calls": message = response.choices[0].message tool_calls = message.tool_calls results = self.handle_tool_call(tool_calls) messages.append(message) messages.extend(results) else: done = True return response.choices[0].message.content
Add some instructions (system_prompt) for it to act as ME, and be kind and professional, in case someone important comes across this.
And that's it! More or less. The agent is created and acts like a fully autonomous AI Agent, having access to some custom made tools by me.
Then I used a frontend by @muhammad-binsalman big thanks. I turned it into a flask web framework, and changed it to be just a complete full window of my AI chatbot, and removed some other UI components that I did not need.
All done!
Now I am sharing all of this to you, so go on, create your own AI Chatbot and let people get to know you without even having to say "Hello". [Repo]
AI Agent (Main Hub) │ ├── User Input │ └── Question │ ├── Personal Data Sources │ ├── About Me │ ├── Childhood │ ├── Career │ ├── Future │ └── What I Like │ ├── External Integrations │ ├── LinkedIn │ │ └── Profile Data │ └── Phone Notifications │ └── Send Alerts │ └── User Output └── Response
Categories
AI Agent
Python
Date
Sep 28, 2025
Client
Own Project


My AI Chatbot
Overview

Soo…. recently I had a thought, what if I could turn myself into an AI? An AI that knows even more about me than myself…
Scary, I know, but it turned out not to be as difficult as I first thought — and soon I had a finished AI Agent that was surprisingly similar to myself. It knew a lot about me, how I was as a person, about my childhood, and even what my future plans were.
Then I wondered what if I can use this AI Agent to let people get to know me without even speaking to me?
Introducing.. "My AI Chatbot" (perhaps I should have given it a better name). However, it turned out to be the perfect idea for my portfolio website. Potential clients, employers, people I have never met — could all suddenly interview me and get to know me, without me socialising. Love it.
How did I do it?
As always I started off with some imports:
from dotenv import load_dotenv from openai import OpenAI import json import os import requests from pypdf import PdfReader
As you might know, I absolutely love the OpenAI SKD framework for building Agentic AI workflows.
Then I created 2 functions and wrapped them with the decorator @function_tool, to turn them into tools that the AI Agnet can use as it wishes.
First tool: Pushover, and application that lets you record and send notifications to yourself and your own phone! This allowed me to record all inputs users write, and sends we a message with their messages, so I can keep track of it. Yes.. I can see everything you ask me :p
Second tool: a tool that loads in a bunch of pdf and txt. files about myself and gives it to the AI Agent. Simple, but it works incredibly well. So I downloaded my Linkedin as a pdf, that's my career. Then I wrote a bunch of texts about my childhood, how I am as a person, what I enjoy, and what my future plans are.
Now for the fun part, creating my AI Agent:
def chat(self, message, history): messages = [{"role": "system", "content": self.system_prompt( )}] + history + [{"role": "user", "content": message}] done = False while not done: response = self.openai.chat.completions.create( model="gpt-4o-mini", messages=messages, tools=pushover_tools) if response.choices[0].finish_reason == "tool_calls": message = response.choices[0].message tool_calls = message.tool_calls results = self.handle_tool_call(tool_calls) messages.append(message) messages.extend(results) else: done = True return response.choices[0].message.content
Add some instructions (system_prompt) for it to act as ME, and be kind and professional, in case someone important comes across this.
And that's it! More or less. The agent is created and acts like a fully autonomous AI Agent, having access to some custom made tools by me.
Then I used a frontend by @muhammad-binsalman big thanks. I turned it into a flask web framework, and changed it to be just a complete full window of my AI chatbot, and removed some other UI components that I did not need.
All done!
Now I am sharing all of this to you, so go on, create your own AI Chatbot and let people get to know you without even having to say "Hello". [Repo]
AI Agent (Main Hub) │ ├── User Input │ └── Question │ ├── Personal Data Sources │ ├── About Me │ ├── Childhood │ ├── Career │ ├── Future │ └── What I Like │ ├── External Integrations │ ├── LinkedIn │ │ └── Profile Data │ └── Phone Notifications │ └── Send Alerts │ └── User Output └── Response
Categories
AI Agent
Python
Date
Sep 28, 2025
Client
Own Project


My AI Chatbot
Overview

Soo…. recently I had a thought, what if I could turn myself into an AI? An AI that knows even more about me than myself…
Scary, I know, but it turned out not to be as difficult as I first thought — and soon I had a finished AI Agent that was surprisingly similar to myself. It knew a lot about me, how I was as a person, about my childhood, and even what my future plans were.
Then I wondered what if I can use this AI Agent to let people get to know me without even speaking to me?
Introducing.. "My AI Chatbot" (perhaps I should have given it a better name). However, it turned out to be the perfect idea for my portfolio website. Potential clients, employers, people I have never met — could all suddenly interview me and get to know me, without me socialising. Love it.
How did I do it?
As always I started off with some imports:
from dotenv import load_dotenv from openai import OpenAI import json import os import requests from pypdf import PdfReader
As you might know, I absolutely love the OpenAI SKD framework for building Agentic AI workflows.
Then I created 2 functions and wrapped them with the decorator @function_tool, to turn them into tools that the AI Agnet can use as it wishes.
First tool: Pushover, and application that lets you record and send notifications to yourself and your own phone! This allowed me to record all inputs users write, and sends we a message with their messages, so I can keep track of it. Yes.. I can see everything you ask me :p
Second tool: a tool that loads in a bunch of pdf and txt. files about myself and gives it to the AI Agent. Simple, but it works incredibly well. So I downloaded my Linkedin as a pdf, that's my career. Then I wrote a bunch of texts about my childhood, how I am as a person, what I enjoy, and what my future plans are.
Now for the fun part, creating my AI Agent:
def chat(self, message, history): messages = [{"role": "system", "content": self.system_prompt( )}] + history + [{"role": "user", "content": message}] done = False while not done: response = self.openai.chat.completions.create( model="gpt-4o-mini", messages=messages, tools=pushover_tools) if response.choices[0].finish_reason == "tool_calls": message = response.choices[0].message tool_calls = message.tool_calls results = self.handle_tool_call(tool_calls) messages.append(message) messages.extend(results) else: done = True return response.choices[0].message.content
Add some instructions (system_prompt) for it to act as ME, and be kind and professional, in case someone important comes across this.
And that's it! More or less. The agent is created and acts like a fully autonomous AI Agent, having access to some custom made tools by me.
Then I used a frontend by @muhammad-binsalman big thanks. I turned it into a flask web framework, and changed it to be just a complete full window of my AI chatbot, and removed some other UI components that I did not need.
All done!
Now I am sharing all of this to you, so go on, create your own AI Chatbot and let people get to know you without even having to say "Hello". [Repo]
AI Agent (Main Hub) │ ├── User Input │ └── Question │ ├── Personal Data Sources │ ├── About Me │ ├── Childhood │ ├── Career │ ├── Future │ └── What I Like │ ├── External Integrations │ ├── LinkedIn │ │ └── Profile Data │ └── Phone Notifications │ └── Send Alerts │ └── User Output └── Response
Categories
AI Agent
Python
Date
Sep 28, 2025
Client
Own Project




Book a call, and get work done x10 faster
© 2025 All right reserved
by Simon Stenelid


Book a call, and get work done x10 faster
© 2025 All right reserved
by Simon Stenelid


Book a call, and get work done x10 faster
© 2025 All right reserved
by Simon Stenelid

