A modern, glassmorphic AI prompt sharing platform for the next generation of creators, powered by Next.js 14, React, Tailwind CSS, and Supabase.
Temmbo is a full-stack web application for discovering, sharing, and managing high-quality prompts for large language models (LLMs) and generative AI. It features a TikTok-style infinite masonry feed, robust user authentication, real-time notifications, and a seamless, glassmorphic user experience for both anonymous and authenticated users.
- Infinite Masonry Feed: TikTok-style, responsive, and fast. Explore trending, new, and saved prompts.
- Prompt Creation: Add prompts with images, tags, and rich metadata. All uploads are attributed to users.
- Authentication: Email/password, magic link, and OAuth (Google, GitHub). Email verification required for restricted actions.
- User Profiles: View your uploads, likes, and collections in a modern, glassmorphic banner-style layout with slider toggles.
- Likes, Saves, Copies: Engage with the community and manage your favorite prompts. Copy prompts with one click.
- Comments & Replies: Threaded comments, likes/dislikes on comments, and reply notifications.
- Collections: Organize prompts into collections, with public/private options and color coding.
- Notifications: Real-time, per-user notifications for likes, saves, comments, replies, and copies. Delivered via a glassmorphic modal overlay.
- Branded OAuth: Google and GitHub sign in/up with branded, accessible buttons.
- Glassmorphic UI: Consistent overlays and modals (Create Prompt, Comments, Notifications, Auth, etc.) with accessibility in mind.
- Full Prompt Display: Complete prompt visibility on detail pages with proper text wrapping for long or unbroken content.
- Performance: Virtualized lists (react-window), API caching, and optimized Supabase queries for speed at scale.
- Accessibility: All modals and UI elements are accessible, keyboard-friendly, and screen-reader compatible.
- Admin Panel (optional): Moderate content, manage users, and view analytics (admin only).
- Profile Page Redesign: Glassmorphic banner-style profile cards with blue accent colors and improved breathing room
- Grid/List Toggle: Modern slider-style toggle for switching between prompt display modes
- Prompt Detail Enhancement: Full prompt display with proper text wrapping, ensuring long or unbroken prompts are always readable
- Glassmorphic Consistency: Unified design language across all components with backdrop blur and subtle borders
- List View Optimization: Compact, horizontally-oriented prompt cards for better content density
- Frontend: Next.js 14 (App Router, TypeScript), React, Tailwind CSS
- Backend: Supabase (Postgres, Auth, Storage, RLS)
- State Management: React Context, custom hooks
- UI: shadcn/ui, lucide-react icons, glassmorphic design
- Performance: react-window for list virtualization
- Project Management: Taskmaster (MCP) for AI-driven task and complexity management
Temmbo/
βββ app/ # Next.js app directory (routes, pages, layouts, modals)
β βββ explore/ # Explore page and related routes
β βββ notifications/ # Notifications modal/page (legacy)
β βββ p/ # Prompt detail pages
β βββ saved/ # Saved prompts
β βββ profile/ # User profile pages
β βββ clientLayout.tsx # Client-side layout logic
β βββ layout.tsx # Root layout
β βββ page.tsx # Main landing page
β βββ not-found.tsx # 404 page
β
βββ components/ # Reusable UI and logic components
β βββ ui/ # Shared UI primitives (buttons, modals, etc.)
β βββ sidebar.tsx # Main sidebar navigation
β βββ sign-up-modal.tsx # Sign up modal and logic
β βββ sign-in-modal.tsx # Sign in modal and logic
β βββ create-prompt-modal.tsx # Modal for creating prompts
β βββ notifications-modal.tsx # Modal for notifications
β βββ prompt-card.tsx # Prompt display card (grid/list views)
β βββ prompt-detail-view.tsx # Full prompt detail display
β βββ masonry-grid.tsx # Masonry feed layout
β βββ ... # Many more feature components
β
βββ lib/ # Utility functions and Supabase client
β βββ supabase/ # Supabase client setup (client.ts, server.ts)
β βββ ... # General utilities
β
βββ hooks/ # Custom React hooks
β βββ use-auth.ts # Authentication logic
β βββ use-saved-prompts.ts # Saved prompts logic
β βββ ... # Other hooks
β
βββ contexts/ # React context providers
β βββ saved-prompts-provider.tsx # Saved prompts context
β
βββ types/ # TypeScript type definitions
β βββ ... # Types for prompts, auth, etc.
β
βββ public/ # Static assets (images, icons)
β βββ ...
β
βββ styles/ # Tailwind and global CSS
β βββ globals.css
β
βββ .taskmaster/ # Taskmaster AI project management
β βββ docs/ # PRD and documentation
β β βββ prd.md # Product Requirements Document
β βββ reports/ # Complexity and analysis reports
β βββ tasks/ # Task files and tasks.json
β βββ templates/ # Example PRD templates
β βββ config.json # Taskmaster config
β
βββ package.json # Project dependencies and scripts
βββ tailwind.config.ts # TailwindCSS configuration
βββ tsconfig.json # TypeScript configuration
βββ next.config.mjs # Next.js configuration
βββ postcss.config.mjs # PostCSS configuration
βββ README.md # Project documentation (this file)
βββ .env.example # Example environment variables
Key Points:
- All main features are modularized in
components/andapp/. - Project management and planning are handled in
.taskmaster/using Taskmaster AI. - Utility logic, hooks, and types are separated for clarity and reusability.
- Static assets live in
public/, and all styling is managed with Tailwind instyles/.
- Supabase Auth handles all authentication:
- Sign up: Email/password, magic link, or OAuth (Google, GitHub)
- Email verification: Required for restricted actions (creating prompts)
- Sign in: Email/password or OAuth
- Forgot password: Email reset link
- User data is synced from
auth.userstopublic.usersvia a database trigger. - Session management is handled via Supabase client and React context.
- Row Level Security (RLS):
- RLS is enabled on all user data tables (users, prompts, comments, likes, saves, collections, comment_likes, audit_logs)
- Policies ensure users can only access their own data or public data as appropriate
- API Security:
- All API routes validate user auth and permissions
- Sensitive actions (create, update, delete) are protected
- OAuth:
- Branded Google and GitHub buttons, accessible and secure
- Browse Prompts: Visit the home page to see the infinite feed. Copy prompts with one click.
- Sign Up / Sign In: Create an account to unlock all features. Email verification is required for some actions.
- Create Prompts: Use the "Create Prompt" modal to add new prompts with images (uploaded to Supabase Storage).
- Like, Save, Copy: Interact with prompts and manage your favorites.
- Explore: Use the Explore page to search and discover prompts by keyword or tag.
- Profile: View your uploads, likes, and collections in your account page with the new glassmorphic design.
- View Modes: Switch between Grid and List views using the modern slider toggle.
- Prompt Details: Click on any prompt to view the full content with proper text wrapping.
- Notifications: View notifications for likes, saves, comments, replies, and copies in the notifications modal overlay.
- Collections: Organize prompts into collections, set public/private, and color code them.
- Comments & Replies: Add threaded comments, like/dislike comments, and reply to others.
- Admin Panel: (If you are an admin) Moderate content, manage users, and view analytics.
Prompts are ranked in the feed using a scoring formula:
score = (like_count Γ 1.5) + (save_count Γ 4) + (copy_count Γ 1) + (1200 / (hours since created + 2))
- The score is calculated in a Supabase view (
prompt_feed) and used for ordering. - The algorithm can be tuned as the community grows.
- No friend/social graph boost is currently implemented.
- Uploads: Only the user can see their private uploads; public uploads are visible to all.
- Collections: Public collections are visible to all; private collections are only visible to the owner.
- Likes/Saves: Users can view their liked/saved prompts in their profile.
- Strict privacy enforcement is implemented in both frontend and backend (Supabase RLS).
git clone https://github.com/DKim0909/temmbo.git
cd temmbopnpm install
# or
npm install- Copy
.env.exampleto.envand fill in your Supabase project credentials:NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY
- (Optional) Add API keys for Taskmaster AI if using advanced features.
- Create a Supabase project.
- Set up the database schema (see migrations or use the SQL editor):
public.userstable (synced withauth.users)prompts,comments,likes,saves,collections,notifications,copies,comment_likes,audit_logs
- Configure Storage buckets for prompt images.
- Set up Row Level Security (RLS) and policies as needed.
- Add the user sync trigger:
CREATE OR REPLACE FUNCTION public.handle_new_user() RETURNS trigger AS $$ BEGIN INSERT INTO public.users (id, email, username) VALUES ( NEW.id, NEW.email, COALESCE(NEW.raw_user_meta_data->>'username', '') ) ON CONFLICT (id) DO NOTHING; RETURN NEW; END; $$ LANGUAGE plpgsql SECURITY DEFINER; CREATE TRIGGER on_auth_user_created AFTER INSERT ON auth.users FOR EACH ROW EXECUTE FUNCTION public.handle_new_user();
pnpm dev
# or
npm run devVisit http://localhost:3000
- Taskmaster AI manages project tasks, subtasks, and complexity:
- Tasks are generated from the PRD (
.taskmaster/docs/prd.md). - Tasks are expanded, assigned, and tracked in
.taskmaster/tasks/tasks.json. - Use the Taskmaster CLI or MCP tools to view, update, and complete tasks.
- Complexity analysis and subtask expansion help break down large features.
- See
.taskmaster/for all project management files.
- Tasks are generated from the PRD (
- Fork the repo and create a feature branch.
- Use Taskmaster AI to add or expand tasks for your feature/bugfix.
- Follow the existing code style (TypeScript, Tailwind, modular components).
- Write clear commit messages and document your changes.
- Open a pull request and link to relevant tasks.
- Report bugs via GitHub Issues or Taskmaster tasks.
- Recommended: Deploy frontend on Vercel and backend on Supabase.
- Set all required environment variables in Vercel/Supabase dashboard.
- Ensure Supabase Storage and Auth redirect URLs are configured for your production domain.
- Run database migrations as needed.
- Created by: Temmbo team
- Project Management: Taskmaster AI
- License: MIT
For questions or help, open an issue or contact the maintainers.