塑造个人品牌,发现细分市场,构建可持续盈利的产品
I share how to build a personal brand, discover niche markets, and create sustainably profitable products. I also share everything about AI.
AI translation
app
Translation pending
MarketingHTML · PythonGitHub @sudhirkrsOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A self-running system to grow @Sudhirkrs17 to 10,000+ followers, built on GitHub and Vercel only. No paid X API is needed: you post with one tap, and everything else is prepared, drafted and measured for you.
| Piece | Where | What it does |
|---|---|---|
| Daily brief | GitHub Issues (daily-brief.yml) | Every evening, opens an issue with the next day's posts and an ➜ Open in X link under each one |
| Posting Desk | GitHub Pages: https://sudhirkrs.github.io/twitter/ | Phone page for any day: Open in X, Open X app, Copy for thread parts |
| News tweets | GitHub Actions (news-tweets.yml), run on demand | Reads the latest Indian news on personal finance, stocks, payments or AI and turns each story into a ready-to-post tweet ending with the article link, so readers can see the source (AI-written with an AI key, template-based without). The issue has just the tweets, each with an Open in X link. |
| Control Panel | Vercel (dashboard/) | Edit, approve, add and delete posts; log your numbers; see Insights; start any job, including News tweets |
| X numbers bookmark | Your own browser (dashboard/x-reader.js) | On your X profile, signed in, it reads the views, likes, replies, reposts and bookmarks under your posts plus your follower count, and sends them to the Control Panel to review and save. It only reads the screen; no password leaves your browser. |
| Weekly AI drafts | GitHub Actions (draft-week.yml) | Every Sunday, drafts the next 7 days with an AI model you choose, when fewer than 14 days are queued. Drafts wait for your approval. |
| Weekly report | GitHub Issues (weekly-report.yml) | Every Sunday evening: follower trend, best posts, best topics and formats, content runway |
| Content | content/queue.json | All posts. "status": "draft" posts get no Open in X link until approved. |
| Numbers | tracking/ | growth-log.csv (weekly account numbers) and post-metrics.csv (per post), written by the Control Panel |
| Strategy | STRATEGY.md | Positioning, profile, content pillars, the daily reply routine, milestones |
Daily (about 5 minutes of posting, plus replies)
STRATEGY.md §3). That's where the growth comes from.Whenever there's news worth covering
Sunday (about 20 minutes)
GitHub Pages and the daily brief are already running. Two things remain.
sudhirkrs/twittersudhirkrs/twitter.
dashboardADMIN_PASSWORD: a long password only you know. It's the panel's login.GITHUB_TOKEN: the token from step 1https://twitter-xxxx.vercel.app.CONTROL_PANEL_URL = your Vercel address. The "drafts ready" notification links to it.After changing a Vercel environment variable, use Deployments → ⋯ → Redeploy so the panel picks it up.
The same key writes the News tweets and the weekly drafts. Any OpenAI-compatible provider works; these steps use Google Gemini's free tier. Free tiers have daily limits, which are plenty for a few runs a day. Google may use free-tier prompts to improve its products, but your prompts are only public news and your own tweets.
Get the key: open aistudio.google.com in a browser, sign in with your Google account, tap Get API key → Create API key, and copy it. Treat it like a password.
Add three secrets on GitHub in a browser (the GitHub app can't do this): github.com/sudhirkrs/twitter → Settings → Secrets and variables → Actions → New repository secret:
| Name | Value |
|---|---|
LLM_API_KEY | the key you copied |
LLM_BASE_URL | https://generativelanguage.googleapis.com/v1beta/openai |
LLM_MODEL | leave for step 3 |
Find the model name: Actions → Test AI key → Run workflow. Open the finished run: its summary tries the fast models your key lists and names one that actually answered (Google keeps old models in its list that new accounts can't use). Add the LLM_MODEL secret with that exact name, then run Test AI key again. When it shows ✅ and a test sentence, you're done.
Without these secrets, everything else keeps working: the weekly drafts are skipped, News tweets uses templates, and you add posts yourself in the Control Panel.
Control Panel → Import from X has the bookmark and step-by-step instructions for computers and phones. It works in Chrome, Safari and Edge, in the browser rather than the X app. If X changes its page design and the bookmark stops finding numbers, enter them by hand under Log numbers until the reader is updated.
| File | Purpose |
|---|---|
poster.py | Shared helpers. python poster.py --check validates every post against X's 280-character weighting (emoji, ₹, • and → count as 2). |
brief.py | Builds a daily brief: python brief.py --date 2026-10-09 |
build_console.py | Builds the Posting Desk and the short Open-in-X pages into site/ |
scripts/draft_week.py | The AI drafter. --dry-run prints the prompt; --force drafts regardless of runway. |
scripts/weekly_report.py | The weekly report |
scripts/news_tweets.py | News tweets. Searches are in TOPICS and the guide/listicle filter in NOT_NEWS; edit both freely. Used stories are remembered in content/news.json so they aren't repeated. |
scripts/check_llm.py | Behind the Test AI key workflow |
content/books.json | Books you've read, with each book's idea and any exact quotes. The weekly drafter writes book posts only from this list, and may put quotation marks only around a quote listed here. Add your own Kindle highlights as "quote" values. |
dashboard/ | The Vercel Control Panel: index.html plus API functions in api/ (no dependencies) |