Graduated Project
This project has reached commercial maturity and graduated. The .pmpt file remains downloadable.
"Launched on App Store. Full feature set: swipe voting, multi-source crawling (HN/DEV.to/GitHub), rankings, favorites, collections, impressions, Google/Apple/GitHub OAuth, deep link sharing."
Graduated: 2026-03-04
joltit
Tinder-style swipe app for discovering startup ideas. Auto-crawls Hacker News, DEV.to, and GitHub repos every 6 hours. Swipe to vote, track rankings, save favorites, and share ideas via deep links. Google/Apple/GitHub OAuth.
Clone via terminal:
pmpt clone joltit GitHub README GitHub
Starting Prompt
This single prompt is where the project began.
Joltit โ AI Development Prompt
Overview
Build "Joltit", a mobile app where users swipe on business ideas to evaluate them. Ideas are auto-crawled from Hacker News and other public APIs. Users swipe right to like, left to pass, and up to super-like. Community voting creates rankings: weekly best, monthly best, all-time top. Users can save favorites and create GitHub repos from liked ideas with one tap.
Tech Stack
- React Native (Expo SDK 54, expo-router) for cross-platform mobile app
- Cloudflare Workers (Hono) + D1 for backend
- Cloudflare Cron Triggers for scheduled crawling (every 6 hours)
- GitHub OAuth for authentication and repo creation (public_repo scope)
App Structure
Screens
- Onboarding โ 3-page swipeable tutorial (Discover Ideas / Swipe to Vote / Track the Best), AsyncStorage persistence, shown once on first launch
- Home (Swipe Screen) โ Card stack of business ideas, swipe to evaluate. 5-second idle hint tooltip (โ ยท โ ยท โ swipe to vote) with fade-in animation
- Rankings โ Tabs: Top / Daily / Weekly / Monthly (approval_rate based, min 1 impression)
- Favorites โ Compact list with source dot + title + score + sparkle icon (if impression). Tap to open detail modal with full info (source banner, impression, description, vote grid, GitHub card, tags, notes, action links)
- Profile โ GitHub connection, stats (1k +234 format, 4 cards: Likes/Super/Passes/Notes), Idea Explorer level badge, "My Impressions" section (3 recent + See All), settings
- Impressions โ Full list of all impressions (modal from Profile โ See All)
Card Design
Single-view card with scrollable content:
- Source color header (HN orange, DEV.to blue, GitHub dark) with title, points, comments
- Full description (scrollable, no line limit)
- Vote breakdown grid (Super / Like / Pass / Score)
- GitHub details card (repo name, stars, forks, language) โ tappable
- Tags (all displayed)
- Sticky footer with source-color background: author info + Website/Source link buttons
- Footer design matches header color for unified card appearance
Data Model
ideasโ id, title, description, source_url, source (hn/devto/github), image_url, homepage_url, github_url, github_stars, github_forks, github_language, tags, source_score, comment_count, like_count, pass_count, super_like_count, score, impression_count, crawled_at, created_atuser_votesโ user_id, idea_id, vote_type (like/pass/super_like), created_atuser_favoritesโ user_id, idea_id, note, impression (100 chars, Super Like first thought), vote_type (like/super_like), created_atusersโ id, github_id, username, avatar_url, encrypted_token, created_atuser_collectionsโ id, user_id, name (50 chars), emoji, created_at, updated_atcollection_itemsโ id, collection_id (CASCADE), favorite_id (CASCADE), added_at, UNIQUE(collection_id, favorite_id)
Key Interactions
- Swipe right โ Like (score +1, impression +1)
- Swipe left โ Pass (score -1, impression +1)
- Swipe up โ Super Like (score +2, impression +1) โ Impression Modal (authenticated only)
- Tap GitHub card โ Open repo in in-app browser
- Tap Website/Source buttons โ Open in PAGE_SHEET browser
Impression System (Idea Journal)
- Philosophy: App helps users discover, get inspired by, and develop ideas. Impressions capture "first thought" moments.
- Super Like Modal: Card flies away immediately, bottom-sheet modal slides up with random inspiration prompt (e.g. "What's the 10x version?"), 100-char TextInput, Skip/Save buttons. Haptic on save. Only for authenticated users.
- Daily Inspiration Quote: Rotates daily in Discover header (e.g. "Every great product started as a side project")
- Reflection Prompts: Empty state shows thought-provoking questions (e.g. "Which idea stuck with you the most?")
- Profile Section: "My Impressions" with teal-bordered cards (italic text, source dot, relative time). "See All โ" links to full list modal.
- Idea Explorer Levels: Lv1 Curious (0-50) โ Lv2 Seeker (50-200) โ Lv3 Explorer (200-500) โ Lv4 Analyst (500-1000) โ Lv5 Visionary (1000+)
- Favorite Detail: Impression shown at top with sparkles icon + "My First Impression" header
- API:
POST /api/votesaccepts optionalimpressionparam,GET /api/favorites/impressions,POST /api/favorites/:id/impression
Collections System (Favorite Playlists)
- Philosophy: Users create named collections to organize favorites, like music playlists for business ideas
- Data Model:
user_collections(id, user_id, name, emoji, created_at, updated_at) +collection_itemsjunction table (collection_id โ favorite_id, ON DELETE CASCADE) - Max 20 collections per user, name max 50 chars, optional emoji icon
- Favorites tab: Horizontal scroll of CollectionCards at top + All Favorites list below. "+" button to create new collection.
- Collection detail: Modal screen showing FavoriteCards within the collection, with rename/delete menu
- Add to Collection: Bottom sheet modal accessible from folder icon on each FavoriteCard. Shows all collections with toggle checkmarks.
- Shared FavoriteCard component: Extracted to
components/FavoriteCard.tsx, used by both favorites tab and collection detail - API:
GET/POST /api/collections,GET/PUT/DELETE /api/collections/:id,POST/DELETE /api/collections/:id/items/:ideaId,GET /api/favorites/:ideaId/collections - ID handling: Frontend's favorite.id = ideas.id (due to SQL JOIN column overwrite). API endpoints use idea_id and resolve to user_favorites.id internally.
Feed Algorithm
- Impression-based fairness:
ORDER BY impression_count ASC, id ASC(deterministic, no RANDOM) - All ideas get minimum exposure before popular ones repeat
- Logged-in users: server filters out already-voted ideas
- Anonymous users: local AsyncStorage tracking (10,000 free limit)
Ranking Algorithm
- Approval rate:
(super_like_count * 2 + like_count) / impression_count - Minimum 1 impression required to appear in rankings
- Ideas with 0 positive votes (like + super_like = 0) hidden from rankings โ pass-only ideas excluded
- Periods: All-time, Daily (1d), Weekly (7d), Monthly (30d)
- Rankings auto-refresh on tab focus via navigation listener
Crawling Strategy
- 3 sources: Hacker News (Algolia API), DEV.to (public API, tags: showdev/opensource/sideproject), GitHub Search (trending repos, stars>10, created in last 7 days)
- Round-robin scheduling: Cloudflare Workers 50 subrequest limit โ Round A (HN + GitHub, ~12 fetches) alternates with Round B (DEV.to + Enricher, ~43 fetches) based on UTC hour
- Manual single-source crawl:
POST /api/crawl?source=hn|devto|github|enrichwith X-Crawl-Secret header - GitHub-only filter: Only ideas with GitHub repo URL are saved
- HTML entity decoding applied during crawl + at render time for legacy data
- Enrichment pipeline: OG images + GitHub metadata (stars, forks, language, topics, description) for linked repos
API Pagination
- GET /api/ideas returns
paginationobject:{ page, offset, total, totalPages, hasMore } - COUNT query runs in parallel with data query via Promise.all
Cross-tab State
- LocalVotesContext (React Context) shares vote state + per-type stats (likes/super/passes) across all tabs
- AuthContext exposes
refreshUser()for on-demand profile stats refresh - Profile & Rankings auto-refresh on tab focus via
navigation.addListener('focus') - Stale closure prevention: all swipe callbacks use
useRefpattern for stable references
Data Fetching
useIdeashook: page ref + loading guard + hasMore tracking to prevent stale/duplicate fetchesloadMoreuses refs instead of state to avoid closure staleness during rapid swiping
Design Direction
- Fun, playful, swipe-based UI
- Card-based design with smooth swipe animations (reanimated + gesture-handler)
- Bold source colors (HN orange, PH red), coral primary (#FF6B6B)
- Haptic feedback on swipe actions
- Score display:
+Nformat with star/heart icons
Security
- GitHub tokens encrypted with AES-GCM (crypto.subtle)
- OAuth state parameter for CSRF protection
- JWT expiry: 7 days
- CORS restricted to FRONTEND_URL
- Rate limiting: 60 req/min per IP
- No sensitive error details exposed to clients
- Account deletion API for data privacy
Project Plan
The development plan AI organized from the prompt.
Development Journey
A summary of 17 snapshots recorded during AI development. Clone the project to explore the full history.
2026-03-04
- ยท Added Google Sign In alongside existing Apple and GitHub OAuth
- ยท Implemented server-side Google OAuth 2.0 redirect flow (same pattern as GitHub), fixed ON CONFLICT upsert by using SELECTโINSERTโSELECT pattern due to SQLite partial index limitation
- ยท Fixed provider badge display by adding has_github/has_apple/has_google flags to /me endpoint
- ยท Fixed username normalization for non-ASCII names by preferring email prefix
- ยท Redesigned sign-in UI: provider-agnostic copy, ScrollView wrapper, unified button styles (h46/r12), button order GoogleโAppleโGitHub
- ยท Completed deep link sharing: share.ts OG HTML page, IdeaCard share button, app/idea/[id].tsx detail modal
- ยท Various UI fixes: counter spacing in header, Favorites title padding, sign-in button width reduction
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 โ 2026-02-28 ยท Initial Plan
- pmpt ํ๋ก์ ํธ ์ด๊ธฐํ, plan.md + pmpt.ai.md ์์ฑ
- ์ด๊ธฐ ํ ํฌ์คํ: Supabase + PostgreSQL + Node.js
v2 โ 2026-02-28 ยท Tech Stack Migration
- ํ ํฌ์คํ ์ ํ: Supabase โ Cloudflare Workers (Hono) + D1
- ํฌ๋กค๋ง ์์ค ์ ๋ฆฌ (Reddit ์ ๊ฑฐ, HN ์ค์ฌ)
- ๋ณด์ ์น์ ์ถ๊ฐ (AES-GCM ํ ํฐ ์ํธํ, JWT, CORS, Rate Limiting)
v3 โ 2026-03-01 ยท Core Architecture
- ์นด๋ ๋์์ธ ์์ธํ (์์ค ์ปฌ๋ฌ ํค๋, ํฌํ ๊ทธ๋ฆฌ๋, GitHub ์นด๋)
- ๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ฅ (github_url, stars, forks, language, tags, impression_count ๋ฑ)
- ํผ๋ ์๊ณ ๋ฆฌ์ฆ (impression ๊ธฐ๋ฐ ๊ณต์ ๋ ธ์ถ) + ๋ญํน ์๊ณ ๋ฆฌ์ฆ (์น์ธ์จ ๊ธฐ๋ฐ)
- Cross-tab ์ํ ๊ด๋ฆฌ (LocalVotesContext)
v4 โ 2026-03-01 ยท Algorithm Refinement
- ๋ญํน ์ต์ ๋ ธ์ถ 10โ1๋ก ์ํ
- ํผ๋ ์ ๋ ฌ RANDOM() โ deterministic (id ASC) ๋ณ๊ฒฝ
- GitHub-only ํํฐ ์ ์ฉ (GitHub URL ์๋ ์์ด๋์ด๋ง ์ ์ฅ)
- HTML ์ํฐํฐ ๋์ฝ๋ฉ, useRef ํจํด์ผ๋ก stale closure ๋ฐฉ์ง
- ์นด๋ Sticky Footer ๋์์ธ
v5 โ 2026-03-01 ยท Rankings Polish
- ํฌํ 0๊ฑด ์์ด๋์ด ๋ญํน์์ ์จ๊น ์ฒ๋ฆฌ
v6~v8 โ 2026-03-01 ยท API Pagination & Docs
- API ideas ์๋ํฌ์ธํธ์ pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
- COUNT ์ฟผ๋ฆฌ Promise.all ๋ณ๋ ฌ ์คํ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ
- pmpt docs ๋ณต์ ๋ฐ ์ ๋ฆฌ, ํ์ฌ DB 142๊ฐ ์์ด๋์ด
v9 โ 2026-03-01 ยท Commit & Publish
- Git ์ปค๋ฐ/ํธ์ ์๋ฃ (ee9a50a)
- pmptwiki ์ฒซ ํผ๋ธ๋ฆฌ์ ์๋ฃ
v9 โ 2026-03-01
- Snapshot Log ์ ๋ฆฌ โ v1~v9 ์ ์ฒด ์ด๋ ฅ ๊ธฐ๋ก ์์ฑ
v10 โ 2026-03-01
- Pre-publish ์ฒดํฌ๋ฆฌ์คํธ ์๋ฃ โ ์ ์ฒด ์ค๋ ์ท .meta.json note ๋ณด๊ฐ ๋ฐ pmpt.md Snapshot Log ์ ๋น
v11 โ 2026-03-01
- Translate plan.md and plan-progress.json to English for international audience
v12 โ Multi-source Crawlers + Onboarding + UI Polish
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง์ผ๋ก Cloudflare 50 subrequest ์ ํ ๋์), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Rankings Daily ํญ, ํ๋กํ ์ซ์ ํฌ๋งท (1k+234), ์นด๋/๋ฒํผ ํฌ๊ธฐ ๊ฐ์ , ์ค์์ดํ ํํธ ํดํ
v12 โ 2026-03-01
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Daily ๋ญํน ํญ, ํ๋กํ 1k+234 ํฌ๋งท, ์ค์์ดํ ํํธ ํดํ, ์นด๋/๋ฒํผ ๋ ์ด์์ ๊ฐ์
v13 โ 2026-03-02
- Implemented Impression system โ Super Like triggers bottom-sheet modal for writing 300-char first impressions with inspiration prompts. Added daily quotes in Discover header, reflection prompts in empty state, My Impressions section in Profile with teal-bordered cards, Idea Explorer level badges (Lv1-5), full impressions list page, and impression display in Favorite detail. Backend: new impression/vote_type columns on user_favorites, GET /api/favorites/impressions, POST /api/favorites/:id/impression endpoints.
v14 โ 2026-03-02
- Implemented Collections feature โ users can create named collections (like playlists) to organize favorites. Added user_collections + collection_items tables, full CRUD API, CollectionCard/CreateCollectionModal/AddToCollectionSheet components, collection detail screen, and redesigned Favorites tab with horizontal collection scroll.
v15 โ 2026-03-02
- Added GitHub README excerpt feature - crawls first paragraph from README.md and displays on Discover cards. Backend: enricher fetches from raw.githubusercontent.com, parses markdown to extract meaningful first paragraph (500 char limit), runs in Round A cron cycle. Frontend: IdeaCard shows README excerpt in styled card with tagline fallback. Backfilled 34/250 existing ideas.
v16 โ 2026-03-04
- Implemented deep link idea sharing end-to-end
- API: added GET /share/:id route (outside /api/ prefix to bypass rate limiter) that returns an OG HTML page with og:title, og:description, og:image meta tags and a meta refresh redirect to joltit://idea/[id]
- Mobile app: created app/idea/[id].tsx modal screen that fetches the idea via API and shows full detail (source banner, title, description, GitHub card, votes, tags, links); added idea/[id] Stack.Screen to _layout.tsx; added SHARE_BASE_URL constant to config.ts; added share-outline icon button to the top-right metaRow of each IdeaCard that triggers iOS/Android native Share sheet
- Deployed to Cloudflare Workers โ OG HTML and deep link redirect verified live
v17 โ 2026-03-04
- Added Google Sign In alongside existing Apple and GitHub OAuth
- Implemented server-side Google OAuth 2.0 redirect flow (same pattern as GitHub), fixed ON CONFLICT upsert by using SELECTโINSERTโSELECT pattern due to SQLite partial index limitation
- Fixed provider badge display by adding has_github/has_apple/has_google flags to /me endpoint
- Fixed username normalization for non-ASCII names by preferring email prefix
- Redesigned sign-in UI: provider-agnostic copy, ScrollView wrapper, unified button styles (h46/r12), button order GoogleโAppleโGitHub
- Completed deep link sharing: share.ts OG HTML page, IdeaCard share button, app/idea/[id].tsx detail modal
- Various UI fixes: counter spacing in header, Favorites title padding, sign-in button width reduction
Files (2)
2026-03-04
- ยท Implemented deep link idea sharing end-to-end
- ยท API: added GET /share/:id route (outside /api/ prefix to bypass rate limiter) that returns an OG HTML page with og:title, og:description, og:image meta tags and a meta refresh redirect to joltit://idea/[id]
- ยท Mobile app: created app/idea/[id].tsx modal screen that fetches the idea via API and shows full detail (source banner, title, description, GitHub card, votes, tags, links); added idea/[id] Stack.Screen to _layout.tsx; added SHARE_BASE_URL constant to config.ts; added share-outline icon button to the top-right metaRow of each IdeaCard that triggers iOS/Android native Share sheet
- ยท Deployed to Cloudflare Workers โ OG HTML and deep link redirect verified live
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 โ 2026-02-28 ยท Initial Plan
- pmpt ํ๋ก์ ํธ ์ด๊ธฐํ, plan.md + pmpt.ai.md ์์ฑ
- ์ด๊ธฐ ํ ํฌ์คํ: Supabase + PostgreSQL + Node.js
v2 โ 2026-02-28 ยท Tech Stack Migration
- ํ ํฌ์คํ ์ ํ: Supabase โ Cloudflare Workers (Hono) + D1
- ํฌ๋กค๋ง ์์ค ์ ๋ฆฌ (Reddit ์ ๊ฑฐ, HN ์ค์ฌ)
- ๋ณด์ ์น์ ์ถ๊ฐ (AES-GCM ํ ํฐ ์ํธํ, JWT, CORS, Rate Limiting)
v3 โ 2026-03-01 ยท Core Architecture
- ์นด๋ ๋์์ธ ์์ธํ (์์ค ์ปฌ๋ฌ ํค๋, ํฌํ ๊ทธ๋ฆฌ๋, GitHub ์นด๋)
- ๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ฅ (github_url, stars, forks, language, tags, impression_count ๋ฑ)
- ํผ๋ ์๊ณ ๋ฆฌ์ฆ (impression ๊ธฐ๋ฐ ๊ณต์ ๋ ธ์ถ) + ๋ญํน ์๊ณ ๋ฆฌ์ฆ (์น์ธ์จ ๊ธฐ๋ฐ)
- Cross-tab ์ํ ๊ด๋ฆฌ (LocalVotesContext)
v4 โ 2026-03-01 ยท Algorithm Refinement
- ๋ญํน ์ต์ ๋ ธ์ถ 10โ1๋ก ์ํ
- ํผ๋ ์ ๋ ฌ RANDOM() โ deterministic (id ASC) ๋ณ๊ฒฝ
- GitHub-only ํํฐ ์ ์ฉ (GitHub URL ์๋ ์์ด๋์ด๋ง ์ ์ฅ)
- HTML ์ํฐํฐ ๋์ฝ๋ฉ, useRef ํจํด์ผ๋ก stale closure ๋ฐฉ์ง
- ์นด๋ Sticky Footer ๋์์ธ
v5 โ 2026-03-01 ยท Rankings Polish
- ํฌํ 0๊ฑด ์์ด๋์ด ๋ญํน์์ ์จ๊น ์ฒ๋ฆฌ
v6~v8 โ 2026-03-01 ยท API Pagination & Docs
- API ideas ์๋ํฌ์ธํธ์ pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
- COUNT ์ฟผ๋ฆฌ Promise.all ๋ณ๋ ฌ ์คํ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ
- pmpt docs ๋ณต์ ๋ฐ ์ ๋ฆฌ, ํ์ฌ DB 142๊ฐ ์์ด๋์ด
v9 โ 2026-03-01 ยท Commit & Publish
- Git ์ปค๋ฐ/ํธ์ ์๋ฃ (ee9a50a)
- pmptwiki ์ฒซ ํผ๋ธ๋ฆฌ์ ์๋ฃ
v9 โ 2026-03-01
- Snapshot Log ์ ๋ฆฌ โ v1~v9 ์ ์ฒด ์ด๋ ฅ ๊ธฐ๋ก ์์ฑ
v10 โ 2026-03-01
- Pre-publish ์ฒดํฌ๋ฆฌ์คํธ ์๋ฃ โ ์ ์ฒด ์ค๋ ์ท .meta.json note ๋ณด๊ฐ ๋ฐ pmpt.md Snapshot Log ์ ๋น
v11 โ 2026-03-01
- Translate plan.md and plan-progress.json to English for international audience
v12 โ Multi-source Crawlers + Onboarding + UI Polish
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง์ผ๋ก Cloudflare 50 subrequest ์ ํ ๋์), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Rankings Daily ํญ, ํ๋กํ ์ซ์ ํฌ๋งท (1k+234), ์นด๋/๋ฒํผ ํฌ๊ธฐ ๊ฐ์ , ์ค์์ดํ ํํธ ํดํ
v12 โ 2026-03-01
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Daily ๋ญํน ํญ, ํ๋กํ 1k+234 ํฌ๋งท, ์ค์์ดํ ํํธ ํดํ, ์นด๋/๋ฒํผ ๋ ์ด์์ ๊ฐ์
v13 โ 2026-03-02
- Implemented Impression system โ Super Like triggers bottom-sheet modal for writing 300-char first impressions with inspiration prompts. Added daily quotes in Discover header, reflection prompts in empty state, My Impressions section in Profile with teal-bordered cards, Idea Explorer level badges (Lv1-5), full impressions list page, and impression display in Favorite detail. Backend: new impression/vote_type columns on user_favorites, GET /api/favorites/impressions, POST /api/favorites/:id/impression endpoints.
v14 โ 2026-03-02
- Implemented Collections feature โ users can create named collections (like playlists) to organize favorites. Added user_collections + collection_items tables, full CRUD API, CollectionCard/CreateCollectionModal/AddToCollectionSheet components, collection detail screen, and redesigned Favorites tab with horizontal collection scroll.
v15 โ 2026-03-02
- Added GitHub README excerpt feature - crawls first paragraph from README.md and displays on Discover cards. Backend: enricher fetches from raw.githubusercontent.com, parses markdown to extract meaningful first paragraph (500 char limit), runs in Round A cron cycle. Frontend: IdeaCard shows README excerpt in styled card with tagline fallback. Backfilled 34/250 existing ideas.
v16 โ 2026-03-04
- Implemented deep link idea sharing end-to-end
- API: added GET /share/:id route (outside /api/ prefix to bypass rate limiter) that returns an OG HTML page with og:title, og:description, og:image meta tags and a meta refresh redirect to joltit://idea/[id]
- Mobile app: created app/idea/[id].tsx modal screen that fetches the idea via API and shows full detail (source banner, title, description, GitHub card, votes, tags, links); added idea/[id] Stack.Screen to _layout.tsx; added SHARE_BASE_URL constant to config.ts; added share-outline icon button to the top-right metaRow of each IdeaCard that triggers iOS/Android native Share sheet
- Deployed to Cloudflare Workers โ OG HTML and deep link redirect verified live
Files (2)
2026-03-02
- ยท Added GitHub README excerpt feature - crawls first paragraph from README.md and displays on Discover cards. Backend: enricher fetches from raw.githubusercontent.com, parses markdown to extract meaningful first paragraph (500 char limit), runs in Round A cron cycle. Frontend: IdeaCard shows README excerpt in styled card with tagline fallback. Backfilled 34/250 existing ideas.
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 โ 2026-02-28 ยท Initial Plan
- pmpt ํ๋ก์ ํธ ์ด๊ธฐํ, plan.md + pmpt.ai.md ์์ฑ
- ์ด๊ธฐ ํ ํฌ์คํ: Supabase + PostgreSQL + Node.js
v2 โ 2026-02-28 ยท Tech Stack Migration
- ํ ํฌ์คํ ์ ํ: Supabase โ Cloudflare Workers (Hono) + D1
- ํฌ๋กค๋ง ์์ค ์ ๋ฆฌ (Reddit ์ ๊ฑฐ, HN ์ค์ฌ)
- ๋ณด์ ์น์ ์ถ๊ฐ (AES-GCM ํ ํฐ ์ํธํ, JWT, CORS, Rate Limiting)
v3 โ 2026-03-01 ยท Core Architecture
- ์นด๋ ๋์์ธ ์์ธํ (์์ค ์ปฌ๋ฌ ํค๋, ํฌํ ๊ทธ๋ฆฌ๋, GitHub ์นด๋)
- ๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ฅ (github_url, stars, forks, language, tags, impression_count ๋ฑ)
- ํผ๋ ์๊ณ ๋ฆฌ์ฆ (impression ๊ธฐ๋ฐ ๊ณต์ ๋ ธ์ถ) + ๋ญํน ์๊ณ ๋ฆฌ์ฆ (์น์ธ์จ ๊ธฐ๋ฐ)
- Cross-tab ์ํ ๊ด๋ฆฌ (LocalVotesContext)
v4 โ 2026-03-01 ยท Algorithm Refinement
- ๋ญํน ์ต์ ๋ ธ์ถ 10โ1๋ก ์ํ
- ํผ๋ ์ ๋ ฌ RANDOM() โ deterministic (id ASC) ๋ณ๊ฒฝ
- GitHub-only ํํฐ ์ ์ฉ (GitHub URL ์๋ ์์ด๋์ด๋ง ์ ์ฅ)
- HTML ์ํฐํฐ ๋์ฝ๋ฉ, useRef ํจํด์ผ๋ก stale closure ๋ฐฉ์ง
- ์นด๋ Sticky Footer ๋์์ธ
v5 โ 2026-03-01 ยท Rankings Polish
- ํฌํ 0๊ฑด ์์ด๋์ด ๋ญํน์์ ์จ๊น ์ฒ๋ฆฌ
v6~v8 โ 2026-03-01 ยท API Pagination & Docs
- API ideas ์๋ํฌ์ธํธ์ pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
- COUNT ์ฟผ๋ฆฌ Promise.all ๋ณ๋ ฌ ์คํ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ
- pmpt docs ๋ณต์ ๋ฐ ์ ๋ฆฌ, ํ์ฌ DB 142๊ฐ ์์ด๋์ด
v9 โ 2026-03-01 ยท Commit & Publish
- Git ์ปค๋ฐ/ํธ์ ์๋ฃ (ee9a50a)
- pmptwiki ์ฒซ ํผ๋ธ๋ฆฌ์ ์๋ฃ
v9 โ 2026-03-01
- Snapshot Log ์ ๋ฆฌ โ v1~v9 ์ ์ฒด ์ด๋ ฅ ๊ธฐ๋ก ์์ฑ
v10 โ 2026-03-01
- Pre-publish ์ฒดํฌ๋ฆฌ์คํธ ์๋ฃ โ ์ ์ฒด ์ค๋ ์ท .meta.json note ๋ณด๊ฐ ๋ฐ pmpt.md Snapshot Log ์ ๋น
v11 โ 2026-03-01
- Translate plan.md and plan-progress.json to English for international audience
v12 โ Multi-source Crawlers + Onboarding + UI Polish
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง์ผ๋ก Cloudflare 50 subrequest ์ ํ ๋์), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Rankings Daily ํญ, ํ๋กํ ์ซ์ ํฌ๋งท (1k+234), ์นด๋/๋ฒํผ ํฌ๊ธฐ ๊ฐ์ , ์ค์์ดํ ํํธ ํดํ
v12 โ 2026-03-01
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Daily ๋ญํน ํญ, ํ๋กํ 1k+234 ํฌ๋งท, ์ค์์ดํ ํํธ ํดํ, ์นด๋/๋ฒํผ ๋ ์ด์์ ๊ฐ์
v13 โ 2026-03-02
- Implemented Impression system โ Super Like triggers bottom-sheet modal for writing 300-char first impressions with inspiration prompts. Added daily quotes in Discover header, reflection prompts in empty state, My Impressions section in Profile with teal-bordered cards, Idea Explorer level badges (Lv1-5), full impressions list page, and impression display in Favorite detail. Backend: new impression/vote_type columns on user_favorites, GET /api/favorites/impressions, POST /api/favorites/:id/impression endpoints.
v14 โ 2026-03-02
- Implemented Collections feature โ users can create named collections (like playlists) to organize favorites. Added user_collections + collection_items tables, full CRUD API, CollectionCard/CreateCollectionModal/AddToCollectionSheet components, collection detail screen, and redesigned Favorites tab with horizontal collection scroll.
v15 โ 2026-03-02
- Added GitHub README excerpt feature - crawls first paragraph from README.md and displays on Discover cards. Backend: enricher fetches from raw.githubusercontent.com, parses markdown to extract meaningful first paragraph (500 char limit), runs in Round A cron cycle. Frontend: IdeaCard shows README excerpt in styled card with tagline fallback. Backfilled 34/250 existing ideas.
Files (2)
2026-03-02
- ยท Implemented Collections feature โ users can create named collections (like playlists) to organize favorites. Added user_collections + collection_items tables, full CRUD API, CollectionCard/CreateCollectionModal/AddToCollectionSheet components, collection detail screen, and redesigned Favorites tab with horizontal collection scroll.
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 โ 2026-02-28 ยท Initial Plan
- pmpt ํ๋ก์ ํธ ์ด๊ธฐํ, plan.md + pmpt.ai.md ์์ฑ
- ์ด๊ธฐ ํ ํฌ์คํ: Supabase + PostgreSQL + Node.js
v2 โ 2026-02-28 ยท Tech Stack Migration
- ํ ํฌ์คํ ์ ํ: Supabase โ Cloudflare Workers (Hono) + D1
- ํฌ๋กค๋ง ์์ค ์ ๋ฆฌ (Reddit ์ ๊ฑฐ, HN ์ค์ฌ)
- ๋ณด์ ์น์ ์ถ๊ฐ (AES-GCM ํ ํฐ ์ํธํ, JWT, CORS, Rate Limiting)
v3 โ 2026-03-01 ยท Core Architecture
- ์นด๋ ๋์์ธ ์์ธํ (์์ค ์ปฌ๋ฌ ํค๋, ํฌํ ๊ทธ๋ฆฌ๋, GitHub ์นด๋)
- ๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ฅ (github_url, stars, forks, language, tags, impression_count ๋ฑ)
- ํผ๋ ์๊ณ ๋ฆฌ์ฆ (impression ๊ธฐ๋ฐ ๊ณต์ ๋ ธ์ถ) + ๋ญํน ์๊ณ ๋ฆฌ์ฆ (์น์ธ์จ ๊ธฐ๋ฐ)
- Cross-tab ์ํ ๊ด๋ฆฌ (LocalVotesContext)
v4 โ 2026-03-01 ยท Algorithm Refinement
- ๋ญํน ์ต์ ๋ ธ์ถ 10โ1๋ก ์ํ
- ํผ๋ ์ ๋ ฌ RANDOM() โ deterministic (id ASC) ๋ณ๊ฒฝ
- GitHub-only ํํฐ ์ ์ฉ (GitHub URL ์๋ ์์ด๋์ด๋ง ์ ์ฅ)
- HTML ์ํฐํฐ ๋์ฝ๋ฉ, useRef ํจํด์ผ๋ก stale closure ๋ฐฉ์ง
- ์นด๋ Sticky Footer ๋์์ธ
v5 โ 2026-03-01 ยท Rankings Polish
- ํฌํ 0๊ฑด ์์ด๋์ด ๋ญํน์์ ์จ๊น ์ฒ๋ฆฌ
v6~v8 โ 2026-03-01 ยท API Pagination & Docs
- API ideas ์๋ํฌ์ธํธ์ pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
- COUNT ์ฟผ๋ฆฌ Promise.all ๋ณ๋ ฌ ์คํ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ
- pmpt docs ๋ณต์ ๋ฐ ์ ๋ฆฌ, ํ์ฌ DB 142๊ฐ ์์ด๋์ด
v9 โ 2026-03-01 ยท Commit & Publish
- Git ์ปค๋ฐ/ํธ์ ์๋ฃ (ee9a50a)
- pmptwiki ์ฒซ ํผ๋ธ๋ฆฌ์ ์๋ฃ
v9 โ 2026-03-01
- Snapshot Log ์ ๋ฆฌ โ v1~v9 ์ ์ฒด ์ด๋ ฅ ๊ธฐ๋ก ์์ฑ
v10 โ 2026-03-01
- Pre-publish ์ฒดํฌ๋ฆฌ์คํธ ์๋ฃ โ ์ ์ฒด ์ค๋ ์ท .meta.json note ๋ณด๊ฐ ๋ฐ pmpt.md Snapshot Log ์ ๋น
v11 โ 2026-03-01
- Translate plan.md and plan-progress.json to English for international audience
v12 โ Multi-source Crawlers + Onboarding + UI Polish
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง์ผ๋ก Cloudflare 50 subrequest ์ ํ ๋์), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Rankings Daily ํญ, ํ๋กํ ์ซ์ ํฌ๋งท (1k+234), ์นด๋/๋ฒํผ ํฌ๊ธฐ ๊ฐ์ , ์ค์์ดํ ํํธ ํดํ
v12 โ 2026-03-01
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Daily ๋ญํน ํญ, ํ๋กํ 1k+234 ํฌ๋งท, ์ค์์ดํ ํํธ ํดํ, ์นด๋/๋ฒํผ ๋ ์ด์์ ๊ฐ์
v13 โ 2026-03-02
- Implemented Impression system โ Super Like triggers bottom-sheet modal for writing 300-char first impressions with inspiration prompts. Added daily quotes in Discover header, reflection prompts in empty state, My Impressions section in Profile with teal-bordered cards, Idea Explorer level badges (Lv1-5), full impressions list page, and impression display in Favorite detail. Backend: new impression/vote_type columns on user_favorites, GET /api/favorites/impressions, POST /api/favorites/:id/impression endpoints.
v14 โ 2026-03-02
- Implemented Collections feature โ users can create named collections (like playlists) to organize favorites. Added user_collections + collection_items tables, full CRUD API, CollectionCard/CreateCollectionModal/AddToCollectionSheet components, collection detail screen, and redesigned Favorites tab with horizontal collection scroll.
Files (2)
2026-03-02
- ยท Implemented Impression system โ Super Like triggers bottom-sheet modal for writing 300-char first impressions with inspiration prompts. Added daily quotes in Discover header, reflection prompts in empty state, My Impressions section in Profile with teal-bordered cards, Idea Explorer level badges (Lv1-5), full impressions list page, and impression display in Favorite detail. Backend: new impression/vote_type columns on user_favorites, GET /api/favorites/impressions, POST /api/favorites/:id/impression endpoints.
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 โ 2026-02-28 ยท Initial Plan
- pmpt ํ๋ก์ ํธ ์ด๊ธฐํ, plan.md + pmpt.ai.md ์์ฑ
- ์ด๊ธฐ ํ ํฌ์คํ: Supabase + PostgreSQL + Node.js
v2 โ 2026-02-28 ยท Tech Stack Migration
- ํ ํฌ์คํ ์ ํ: Supabase โ Cloudflare Workers (Hono) + D1
- ํฌ๋กค๋ง ์์ค ์ ๋ฆฌ (Reddit ์ ๊ฑฐ, HN ์ค์ฌ)
- ๋ณด์ ์น์ ์ถ๊ฐ (AES-GCM ํ ํฐ ์ํธํ, JWT, CORS, Rate Limiting)
v3 โ 2026-03-01 ยท Core Architecture
- ์นด๋ ๋์์ธ ์์ธํ (์์ค ์ปฌ๋ฌ ํค๋, ํฌํ ๊ทธ๋ฆฌ๋, GitHub ์นด๋)
- ๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ฅ (github_url, stars, forks, language, tags, impression_count ๋ฑ)
- ํผ๋ ์๊ณ ๋ฆฌ์ฆ (impression ๊ธฐ๋ฐ ๊ณต์ ๋ ธ์ถ) + ๋ญํน ์๊ณ ๋ฆฌ์ฆ (์น์ธ์จ ๊ธฐ๋ฐ)
- Cross-tab ์ํ ๊ด๋ฆฌ (LocalVotesContext)
v4 โ 2026-03-01 ยท Algorithm Refinement
- ๋ญํน ์ต์ ๋ ธ์ถ 10โ1๋ก ์ํ
- ํผ๋ ์ ๋ ฌ RANDOM() โ deterministic (id ASC) ๋ณ๊ฒฝ
- GitHub-only ํํฐ ์ ์ฉ (GitHub URL ์๋ ์์ด๋์ด๋ง ์ ์ฅ)
- HTML ์ํฐํฐ ๋์ฝ๋ฉ, useRef ํจํด์ผ๋ก stale closure ๋ฐฉ์ง
- ์นด๋ Sticky Footer ๋์์ธ
v5 โ 2026-03-01 ยท Rankings Polish
- ํฌํ 0๊ฑด ์์ด๋์ด ๋ญํน์์ ์จ๊น ์ฒ๋ฆฌ
v6~v8 โ 2026-03-01 ยท API Pagination & Docs
- API ideas ์๋ํฌ์ธํธ์ pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
- COUNT ์ฟผ๋ฆฌ Promise.all ๋ณ๋ ฌ ์คํ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ
- pmpt docs ๋ณต์ ๋ฐ ์ ๋ฆฌ, ํ์ฌ DB 142๊ฐ ์์ด๋์ด
v9 โ 2026-03-01 ยท Commit & Publish
- Git ์ปค๋ฐ/ํธ์ ์๋ฃ (ee9a50a)
- pmptwiki ์ฒซ ํผ๋ธ๋ฆฌ์ ์๋ฃ
v9 โ 2026-03-01
- Snapshot Log ์ ๋ฆฌ โ v1~v9 ์ ์ฒด ์ด๋ ฅ ๊ธฐ๋ก ์์ฑ
v10 โ 2026-03-01
- Pre-publish ์ฒดํฌ๋ฆฌ์คํธ ์๋ฃ โ ์ ์ฒด ์ค๋ ์ท .meta.json note ๋ณด๊ฐ ๋ฐ pmpt.md Snapshot Log ์ ๋น
v11 โ 2026-03-01
- Translate plan.md and plan-progress.json to English for international audience
v12 โ Multi-source Crawlers + Onboarding + UI Polish
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง์ผ๋ก Cloudflare 50 subrequest ์ ํ ๋์), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Rankings Daily ํญ, ํ๋กํ ์ซ์ ํฌ๋งท (1k+234), ์นด๋/๋ฒํผ ํฌ๊ธฐ ๊ฐ์ , ์ค์์ดํ ํํธ ํดํ
v12 โ 2026-03-01
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Daily ๋ญํน ํญ, ํ๋กํ 1k+234 ํฌ๋งท, ์ค์์ดํ ํํธ ํดํ, ์นด๋/๋ฒํผ ๋ ์ด์์ ๊ฐ์
v13 โ 2026-03-02
- Implemented Impression system โ Super Like triggers bottom-sheet modal for writing 300-char first impressions with inspiration prompts. Added daily quotes in Discover header, reflection prompts in empty state, My Impressions section in Profile with teal-bordered cards, Idea Explorer level badges (Lv1-5), full impressions list page, and impression display in Favorite detail. Backend: new impression/vote_type columns on user_favorites, GET /api/favorites/impressions, POST /api/favorites/:id/impression endpoints.
Files (2)
Multi-source Crawlers + Onboarding + UI Polish
- ยท DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง์ผ๋ก Cloudflare 50 subrequest ์ ํ ๋์), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Rankings Daily ํญ, ํ๋กํ ์ซ์ ํฌ๋งท (1k+234), ์นด๋/๋ฒํผ ํฌ๊ธฐ ๊ฐ์ , ์ค์์ดํ ํํธ ํดํ
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 โ 2026-02-28 ยท Initial Plan
- pmpt ํ๋ก์ ํธ ์ด๊ธฐํ, plan.md + pmpt.ai.md ์์ฑ
- ์ด๊ธฐ ํ ํฌ์คํ: Supabase + PostgreSQL + Node.js
v2 โ 2026-02-28 ยท Tech Stack Migration
- ํ ํฌ์คํ ์ ํ: Supabase โ Cloudflare Workers (Hono) + D1
- ํฌ๋กค๋ง ์์ค ์ ๋ฆฌ (Reddit ์ ๊ฑฐ, HN ์ค์ฌ)
- ๋ณด์ ์น์ ์ถ๊ฐ (AES-GCM ํ ํฐ ์ํธํ, JWT, CORS, Rate Limiting)
v3 โ 2026-03-01 ยท Core Architecture
- ์นด๋ ๋์์ธ ์์ธํ (์์ค ์ปฌ๋ฌ ํค๋, ํฌํ ๊ทธ๋ฆฌ๋, GitHub ์นด๋)
- ๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ฅ (github_url, stars, forks, language, tags, impression_count ๋ฑ)
- ํผ๋ ์๊ณ ๋ฆฌ์ฆ (impression ๊ธฐ๋ฐ ๊ณต์ ๋ ธ์ถ) + ๋ญํน ์๊ณ ๋ฆฌ์ฆ (์น์ธ์จ ๊ธฐ๋ฐ)
- Cross-tab ์ํ ๊ด๋ฆฌ (LocalVotesContext)
v4 โ 2026-03-01 ยท Algorithm Refinement
- ๋ญํน ์ต์ ๋ ธ์ถ 10โ1๋ก ์ํ
- ํผ๋ ์ ๋ ฌ RANDOM() โ deterministic (id ASC) ๋ณ๊ฒฝ
- GitHub-only ํํฐ ์ ์ฉ (GitHub URL ์๋ ์์ด๋์ด๋ง ์ ์ฅ)
- HTML ์ํฐํฐ ๋์ฝ๋ฉ, useRef ํจํด์ผ๋ก stale closure ๋ฐฉ์ง
- ์นด๋ Sticky Footer ๋์์ธ
v5 โ 2026-03-01 ยท Rankings Polish
- ํฌํ 0๊ฑด ์์ด๋์ด ๋ญํน์์ ์จ๊น ์ฒ๋ฆฌ
v6~v8 โ 2026-03-01 ยท API Pagination & Docs
- API ideas ์๋ํฌ์ธํธ์ pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
- COUNT ์ฟผ๋ฆฌ Promise.all ๋ณ๋ ฌ ์คํ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ
- pmpt docs ๋ณต์ ๋ฐ ์ ๋ฆฌ, ํ์ฌ DB 142๊ฐ ์์ด๋์ด
v9 โ 2026-03-01 ยท Commit & Publish
- Git ์ปค๋ฐ/ํธ์ ์๋ฃ (ee9a50a)
- pmptwiki ์ฒซ ํผ๋ธ๋ฆฌ์ ์๋ฃ
v9 โ 2026-03-01
- Snapshot Log ์ ๋ฆฌ โ v1~v9 ์ ์ฒด ์ด๋ ฅ ๊ธฐ๋ก ์์ฑ
v10 โ 2026-03-01
- Pre-publish ์ฒดํฌ๋ฆฌ์คํธ ์๋ฃ โ ์ ์ฒด ์ค๋ ์ท .meta.json note ๋ณด๊ฐ ๋ฐ pmpt.md Snapshot Log ์ ๋น
v11 โ 2026-03-01
- Translate plan.md and plan-progress.json to English for international audience
v12 โ Multi-source Crawlers + Onboarding + UI Polish
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง์ผ๋ก Cloudflare 50 subrequest ์ ํ ๋์), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Rankings Daily ํญ, ํ๋กํ ์ซ์ ํฌ๋งท (1k+234), ์นด๋/๋ฒํผ ํฌ๊ธฐ ๊ฐ์ , ์ค์์ดํ ํํธ ํดํ
v12 โ 2026-03-01
- DEV.to + GitHub Search ํฌ๋กค๋ฌ ์ถ๊ฐ (๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง), ์จ๋ณด๋ฉ 3ํ์ด์ง ํ๋ก์ฐ, Favorite ์์ธ ๋ชจ๋ฌ ํ์ด์ง, Daily ๋ญํน ํญ, ํ๋กํ 1k+234 ํฌ๋งท, ์ค์์ดํ ํํธ ํดํ, ์นด๋/๋ฒํผ ๋ ์ด์์ ๊ฐ์
Files (2)
2026-03-01
- ยท Translate plan.md and plan-progress.json to English for international audience
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 โ 2026-02-28 ยท Initial Plan
- pmpt ํ๋ก์ ํธ ์ด๊ธฐํ, plan.md + pmpt.ai.md ์์ฑ
- ์ด๊ธฐ ํ ํฌ์คํ: Supabase + PostgreSQL + Node.js
v2 โ 2026-02-28 ยท Tech Stack Migration
- ํ ํฌ์คํ ์ ํ: Supabase โ Cloudflare Workers (Hono) + D1
- ํฌ๋กค๋ง ์์ค ์ ๋ฆฌ (Reddit ์ ๊ฑฐ, HN ์ค์ฌ)
- ๋ณด์ ์น์ ์ถ๊ฐ (AES-GCM ํ ํฐ ์ํธํ, JWT, CORS, Rate Limiting)
v3 โ 2026-03-01 ยท Core Architecture
- ์นด๋ ๋์์ธ ์์ธํ (์์ค ์ปฌ๋ฌ ํค๋, ํฌํ ๊ทธ๋ฆฌ๋, GitHub ์นด๋)
- ๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ฅ (github_url, stars, forks, language, tags, impression_count ๋ฑ)
- ํผ๋ ์๊ณ ๋ฆฌ์ฆ (impression ๊ธฐ๋ฐ ๊ณต์ ๋ ธ์ถ) + ๋ญํน ์๊ณ ๋ฆฌ์ฆ (์น์ธ์จ ๊ธฐ๋ฐ)
- Cross-tab ์ํ ๊ด๋ฆฌ (LocalVotesContext)
v4 โ 2026-03-01 ยท Algorithm Refinement
- ๋ญํน ์ต์ ๋ ธ์ถ 10โ1๋ก ์ํ
- ํผ๋ ์ ๋ ฌ RANDOM() โ deterministic (id ASC) ๋ณ๊ฒฝ
- GitHub-only ํํฐ ์ ์ฉ (GitHub URL ์๋ ์์ด๋์ด๋ง ์ ์ฅ)
- HTML ์ํฐํฐ ๋์ฝ๋ฉ, useRef ํจํด์ผ๋ก stale closure ๋ฐฉ์ง
- ์นด๋ Sticky Footer ๋์์ธ
v5 โ 2026-03-01 ยท Rankings Polish
- ํฌํ 0๊ฑด ์์ด๋์ด ๋ญํน์์ ์จ๊น ์ฒ๋ฆฌ
v6~v8 โ 2026-03-01 ยท API Pagination & Docs
- API ideas ์๋ํฌ์ธํธ์ pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
- COUNT ์ฟผ๋ฆฌ Promise.all ๋ณ๋ ฌ ์คํ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ
- pmpt docs ๋ณต์ ๋ฐ ์ ๋ฆฌ, ํ์ฌ DB 142๊ฐ ์์ด๋์ด
v9 โ 2026-03-01 ยท Commit & Publish
- Git ์ปค๋ฐ/ํธ์ ์๋ฃ (ee9a50a)
- pmptwiki ์ฒซ ํผ๋ธ๋ฆฌ์ ์๋ฃ
v9 โ 2026-03-01
- Snapshot Log ์ ๋ฆฌ โ v1~v9 ์ ์ฒด ์ด๋ ฅ ๊ธฐ๋ก ์์ฑ
v10 โ 2026-03-01
- Pre-publish ์ฒดํฌ๋ฆฌ์คํธ ์๋ฃ โ ์ ์ฒด ์ค๋ ์ท .meta.json note ๋ณด๊ฐ ๋ฐ pmpt.md Snapshot Log ์ ๋น
v11 โ 2026-03-01
- Translate plan.md and plan-progress.json to English for international audience
Files (2)
2026-03-01
- ยท Pre-publish ์ฒดํฌ๋ฆฌ์คํธ ์๋ฃ โ ์ ์ฒด ์ค๋ ์ท .meta.json note ๋ณด๊ฐ ๋ฐ pmpt.md Snapshot Log ์ ๋น
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 โ 2026-02-28 ยท Initial Plan
- pmpt ํ๋ก์ ํธ ์ด๊ธฐํ, plan.md + pmpt.ai.md ์์ฑ
- ์ด๊ธฐ ํ ํฌ์คํ: Supabase + PostgreSQL + Node.js
v2 โ 2026-02-28 ยท Tech Stack Migration
- ํ ํฌ์คํ ์ ํ: Supabase โ Cloudflare Workers (Hono) + D1
- ํฌ๋กค๋ง ์์ค ์ ๋ฆฌ (Reddit ์ ๊ฑฐ, HN ์ค์ฌ)
- ๋ณด์ ์น์ ์ถ๊ฐ (AES-GCM ํ ํฐ ์ํธํ, JWT, CORS, Rate Limiting)
v3 โ 2026-03-01 ยท Core Architecture
- ์นด๋ ๋์์ธ ์์ธํ (์์ค ์ปฌ๋ฌ ํค๋, ํฌํ ๊ทธ๋ฆฌ๋, GitHub ์นด๋)
- ๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ฅ (github_url, stars, forks, language, tags, impression_count ๋ฑ)
- ํผ๋ ์๊ณ ๋ฆฌ์ฆ (impression ๊ธฐ๋ฐ ๊ณต์ ๋ ธ์ถ) + ๋ญํน ์๊ณ ๋ฆฌ์ฆ (์น์ธ์จ ๊ธฐ๋ฐ)
- Cross-tab ์ํ ๊ด๋ฆฌ (LocalVotesContext)
v4 โ 2026-03-01 ยท Algorithm Refinement
- ๋ญํน ์ต์ ๋ ธ์ถ 10โ1๋ก ์ํ
- ํผ๋ ์ ๋ ฌ RANDOM() โ deterministic (id ASC) ๋ณ๊ฒฝ
- GitHub-only ํํฐ ์ ์ฉ (GitHub URL ์๋ ์์ด๋์ด๋ง ์ ์ฅ)
- HTML ์ํฐํฐ ๋์ฝ๋ฉ, useRef ํจํด์ผ๋ก stale closure ๋ฐฉ์ง
- ์นด๋ Sticky Footer ๋์์ธ
v5 โ 2026-03-01 ยท Rankings Polish
- ํฌํ 0๊ฑด ์์ด๋์ด ๋ญํน์์ ์จ๊น ์ฒ๋ฆฌ
v6~v8 โ 2026-03-01 ยท API Pagination & Docs
- API ideas ์๋ํฌ์ธํธ์ pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
- COUNT ์ฟผ๋ฆฌ Promise.all ๋ณ๋ ฌ ์คํ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ
- pmpt docs ๋ณต์ ๋ฐ ์ ๋ฆฌ, ํ์ฌ DB 142๊ฐ ์์ด๋์ด
v9 โ 2026-03-01 ยท Commit & Publish
- Git ์ปค๋ฐ/ํธ์ ์๋ฃ (ee9a50a)
- pmptwiki ์ฒซ ํผ๋ธ๋ฆฌ์ ์๋ฃ
v9 โ 2026-03-01
- Snapshot Log ์ ๋ฆฌ โ v1~v9 ์ ์ฒด ์ด๋ ฅ ๊ธฐ๋ก ์์ฑ
v10 โ 2026-03-01
- Pre-publish ์ฒดํฌ๋ฆฌ์คํธ ์๋ฃ โ ์ ์ฒด ์ค๋ ์ท .meta.json note ๋ณด๊ฐ ๋ฐ pmpt.md Snapshot Log ์ ๋น
Files (2)
2026-03-01 ยท Commit & Publish
- ยท Git ์ปค๋ฐ/ํธ์ ์๋ฃ (ee9a50a)
- ยท pmptwiki ์ฒซ ํผ๋ธ๋ฆฌ์ ์๋ฃ
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 โ 2026-02-28 ยท Initial Plan
- pmpt ํ๋ก์ ํธ ์ด๊ธฐํ, plan.md + pmpt.ai.md ์์ฑ
- ์ด๊ธฐ ํ ํฌ์คํ: Supabase + PostgreSQL + Node.js
v2 โ 2026-02-28 ยท Tech Stack Migration
- ํ ํฌ์คํ ์ ํ: Supabase โ Cloudflare Workers (Hono) + D1
- ํฌ๋กค๋ง ์์ค ์ ๋ฆฌ (Reddit ์ ๊ฑฐ, HN ์ค์ฌ)
- ๋ณด์ ์น์ ์ถ๊ฐ (AES-GCM ํ ํฐ ์ํธํ, JWT, CORS, Rate Limiting)
v3 โ 2026-03-01 ยท Core Architecture
- ์นด๋ ๋์์ธ ์์ธํ (์์ค ์ปฌ๋ฌ ํค๋, ํฌํ ๊ทธ๋ฆฌ๋, GitHub ์นด๋)
- ๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ฅ (github_url, stars, forks, language, tags, impression_count ๋ฑ)
- ํผ๋ ์๊ณ ๋ฆฌ์ฆ (impression ๊ธฐ๋ฐ ๊ณต์ ๋ ธ์ถ) + ๋ญํน ์๊ณ ๋ฆฌ์ฆ (์น์ธ์จ ๊ธฐ๋ฐ)
- Cross-tab ์ํ ๊ด๋ฆฌ (LocalVotesContext)
v4 โ 2026-03-01 ยท Algorithm Refinement
- ๋ญํน ์ต์ ๋ ธ์ถ 10โ1๋ก ์ํ
- ํผ๋ ์ ๋ ฌ RANDOM() โ deterministic (id ASC) ๋ณ๊ฒฝ
- GitHub-only ํํฐ ์ ์ฉ (GitHub URL ์๋ ์์ด๋์ด๋ง ์ ์ฅ)
- HTML ์ํฐํฐ ๋์ฝ๋ฉ, useRef ํจํด์ผ๋ก stale closure ๋ฐฉ์ง
- ์นด๋ Sticky Footer ๋์์ธ
v5 โ 2026-03-01 ยท Rankings Polish
- ํฌํ 0๊ฑด ์์ด๋์ด ๋ญํน์์ ์จ๊น ์ฒ๋ฆฌ
v6~v8 โ 2026-03-01 ยท API Pagination & Docs
- API ideas ์๋ํฌ์ธํธ์ pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
- COUNT ์ฟผ๋ฆฌ Promise.all ๋ณ๋ ฌ ์คํ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ
- pmpt docs ๋ณต์ ๋ฐ ์ ๋ฆฌ, ํ์ฌ DB 142๊ฐ ์์ด๋์ด
v9 โ 2026-03-01 ยท Commit & Publish
- Git ์ปค๋ฐ/ํธ์ ์๋ฃ (ee9a50a)
- pmptwiki ์ฒซ ํผ๋ธ๋ฆฌ์ ์๋ฃ
v9 โ 2026-03-01
- Snapshot Log ์ ๋ฆฌ โ v1~v9 ์ ์ฒด ์ด๋ ฅ ๊ธฐ๋ก ์์ฑ
Files (2)
2026-03-01
- ยท Docs ๋ณต์ + API pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 - Initial Setup
- Project initialized with pmpt
This document tracks your project progress. Update it as you build.
AI instructions are in pmpt.ai.md โ paste that into your AI tool.
v8 โ 2026-03-01
- Docs ๋ณต์ + API pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore)
Files (2)
Docs Restructure โ pmpt_plan ์คํ์ผ๋ก pmpt.md ์ ๊ท ์์ฑ (ํ๋ก์ ํธ ์งํ ์ถ์ ์ฉ). ๊ทธ๋ฌ๋ pmpt_plan์ด ๊ธฐ์กด ์์ธ docs๋ฅผ ๋ฎ์ด์ฐ๋ ๋ฌธ์ ๋ฐ์. plan.md๊ฐ ๊ฐ๋ตํ ํ ํ๋ฆฟ์ผ๋ก ๋์ฒด๋๊ณ , pmpt.ai.md์ ์์ธ ์ํคํ ์ฒ ๋ฌธ์๊ฐ ๋จ์ ์์ฝ์ผ๋ก ๊ต์ฒด๋จ. ์ดํ v8์์ v5 ์ค๋ ์ท ๊ธฐ๋ฐ์ผ๋ก ๋ณต์ ์งํ.
plan.md, pmpt.ai.md, pmpt.md
Detail
joltit
Product Idea
์ค์์ดํ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์์ด๋์ด๋ฅผ ํ๊ฐํ๋ ๋ชจ๋ฐ์ผ ์ฑ. ํด์ปค๋ด์ค์์ GitHub ํ๋ก์ ํธ๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์๋ ํฌ๋กค๋งํ๊ณ , ํด๋์ฒ๋ผ ์ค์์ดํํ์ฌ ํ๊ฐ. ์ปค๋ฎค๋ํฐ ํฌํ ๊ธฐ๋ฐ ๋ญํน, ์ฐ ๋ชฉ๋ก, GitHub OAuth ์ฐ๋.
Features
- ์ค์์ดํ ํ๊ฐ (Like/Pass/Super Like)
- HN ์์ด๋์ด ์๋ ํฌ๋กค๋ง (6์๊ฐ๋ง๋ค)
- ๋ญํน/ํต๊ณ (์ ์ฒด/์ฃผ๊ฐ/์๊ฐ)
- ์ฐ ๋ชฉ๋ก + ๋ฉ๋ชจ
- GitHub OAuth ๋ก๊ทธ์ธ
Tech Stack
React Native (Expo SDK 54, expo-router), Cloudflare Workers (Hono) + D1, Cloudflare Cron Triggers, GitHub OAuth
Progress
- Project setup
- Core features implementation
- Testing & polish
Snapshot Log
v1 - Initial Setup
- Project initialized with pmpt
This document tracks your project progress. Update it as you build.
AI instructions are in pmpt.ai.md โ paste that into your AI tool.
Files (2)
API ideas ์๋ํฌ์ธํธ์ pagination ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (page, offset, total, totalPages, hasMore). COUNT ์ฟผ๋ฆฌ๋ฅผ Promise.all๋ก ๋ณ๋ ฌ ์คํํ์ฌ ์ฑ๋ฅ ์ต์ ํ.
pmpt.ai.md
Detail
Files (2)
2026-03-01 ยท Rankings Polish
- ยท ํฌํ 0๊ฑด ์์ด๋์ด ๋ญํน์์ ์จ๊น ์ฒ๋ฆฌ
Detail
Files (2)
2026-03-01 ยท Algorithm Refinement
- ยท ๋ญํน ์ต์ ๋ ธ์ถ 10โ1๋ก ์ํ
- ยท ํผ๋ ์ ๋ ฌ RANDOM() โ deterministic (id ASC) ๋ณ๊ฒฝ
- ยท GitHub-only ํํฐ ์ ์ฉ (GitHub URL ์๋ ์์ด๋์ด๋ง ์ ์ฅ)
- ยท HTML ์ํฐํฐ ๋์ฝ๋ฉ, useRef ํจํด์ผ๋ก stale closure ๋ฐฉ์ง
- ยท ์นด๋ Sticky Footer ๋์์ธ
Detail
Files (2)
2026-03-01 ยท Core Architecture
- ยท ์นด๋ ๋์์ธ ์์ธํ (์์ค ์ปฌ๋ฌ ํค๋, ํฌํ ๊ทธ๋ฆฌ๋, GitHub ์นด๋)
- ยท ๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ฅ (github_url, stars, forks, language, tags, impression_count ๋ฑ)
- ยท ํผ๋ ์๊ณ ๋ฆฌ์ฆ (impression ๊ธฐ๋ฐ ๊ณต์ ๋ ธ์ถ) + ๋ญํน ์๊ณ ๋ฆฌ์ฆ (์น์ธ์จ ๊ธฐ๋ฐ)
- ยท Cross-tab ์ํ ๊ด๋ฆฌ (LocalVotesContext)
Detail
Files (2)
2026-02-28 ยท Tech Stack Migration
- ยท ํ ํฌ์คํ ์ ํ: Supabase โ Cloudflare Workers (Hono) + D1
- ยท ํฌ๋กค๋ง ์์ค ์ ๋ฆฌ (Reddit ์ ๊ฑฐ, HN ์ค์ฌ)
- ยท ๋ณด์ ์น์ ์ถ๊ฐ (AES-GCM ํ ํฐ ์ํธํ, JWT, CORS, Rate Limiting)
Detail
Files (2)
2026-02-28 ยท Initial Plan
- ยท pmpt ํ๋ก์ ํธ ์ด๊ธฐํ, plan.md + pmpt.ai.md ์์ฑ
- ยท ์ด๊ธฐ ํ ํฌ์คํ: Supabase + PostgreSQL + Node.js
Detail
Files (2)