TikTok Shop Video Generator
Turn any viral TikTok video into an ad for your own product in one click. For TikTok Shop sellers and affiliates — no filming, no editing. Free to try.
Fifteen marketing analytics tools by Ulrik Erlingsen. A journey from listening and understanding to better decisions and continued learning.
MarketingPython · ShellGitHub @UlrikErlingsenOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Signal Hub — every Signal marketing-evidence tool behind one link: open-source, local-first Streamlit apps that show their uncertainty.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Twenty-four small apps. Each answers one marketing question, shows its method, and runs on your own machine.
Signal Hub is one Streamlit app that puts all twenty-four Signal tools behind a single link: a front page, a sidebar menu by
family, and every released tool running inside it with its fictional demo already loaded. It assembles apps that
already exist. Each tool stays its own repository and Python package, and the Hub pins released versions.Read the full README ↗Signal Hub is one Streamlit app that puts all twenty-four Signal tools behind a single link: a front page, a sidebar menu by family, and every released tool running inside it with its fictional demo already loaded. It assembles apps that already exist. Each tool stays its own repository and Python package, and the Hub pins released versions.
Everything runs locally with open-source Python packages. There is no account, telemetry, external AI call, remote database, or built-in persistence. Uploads stay in your session's memory.
| App | Question | Repo | |
|---|---|---|---|
| Track Signal | Is the brand moving, or is the tracker just noisy? | brand-tracking | |
| Position Signal | Where do brands sit relative to competitors? | brand-positioning |
| App | Question | Repo | |
|---|---|---|---|
| Prospect Signal | Which Norwegian companies fit your ideal customer, and which first? | b2b-prospecting | |
| Listen Signal | Who is talking about the brand in Norwegian media, and in what tone? | media-listening | |
| Influence Signal | Which creators delivered, and was every post labelled properly? | influencer-campaigns | |
| Season Signal | What does the Norwegian marketing year look like, worked backwards? | marketing-calendar | |
| Adopt Signal | When will a new product be adopted? | adoption-forecasting | |
| Rival Signal | Which rivals matter, and how could they respond? | competitor-analysis | |
| Reach Signal | Where could a new location reach, and how would it share demand with existing sites? | location-catchment-analysis |
| App | Question | Repo | |
|---|---|---|---|
| Worth Signal | What are customers and relationships worth? | customer-value-analytics | |
| Segment Signal | Do customers form stable, useful groups? | customer-segmentation | |
| Trace Signal | How do logged customer journeys actually unfold? | journey-path-analysis | |
| Blueprint Signal | How is the customer experience actually delivered, and where do the handoffs fail? | service-blueprinting | |
| Recommend Signal | Which recommendation policy should be tested live? | recommender-evaluation |
| App | Question | Repo | |
|---|---|---|---|
| Choice Signal | How do product attributes drive choice? | conjoint-analysis | |
| Driver Signal | Which measured experiences move with satisfaction? | survey-driver-analysis | |
| Measure Signal | Does a multi-item score have a defensible structure? | measurement-validation | |
| Text Signal | What recurring patterns appear in open-ended responses? | open-text-analysis | |
| Tag Signal | What price range is supported, and how does profit move? | pricing-analysis | |
| Learn Signal | Which uncertainty is worth paying to research before you decide? | research-prioritization |
| App | Question | Repo | |
|---|---|---|---|
| Experiment Signal | Did the treatment cause a practically meaningful change? | experiment-analysis | |
| Gate Signal | Does a concept deserve the next investment? | launch-decision-gate | |
| Shift Signal | Does a launch grow the portfolio, or move existing demand around? | cannibalization-analysis | |
| Alloc Signal | Where should the next marketing budget go? | marketing-mix-allocation |
Apps hand off rather than overlap: a tracking contrast in Track Signal is not a causal effect, so it points to Experiment Signal; construct scores need Measure Signal evidence first. Each README names its siblings under Read this first.
You need Python 3.10 or newer.
macOS: double-click run_app.command. Windows: double-click run_app.bat.
The first launch creates a private .venv and installs every released app from its GitHub tag archive. Or use a
terminal:
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
python -m pip install -r requirements.txt
python -m streamlit run hub/app.py
The Hub prefers local port 8610. The launchers accept SIGNALHUB_PORT, and SIGNALHUB_DEBUG=1 shows technical
details when a tool fails.
Large files. Run on your own computer, the tools have no built-in data limits: memory is the limit. Uploads go
up to 10 GB by default (SIGNALHUB_MAX_UPLOAD_MB changes it), big tables on screen show a shortened view with a
note, and every calculation and export uses all of the data. The public demo image sets SIGNAL_PUBLIC=1, which
turns on demo limits in every tool; an internal company deployment runs it with
-e SIGNAL_PUBLIC=0 -e STREAMLIT_SERVER_MAX_UPLOAD_SIZE=10000 (see deploy/README.md).
docker build -t signal-hub .
docker run --rm -p 8501:8501 signal-hub
Then open http://127.0.0.1:8501. The container runs as a non-root user. See deploy/README.md.
apps.yaml is the only list of apps. The sidebar, the front page and the smoke tests read it;
python scripts/sync_suite.py writes everything else from it: the app tables above, the requirement pins, the
theme's app list, topics, repo descriptions, and the suite table in every app's README.python scripts/scaffold_app.py <slug> gives a new repo the standard files.<package>.ui.render(): the app contract. Inside the Hub
apps run in Hub mode (SIGNAL_HUB=1): session memory only, fictional demo data, no network calls or disk writes.vX.Y.Z), change its tag: in apps.yaml, run
python scripts/sync_suite.py, test, redeploy. Unfinished work in an app never reaches the Hub.signal-theme/ is the master copy of the suite's look: signal_theme.py (theme, lockups, chart palette), marks,
README banners, social previews, the README template, the app template (signal-theme/app-template/) and repo topics.
python scripts/sync_suite.py copies it into every app clone; --check reports stale copies. Rollout recipe: docs/BRAND_ROLLOUT.md.
python -m pip install -r local-apps.txt -e ".[test]" # apps as editable sibling clones
python -m pytest
python -m ruff check .
pytest -m "not apps" runs the Hub's own tests without the apps installed. The apps tests render every embedded
app inside the Hub wrapper and check its version against apps.yaml.
The Hub has no telemetry, analytics scripts, accounts or external AI calls, and it never writes uploads to disk. On a hosted deployment, the operator is responsible for the server. See PRIVACY.md.
The software and documentation are free under AGPL-3.0-or-later. The suite is built with AI-assisted development: Ulrik Erlingsen specifies, reviews and ships each release. It is new and makes no real-user or traction claims.
All repos carry the signal-suite topic: browse them. Freddo CRM is a
separate product (demo).
By Ulrik Erlingsen · AGPL-3.0-or-later