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_url
    VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
    SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_key
    GEMINI_API_KEY=your_gemini_api_key
    STRIPE_SECRET_KEY=your_stripe_secret_key
    VITE_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. AaronOS AaronOS Public

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

    C

  2. Ark Ark Public

    A programming language

    Python

  3. chirper chirper Public

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

    JavaScript

  4. geometry-dash-j2me geometry-dash-j2me Public

    3

  5. ZippyType ZippyType Public

    A typing app where you can type anything you want.

    TypeScript

  6. Aaron-Linux Aaron-Linux Public

    Linux Distro.

    Shell 1