Frizzle

Frizzle

Frizzle is more than AI grading - it's a partner in the classroom. Our system understands student thinking, gives step-by-step feedback, and frees up hours every week for what really matters: teaching.

Project Overview

Duration: 2025 - Present

Role: Senior Full-Stack Developer

Industry: Frizzle - AI-Powered Math Grading for Teachers.

Stage: Early-stage


Platform Architecture & Development

Technical Leadership & Architecture

  • Type Safety First → Minimize runtime errors.
  • Server Logic First → Better security & performance, Server Components by default, Client Components when needed.
  • Automated Workflows → Type generation, migrations, testing.
  • Strict Contracts → Database migrations, GraphQL schemas as sources of truth.
  • Non-blocking Operations → Analytics/notifications don't block responses.
  • Error Tracking → PostHog integration across all layers.
  • Type Generation: Automatic GraphQL & Prisma type generation.
  • Database: Migration-first workflow (Prisma migrations required).
  • Data Streaming: Suspense for parallel loading.

Technical Leadership & Architecture

Performance Optimization Strategy

  • Server-First Architecture: Reduced client-side JavaScript, faster TTI (Time to Interactive), better Core Web Vitals.
  • Image Optimization: Automatic format optimization (WebP for modern browsers), Responsive image sizing, Lazy loading by default
  • GraphQL Query Optimization: Reduced payload size, faster API responses.
  • Non-blocking Operations: Faster API response times, better UX.
  • Suspense & Streaming: Users see UI faster, perceived performance improves even if data takes time.
  • MobX Efficient Re-renders: Minimal re-renders, smooth UI interactions.

SEO Excellence

  •  Dynamic metadata for all pages
  •  Structured data (JSON-LD) for rich results
  •  Sitemap & robots.txt generated
  •  Open Graph tags
  •  Alt text for all images
  •  Core Web Vitals tracked
  •  Mobile responsiveness tested

Advanced Integrations & Automation

🤖 AI & API Ecosystem
  • GraphQL API - Type-safe queries and mutations with auto-generated types.
  • AWS S3 - Image storage with presigned URLs and CORS support for exports.
  • Supabase - PostgreSQL database + real-time updates (replaces GraphQL subscriptions).
  • Google OAuth - Authentication via Google One Tap + Supabase Auth.
  • Stripe - Payment processing with automatic subscription management.
  • PostHog - Error tracking, session replay, and analytics.


🔄 Workflow Automation
  • Automatic Type Generation - auto-syncs GraphQL & Prisma types.
  • Stripe Webhooks - Auto-enroll users, reset monthly usage, manage subscriptions.
  • Real-time Status Updates - Supabase Realtime for worksheet processing tracking.
  • Server Actions - Non-blocking operations via after() (analytics, notifications).
  • Prisma Migrations - Automated schema versioning with migrations.
  • Auto-grading - Processes worksheets and generates feedback automatically.
  • Usage Tracking - Counts completed worksheets against monthly limits (Free: 50/mo, Pro: Unlimited).
  • Error Boundaries - React error capture → PostHog logging.


🔒Key Automation Flows
  1. User Signup → Auto-create Stripe customer + free subscription
  2. Worksheet Upload → Auto-check usage limits → Auto-grade → Auto-increment counter
  3. Monthly Billing → Stripe resets usage automatically (no cron jobs)
  4. Export → Canvas rendering → Auto-upload to S3 with CORS headers

Technical Innovation

Advanced React Patterns

  • Server Components by Default - Direct DB access, zero JS shipped when possible
  • Streaming with Suspense - Progressive rendering for faster perceived performance
  • MobX State Management - Observable stores for fine-grained reactivity (non Redux)
  • Client-Side Error Boundaries - Catches React errors and reports to PostHog
  • ProseMirror Editor - Rich text feedback with collaborative editing capabilities
  • Canvas-based UI - GradingCanvas component for image annotation with custom feedback placement

Data Architecture

  • Type-Safe GraphQL - Auto-generated TypeScript types from schema (no manual types)
  • Prisma ORM - Migration-first DB design with type-safe queries
  • PostgreSQL + Supabase - Serverless PostgreSQL with built-in real-time
  • Normalized Relational Schema - Proper foreign keys and relations via Prisma
  • Real-time Subscriptions - Supabase Realtime instead of GraphQL subscriptions (lighter weight)
  • Parallel Data Loading - Promise.all() in Server Components for faster page loads

Modern Database & API Design

  • Prisma Migrations - Version-controlled schema evolution (never manual SQL)
  • GraphQL Resolvers - Business logic separation from API
  • API Routes - Stripe webhooks, S3 uploads, GraphQL endpoint
  • Server Actions - Direct mutation patterns with 
  • Non-Blocking Ops - after() for deferred analytics/notifications without blocking responses
  • Composite Keys - Multi-field unique constraints for data integrity

User Experience Excellence

  • Image Optimization - Next.js Image component for S3-hosted worksheet images
  • Real-time Feedback - Instant status updates during worksheet grading
  • Presigned URLs - Direct S3 upload without backend intermediary
  • CORS-Enabled Exports - Canvas rendering with images embedded in downloads
  • Responsive UI - Tailwind CSS with custom red/amber theme
  • Error Recovery - Graceful error handling with user-facing messages via PostHog
  • Lazy Loading - Components load progressively with Suspense boundaries

Technical Stack

Frontend
  • Next.js, React, TypeScript, Tailwind CSS, MobX (state management), Apollo Client (GraphQL), ProseMirror (rich text editor) ,html2canvas-pro (canvas rendering)
Backend
  • Next.js, GraphQL, Node.js, Prisma ORM, TypeScript
Database
  • PostgreSQL (Supabase), Prisma ,Supabase Realtime (real-time updates)
Authentication
  • Supabase Auth
  • Google OAuth
  • Google One Tap
Storage & File Handling
  • AWS S3 (worksheet images)
  • Presigned URLs (direct uploads)
  • Next.js Image Optimization
Payments & Subscriptions
  • Stripe API
  • Automatic billing cycles
  • Usage tracking & limits
Analytics & Monitoring
  • PostHog (error tracking, session replay, analytics)
  • Supabase (database monitoring)
Frizzle - AI-Powered Math Grading for Teachers | 13kbs