Instagram Post Scheduler – FuzzuTech πŸ”₯ (Auto Reminder Python App)

 Demo :


Click Video πŸ‘‡πŸ‘‡πŸ‘‡





















✨ Features to Mention:

  • Built with customtkinter

  • Schedules IG post reminders with image preview

  • Lightweight & open-source

  • Great for creators, marketers, and developers

  • Unique interface & minimal design

  • Works offline!


Code :


import customtkinter as ctk

from tkinter import filedialog, messagebox

from PIL import Image, ImageTk

import threading, datetime, time

import os


# App setup

ctk.set_appearance_mode("dark")

ctk.set_default_color_theme("blue")


app = ctk.CTk()

app.geometry("600x600")

app.title("πŸ“… Instagram Post Scheduler - FuzzuTech")


# Image placeholder

img_label = ctk.CTkLabel(app, text="No Image Selected")

img_label.pack(pady=10)


# Caption entry

caption_entry = ctk.CTkTextbox(app, height=100)

caption_entry.insert("0.0", "Enter your Instagram caption here...")

caption_entry.pack(pady=10)


# Date-time entry

date_entry = ctk.CTkEntry(app, placeholder_text="YYYY-MM-DD HH:MM (24hr format)")

date_entry.pack(pady=10)


scheduled_image_path = ""


# Image selection

def select_image():

    global scheduled_image_path

    path = filedialog.askopenfilename(filetypes=[("Image Files", "*.png;*.jpg;*.jpeg")])

    if path:

        scheduled_image_path = path

        img = Image.open(path)

        img = img.resize((300, 300))

        photo = ImageTk.PhotoImage(img)

        img_label.configure(image=photo, text="")

        img_label.image = photo


# Show reminder popup

def show_reminder(img_path, caption):

    os.startfile(img_path)  # Opens image file

    messagebox.showinfo("⏰ Post Reminder", f"Time to post on Instagram!\n\nCaption:\n{caption}")


# Schedule the post

def schedule_post():

    if not scheduled_image_path:

        messagebox.showerror("Error", "Please select an image first.")

        return


    user_input = date_entry.get().strip()  # Strip whitespace and invisible chars

    try:

        post_time = datetime.datetime.strptime(user_input, "%Y-%m-%d %H:%M")

    except ValueError:

        messagebox.showerror("Invalid Format", "Use format YYYY-MM-DD HH:MM")

        return


    caption = caption_entry.get("0.0", "end").strip()


    def countdown():

        while True:

            now = datetime.datetime.now()

            if now >= post_time:

                show_reminder(scheduled_image_path, caption)

                break

            time.sleep(30)


    threading.Thread(target=countdown, daemon=True).start()

    messagebox.showinfo("Scheduled", "Post scheduled successfully!")


# Buttons

select_btn = ctk.CTkButton(app, text="πŸ–Ό Select Image", command=select_image)

select_btn.pack(pady=10)


schedule_btn = ctk.CTkButton(app, text="πŸ“Œ Schedule Post", command=schedule_post)

schedule_btn.pack(pady=20)


app.mainloop()

Comments

Popular posts from this blog

πŸš€ Simple Login & Registration System in Python Tkinter πŸ“±

πŸš€ Create a Python Screen Recorder with Audio (Complete Code)

πŸ“‘ Fuzzu Packet Sniffer – Python GUI for Real-Time IP Monitoring | Tkinter + Scapy