• Townie
    AI
  • Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
kyei94

kyei94

GuitarBoard

Public
Like
GuitarBoard
Home
Code
4
backend
2
frontend
3
shared
1
README.md
Branches
1
Pull requests
Remixes
History
Environment variables
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.
Sign up now
Code
/
Code
/
Search
index.ts
https://kyei94--05f10fac3fad11f0ac6b76b3cceeab13.web.val.run
README.md

GuitarHub 🎸

A comprehensive platform for guitarists to find work opportunities and connect with fellow musicians through real-time chat.

Features

Job Board πŸ’Ό

  • Post and browse guitar gigs, session work, band positions, and teaching opportunities
  • Filter jobs by type, status, and location
  • Apply to jobs directly through the platform
  • Job categories: Gigs, Session Work, Band Members, Teaching, and Other
  • Real-time job status updates (Open, Filled, Closed)

Chat Room πŸ’¬

  • Real-time messaging using Server-Sent Events
  • Guitar-themed interface with emoji reactions
  • User nicknames and timestamps
  • Message persistence with SQLite

User Experience

  • Responsive design with TailwindCSS
  • Tabbed interface for easy navigation between jobs and chat
  • Guitar-themed UI with musical emojis and styling

Project Structure

β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ database/
β”‚   β”‚   β”œβ”€β”€ migrations.ts    # Database schema for messages, jobs, and applications
β”‚   β”‚   └── queries.ts       # Database query functions
β”‚   └── index.ts             # Main Hono server with job and chat APIs
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ App.tsx          # Main app with tabbed interface
β”‚   β”‚   β”œβ”€β”€ ChatMessage.tsx  # Chat message component
β”‚   β”‚   β”œβ”€β”€ MessageInput.tsx # Chat input component
β”‚   β”‚   β”œβ”€β”€ JobBoard.tsx     # Job listings and management
β”‚   β”‚   β”œβ”€β”€ JobPosting.tsx   # Individual job display and application
β”‚   β”‚   └── JobPostingForm.tsx # Job creation form
β”‚   β”œβ”€β”€ index.html           # Main HTML template
β”‚   └── index.tsx            # React entry point
└── shared/
    └── types.ts             # Shared TypeScript types for chat and jobs

Tech Stack

  • Backend: Hono (TypeScript API framework)
  • Frontend: React 18.2.0 with TypeScript
  • Database: SQLite with three tables (messages, jobs, applications)
  • Styling: TailwindCSS
  • Real-time: Server-Sent Events (SSE) for chat

API Endpoints

Chat Endpoints

  • GET /api/messages - Get recent chat messages
  • POST /api/messages - Send a new chat message
  • GET /api/events - SSE endpoint for real-time chat updates

Job Endpoints

  • GET /api/jobs - Get job postings (with optional status filter)
  • GET /api/jobs/:id - Get specific job details
  • POST /api/jobs - Create a new job posting
  • PATCH /api/jobs/:id/status - Update job status
  • GET /api/jobs/:id/applications - Get applications for a job
  • POST /api/jobs/:id/apply - Apply to a specific job

Job Types

  • 🎀 Gig/Performance - Live performances, concerts, events
  • 🎧 Session Work - Studio recording sessions
  • 🎸 Band Member - Joining or forming bands
  • πŸ“š Teaching - Guitar lessons and instruction
  • 🎡 Other - Miscellaneous guitar-related work

Usage

  1. Getting Started: Enter your guitarist name to join the platform
  2. Browse Jobs: Use the Job Board tab to find work opportunities
  3. Post Jobs: Click "Post a Job" to create new opportunities
  4. Apply to Jobs: Submit applications directly through job postings
  5. Chat: Use the Chat Room tab to connect with other guitarists
  6. Filter & Search: Use filters to find specific types of work or locations

Database Schema

Messages Table

  • Chat messages with username, content, and timestamps

Jobs Table

  • Job postings with title, description, location, pay rate, type, contact info, and status

Applications Table

  • Job applications linking applicants to specific jobs with messages and contact details

The platform automatically handles job status management and provides a seamless experience for both job seekers and job posters in the guitar community.

HTTP
  • index.ts
    kyei94--05…13.web.val.run
Code
backendfrontendsharedREADME.md
FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
Β© 2025 Val Town, Inc.