Skip to content

justsml/emoji-brain

Repository files navigation

Emoji Explorer

View demo on Vercel View demo on Netlify Vercel Netlify

Demo/educational project for emoji browsing, searching, and exporting.

A simple Astro app for browsing, searching, and exporting emojis. Built with React, Shadcn and Tailwind CSS.

A beautiful web application for browsing, searching, and exporting emojis with a responsive grid layout.

Features

  • Self-hostable: Manage your private, artisinal emoji collection 🍺
  • Responsive Grid Layout: Adapts seamlessly from 3 columns on mobile to 9 columns on desktop
  • Instant Serverless Search: Filter emojis by name, category, or tags (0% Algolia)
  • Category Filtering: Quick access to emojis by category
  • Selection System: Save your favorite emojis with persistent state
  • Export Options: Export selected emojis as plain text, HTML, CSS, or ZIP
  • Dark Mode Support: Automatic system preference detection for light/dark mode
  • Keyboard Navigation: Full keyboard support for accessibility
  • Screen Reader Compatible: Accessible to all users
  • Slack import/export script generator
  • Discord import/export script generator
  • Custom emoji support
  • Upload custom emojis
  • AI Emoji Remixer? Local?
  • URL based state (bitwise encoding? base64? what does excalidraw do?)
  • AuthN/Z?

Technology Stack

  • Framework: Astro with React islands
  • UI Components: shadcn/ui for a polished interface
  • Backend: None (static site)
  • Hosting: CDN (e.g., Vercel, Netlify)
  • Search: Client-side search with Fuse.js
  • Styling: Tailwind CSS
  • Language: TypeScript
  • Data: Static JSON for emoji metadata
  • State Management: RTK, and localStorage for persistence

Getting Started

# Install dependencies
bun install

# Start development server
bun run dev

# Build for production
bun run build

# Preview production build
bun run preview

Testing

This project includes both unit tests and end-to-end tests. See TESTING.md for details.

# Run unit tests
bun test

# Run E2E tests
bun run test:e2e

# Run all tests
bun run test:all

Project Structure

  • src/components/ - React components
  • src/pages/ - Astro pages
  • src/layouts/ - Layout components
  • src/styles/ - Global styles
  • src/types/ - TypeScript type definitions
  • src/lib/ - Utility functions
  • src/data/ - Data files
  • public/emojis/ - Emoji image files
  • tests/ - Test setup and configuration
  • tests/ - E2E tests

About

Curated your favorite emoji. Export to ZIP, Markdown, etc. For import into slack, discord, notion, etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors