new-term-radar
Daily radar for new AI terms: names of new models, products and repos, caught on X, Hugging Face, GitHub and sitemaps before keyword tools list them.
Stop met handmatig content schrijven. Ascendio regelt je volledige SEO automation: onderzoek, schrijven en publiceren op autopilot.
Translation pending
MarketingTypeScript · CSSGitHub @RayalistischOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
AI-powered growth on autopilot.
Ascendio is an automated AI blogging platform that connects to your WordPress site, generates articles with featured images, and publishes them on a schedule — fully set and forget.Read the full README ↗AI-powered growth on autopilot.
Ascendio is an automated AI blogging platform that connects to your WordPress site, generates articles with featured images, and publishes them on a schedule — fully set and forget.
| Layer | Technology |
|---|---|
| Frontend | Next.js 15 (App Router), TypeScript, Tailwind CSS |
| Backend | Next.js API Routes |
| Database | Supabase (Postgres + Auth) |
| Background Jobs | Upstash QStash |
| AI | OpenAI API (GPT-4o + DALL-E 3) |
| Hosting | Vercel |
git clone <your-repo-url>
cd ascendio
npm install
supabase/migrations.sqlGenerate a 32-byte base64 encryption key for credential storage:
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
Copy the example env file and fill in your values:
cp .env.local.example .env.local
| Variable | Description |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Your Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anon/public key |
SUPABASE_SERVICE_ROLE_KEY | Supabase service role key (for workers) |
OPENAI_API_KEY | OpenAI API key |
QSTASH_URL | https://qstash.upstash.io |
QSTASH_TOKEN | Your QStash token |
QSTASH_CURRENT_SIGNING_KEY | QStash current signing key |
QSTASH_NEXT_SIGNING_KEY | QStash next signing key |
APP_CRED_ENC_KEY | 32-byte base64 key (from step 3) |
CRON_SECRET | A secret string for securing the cron endpoint |
npm run dev
Open http://localhost:3000 and create an account.
vercel
Set all environment variables in the Vercel dashboard. The cron job is configured in vercel.json to run every 15 minutes.
/src
/app
/(auth)/login → Authentication page
/(app)/dashboard → Stats overview + recent runs
/(app)/sites → WordPress site management
/(app)/schedule → Schedule configuration
/(app)/runs → Run history + logs
/api
/auth/callback → Supabase auth callback
/sites → CRUD for WordPress sites
/sites/test-connection → Test WP connection
/schedules → CRUD for schedules
/runs → Read run history
/cron → Scheduler tick (every 15 min)
/workers/generate-and-publish → Background worker
/lib
encryption.ts → AES-256-GCM credential encryption
openai.ts → Article + image generation
wordpress.ts → WordPress REST API client
scheduler.ts → RRULE schedule helpers
qstash.ts → QStash job enqueueing
logger.ts → Run log writer
supabase/ → Supabase client variants
/components
app-shell.tsx → App layout with sidebar navigation
/ui → shadcn/ui components
Generated content defaults to Dutch (Nederlands). This can be customized per site in the codebase.
Private — All rights reserved.