My AI Chatbot

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?

  1. 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.

  1. 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.


  2. 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.

  1. 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.


  2. 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

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?

  1. 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.

  1. 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.


  2. 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.

  1. 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.


  2. 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

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?

  1. 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.

  1. 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.


  2. 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.

  1. 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.


  2. 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

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