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. :)
A high-performance typing competition app featuring AI-generated challenges, real-time analytics, and visual progress tracking.
- 🤖 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.
- 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)
Prerequisites: Node.js (v18+)
-
Clone the repository
git clone https://github.com/zippytype/zippytype.git cd zippytype -
Install dependencies
npm install
-
Environment Variables Copy
.env.exampleto.envand 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
-
Run the development server
npm run dev
The app will be available at
http://localhost:3000.
ZippyType acts as an OAuth 2.1 provider! You can integrate "Sign in with ZippyType" into your own applications.
- Create an account on ZippyType.
- Navigate to the Developer Dashboard.
- Create a new OAuth Application to get your
client_idandclient_secret. - Use the provided HTML or React snippets to add the login button to your site.
This project is licensed the APGL-3.0 License.

