I built a Viral Hook Generator using Python & Streamlit (v3.0)

Hi everyone! :waving_hand:

I wanted to share my latest project: ViralBot Pro.

It’s a content generation tool that uses Python to map user topics into proven viral frameworks (like Contrarian, Storytelling, and Sales hooks).

You can try the live app here: [https://virallinkedinpost.streamlit.app]

:hammer_and_wrench: How I built it:

  • Frontend: Streamlit (Custom sidebar & HTML styling).

  • Logic: Python dictionary mapping for template injection.

  • UI: I added a “Dark Mode” aesthetic and custom buttons.

I also decided to package the source code as a “Starter Kit” for beginners who want to see how to build SaaS-style apps with Streamlit.

Code Snippet (The Logic):

Python

templates_contrarian = [
    "Stop doing {topic} the hard way.",
    "Unpopular Opinion: {topic} is broken.",
]

Let me know what you think of the Sidebar UI! I tried to make it look like a native SaaS app.

Cheers! Aqib

hi,

in your streamlit app you have written get source code for 9$ and your github repo is public ,anyone can access the source code for free :slightly_smiling_face::slightly_smiling_face:.

1 Like

Very nice, i tested a little bit.
Not sure if i got this right, if the app suppose to return such output?
Basically it generates the same 4 phrases all the time, the only difference being the input word - see below the 3 example tests

Is this really the goal; if yes then works just fine?!

Hey Ansh, thanks for checking it out! :grinning_face_with_smiling_eyes:

You are looking at the v1 Open Source Skeleton. I kept the basic Streamlit structure public so beginners can learn how to build the UI.

The $9 Pro Version (and the Agency Source Code) includes the v4 Logic Engine, the full database of 1000+ templates, and the randomization algorithm that I just pushed. The public repo is just the shell.

1 Like

Thanks again for the sharp eye, Radu! That was a limitation in the demo logic, but I fixed it.

Update Pushed (v4.0): I just deployed a new ‘Mix & Match’ Engine based on your feedback.

Instead of pulling static lines, it now dynamically combines openers, hooks, and variable endings (like ‘Thread :thread:’ or’:backhand_index_pointing_down:’). This creates about 1,000+ unique variations, so you shouldn’t see those repeats anymore.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.