Skip to content
View ZippyType's full-sized avatar
🤣
doing something random making something :)
🤣
doing something random making something :)

Block or report ZippyType

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ZippyType/README.md

IF YOU ARE ON MY PROFILE, READ THIS. OTHERWISE, GO DOWN UNTIL YOU SEE THE ZippyType LOGO. THANKS.

Anyways this is my profile. My main project is ZippyType, but I have different stuff. Like AaronOS, my own custom OS. It's Unix/Linux like, but NOT based off on Linux or UNIX. I also have a own programming language called Ark. Its Python based. Also, I have my own social media app called Chirper. Those are all seperate projects. Anyways thanks for looking on my profile. :)

ZippyType Logo

ZippyType ⚡

A high-performance typing competition app featuring AI-generated challenges, real-time analytics, and visual progress tracking.

🌐 Visit ZippyType💬 Join Discord🐦 Follow on X


🚀 Features

  • 🤖 AI-Generated Challenges: Powered by Google Gemini to create dynamic, context-aware typing tests.
  • 🏎️ Real-Time Multiplayer: Race against friends and other typists globally using WebSockets (Socket.io).
  • 📊 Advanced Analytics: Track your WPM, accuracy, consistency, and progress over time.
  • 🔐 ZippyType OAuth 2.1 Provider: Let users sign into your own apps using "Sign in with ZippyType" (PKCE supported).
  • 💎 Pro Membership: Unlock exclusive features, badges, and themes via Stripe integration.
  • 🎮 Discord Integration: Link your Discord account for exclusive roles and community features.
  • 🎵 Immersive Experience: Custom in-game music and sound effects for a focused typing zone.

🛠️ Tech Stack

  • Frontend: React 18, Vite, Tailwind CSS, Framer Motion, Lucide Icons
  • Backend: Node.js, Express, Socket.io
  • Database & Auth: Supabase (PostgreSQL, Auth, Storage)
  • AI: Google Gemini API (@google/genai)
  • Payments: Stripe
  • Hosting: Vercel (Frontend) / Cloud Run (Backend)

💻 Local Development

Prerequisites: Node.js (v18+)

  1. Clone the repository

    git clone https://github.com/zippytype/zippytype.git
    cd zippytype
  2. Install dependencies

    npm install
  3. Environment Variables Copy .env.example to .env and fill in your keys:

    VITE_SUPABASE_URL=your_supabase_urlVITE_SUPABASE_ANON_KEY=your_supabase_anon_keySUPABASE_SERVICE_ROLE_KEY=your_supabase_service_keyGEMINI_API_KEY=your_gemini_api_keySTRIPE_SECRET_KEY=your_stripe_secret_keyVITE_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
  4. Run the development server

    npm run dev

    The app will be available at http://localhost:3000.

🔌 Developer API (OAuth 2.1)

ZippyType acts as an OAuth 2.1 provider! You can integrate "Sign in with ZippyType" into your own applications.

  1. Create an account on ZippyType.
  2. Navigate to the Developer Dashboard.
  3. Create a new OAuth Application to get your client_id and client_secret.
  4. Use the provided HTML or React snippets to add the login button to your site.

📄 License

This project is licensed the APGL-3.0 License.

Pinned Loading

  1. AaronOSAaronOSPublic

    An Operating System for people who don't want to get distracted.

    C

  2. ArkArkPublic

    A programming language

    Python

  3. chirperchirperPublic

    A Twitter-like social media app built with Flutter and Supabase

    JavaScript

  4. geometry-dash-j2megeometry-dash-j2mePublic

    3

  5. ZippyTypeZippyTypePublic

    A typing app where you can type anything you want.

    TypeScript

  6. Aaron-LinuxAaron-LinuxPublic

    Linux Distro.

    Shell 1