A functional academic platform prototype for role-based course, group, laboratory, and assignment workflows.
Project status: Paused
Acadance is the public case-study identity of a paused academic platform prototype focused on frontend engineering, product engineering, and role-based academic workflows.
Acadance is a role-based academic platform prototype for organizing courses, laboratories, units, practices, and related teacher/student workflows.
It demonstrates:
- Role-specific academic experiences
- Complex validated forms
- Relational workflows
- Responsive dashboards and navigation
- Typed Supabase integration
- Reusable React and TypeScript UI patterns
| Area | Description |
|---|---|
| Product type | Functional academic platform prototype |
| Primary focus | Frontend and product engineering |
| User experiences | Administrator, lab admin or department head, teacher, and student |
| Frontend | Next.js App Router, React, and TypeScript |
| Backend platform | Supabase Auth, PostgreSQL, and Storage |
| Data access | TanStack Query, server-side accessors, and generated TypeScript types |
| Current status | Paused |
| Public positioning | Sanitized engineering case study |
- User listings
- Search, filtering, and pagination
- Public profile information
- Role-related profile fields
- Administrative dashboard navigation
- Laboratory listings and filters
- Course and group creation
- Teacher and subject selection
- Syllabus-based unit initialization
- Enrollment, schedule, status, and visibility fields
- Assigned groups and courses
- Unit and practice management
- PDF practice files
- Practice metadata editing and deletion
- Public practice reuse
- Submission viewing
- Course invitations and join requests
- Course and group listings
- Course invitation codes
- Join requests
- Role-specific dashboard navigation
- A user signs in, refreshes a session, and reaches a role-specific experience.
- An authorized user creates a course or group through validated form data.
- A syllabus initializes the units associated with an academic workflow.
- A teacher manages practices, files, invitations, and visible submissions.
- A student joins a course through an invitation code or join request.
Next.js App Router
|
Layouts and Providers
|
Authentication and role-specific experiences
|
TanStack Query and server-side accessors
|
Supabase Auth, PostgreSQL, and Storage
The application combines Server Components and Client Components according to interaction needs.
Key characteristics include:
- App Router layouts for shared structure and navigation
- Authentication-aware server and client boundaries
- Role-based redirects and navigation
- TanStack Query prefetching and hydration
- Generated TypeScript types for Supabase data
- Supabase as the backend platform
- No important custom backend or standalone API layer
Acadance demonstrates frontend patterns for data-heavy product interfaces:
- React component composition with TypeScript
- Responsive desktop and mobile dashboard layouts
- Reusable navigation, form, table, dialog, and feedback components
- React Hook Form and Zod validation
- Search, filtering, and pagination flows
- Light and dark theme support
- Client-side avatar compression and file handling
- Loading states, skeletons, notifications, and transitions
- Radix-based and shadcn-style UI composition
- Framer Motion for focused interface transitions
| Layer | Technology |
|---|---|
| Framework | Next.js 14 App Router |
| UI | React 18 |
| Language | TypeScript |
| Styling | Tailwind CSS |
| Components | Radix UI and shadcn-style patterns |
| Forms | React Hook Form |
| Validation | Zod |
| Server state | TanStack Query |
| Animation | Framer Motion |
| Authentication | Supabase Auth |
| Database | Supabase PostgreSQL |
| File storage | Supabase Storage |
| Generated types | Supabase TypeScript types |
| Local state | Zustand is present in parts of the source but is not central |
Acadance predates my current AI-assisted development workflow and was built primarily through traditional programming, codebase exploration, and standard autocomplete tooling.
Acadance is currently paused. The implemented prototype covers authentication, role-specific navigation, course and group workflows, academic units, practices, file handling, and join requests. Student submissions, grading, laboratory reservations, and scheduling remained partial when development stopped.
- It is not a complete learning management system.
- It is not a finished Microsoft Teams alternative.
- It was not an official university production system.
Acadance is a curated public case-study identity rather than a complete mirror of the original private project.
The original implementation was developed for a university systems department and remains private. This public repository should remain sanitized and must not include:
- Credentials, demo accounts, or environment secrets
- Supabase keys or real user identifiers
- Student, teacher, or institutional data
- Private CSV exports
- Institutional logos or campus photographs
- Assets without clear public-use authorization
- Original private Git history
- Claims of official university production use
The repository communicates product decisions, frontend architecture, role-based interface design, relational workflow modeling, and typed Supabase integration.



