iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Curate Your Sources. Get Your Dispatch.
MyJunto lets you build a junto — a curated group of Twitter/X voices you trust — and receive a daily AI-synthesized dispatch: signal, not noise.
Named after Ben Franklin's intellectual discussion groups.README 전문 보기 ↗Curate Your Sources. Get Your Dispatch.
MyJunto lets you build a junto — a curated group of Twitter/X voices you trust — and receive a daily AI-synthesized dispatch: signal, not noise.
Named after Ben Franklin's intellectual discussion groups.
Live at myjunto.xyz
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS |
| Database | Supabase (Postgres) |
| Hosting | Vercel |
| Auth | NextAuth — Twitter OAuth + Google OAuth |
| AI | Claude Haiku (analyst profile synthesis + dispatch generation) |
| Twitter Data | Apify (~$0.25/1000 tweets) |
| Resend |
pull-content (every 6h)
└─ Loads active sources → starts Apify batch run → saves pending run ID
collect-twitter (runs ~20 min after pull-content, then every 5 min for ~25 min)
└─ Polls Apify for results
└─ Stores tweets → backfills avatar_url / display_name from Apify author data
└─ Triggers Claude Haiku profile update when new tweets stored
└─ Stale profile sweep: re-analyzes any profile not updated in 48h (3/cycle cap)
generate-newsletters (every 5 min in window after collect)
└─ Loads pending dispatches → reads content_twitter
└─ Claude Haiku synthesis → delivers via Resend (email) / Telegram
| Route | Description |
|---|---|
/ | Landing / home |
/juntos | Browse all public juntos |
/junto/[id] | Junto detail — sources, recent dispatches |
/create | Create a new junto |
/positions | Heatmap + table of analyst positions across all sources |
/positions/[ticker] | Detail view for a specific ticker/sector |
/sources | Browse all tracked sources |
/sources/[handle] | Source profile — analyst summary, positions, recent tweets |
/newsletters | Browse dispatches |
/newsletter/[id] | Dispatch detail |
/dashboard | User dashboard — your juntos, subscriptions |
/settings | Account settings |
# Prerequisites: Node 20+ (use nvm)
nvm use 20
# Install
npm install
# Dev server
npm run dev
# Build
npm run build
Create .env.local with:
SUPABASE_URL=https://xxx.supabase.co
SUPABASE_ANON_KEY=xxx
SUPABASE_SERVICE_ROLE_KEY=xxx
ANTHROPIC_API_KEY=xxx
APIFY_API_KEY=xxx
TWITTER_CLIENT_ID=xxx
TWITTER_CLIENT_SECRET=xxx
GOOGLE_CLIENT_ID=xxx
GOOGLE_CLIENT_SECRET=xxx
RESEND_API_KEY=re_xxx
[email protected]
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=xxx
CRON_SECRET=xxx
junto/
├── src/
│ ├── app/
│ │ ├── api/
│ │ │ ├── cron/ # pull-content, collect-twitter, generate-newsletters
│ │ │ ├── juntos/ # CRUD for juntos
│ │ │ ├── sources/ # Source management
│ │ │ ├── positions/ # Aggregated analyst positions
│ │ │ ├── newsletters/ # Dispatch list/detail
│ │ │ └── ...
│ │ ├── create/ # Junto creation
│ │ ├── juntos/ # Browse juntos
│ │ ├── junto/[id]/ # Junto detail
│ │ ├── positions/ # Positions heatmap + table
│ │ ├── sources/[handle]/ # Source profile
│ │ └── dashboard/ # User dashboard
│ ├── lib/
│ │ ├── db/ # Supabase queries
│ │ ├── twitter/ # Apify tweet client
│ │ ├── synthesis/ # Claude Haiku: profile-updater, newsletter generation
│ │ └── email/ # Resend delivery
│ └── components/ # Shared UI (top-nav, auth-modal, etc.)
├── vercel.json # Cron job config
├── CLAUDE.md # AI assistant context
└── README.md
| Endpoint | Schedule | Description |
|---|---|---|
/api/cron/pull-content | Every 6h (0:45, 6:45, 12:45, 18:45 UTC) | Start Apify batch for all active sources |
/api/cron/collect-twitter | ~20 min after pull, then every 5 min | Poll Apify results, store tweets, update profiles |
/api/cron/generate-newsletters | Every 5 min (post-collect window) | Synthesize + deliver pending dispatches |
Each source gets an AI-maintained analyst profile (source_analyst_profiles table):
{ stance, since, note } where stance is bullish | bearish | neutral | cautiousProfiles update whenever new tweets are collected, or via stale sweep (any profile not updated in 48h gets re-analyzed, capped at 3 per collect cycle).
Tracked position types: specific tickers (BTC, TSLA, DRO.AX), named commodities (gold, uranium), investable sectors (semiconductors, defense, AI).