fren
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data β all from the browser, and deployed in milliseconds.
index.ts
https://artivilla--687b89d237a011f0ba3d9e149126039e.web.val.run
A React-based web application for browsing, searching, and copying AI prompts, similar to ray.so/prompts/browser.
- Browse Prompts: View a curated collection of AI prompts across different categories
- Search Functionality: Search prompts by title, description, or content
- Category Filtering: Filter prompts by category (coding, writing, business, etc.)
- One-Click Copy: Copy prompts to clipboard with visual feedback
- Responsive Design: Works seamlessly on desktop and mobile devices
- Clean UI: Modern, card-based interface with Tailwind CSS
βββ backend/
β βββ index.ts # Hono server for serving static files
βββ frontend/
β βββ index.html # Main HTML template
β βββ index.tsx # React app entry point
β βββ components/
β βββ App.tsx # Main app component
β βββ PromptCard.tsx # Individual prompt card
β βββ SearchBar.tsx # Search input component
β βββ CategoryFilter.tsx # Category dropdown filter
βββ shared/
β βββ types.ts # TypeScript interfaces
β βββ prompts.ts # Sample prompt data
βββ README.md
- Coding: Code review, debugging, API documentation
- Writing: Creative writing, content creation
- Business: Strategy analysis, email templates, personal branding
- Analysis: Data interpretation, problem-solving frameworks
- Education: Learning path creation, skill development
- Creative: Creative prompts and ideation
- Productivity: Meeting agendas, workflow optimization
- Browse the collection of prompts in the main grid
- Use the search bar to find specific prompts
- Filter by category using the dropdown
- Click "Copy" on any prompt card to copy it to your clipboard
- Paste the prompt into your AI tool of choice
- Built with React 18.2.0 and TypeScript
- Styled with Tailwind CSS via Twind
- Served using Hono framework
- Clipboard API for copy functionality
- Responsive grid layout
To add new prompts, edit /shared/prompts.ts
and add new prompt objects following the Prompt
interface defined in /shared/types.ts
.
Each prompt should include:
id
: Unique identifiertitle
: Short, descriptive titledescription
: Brief explanation of the prompt's purposecontent
: The actual prompt textcategory
: Category for filteringauthor
: Prompt creatortags
: Optional array of tags for additional categorization