{"id":49193140,"url":"https://github.com/dream-pixels-forge/artisan_labs_dev","last_synced_at":"2026-04-23T08:03:09.699Z","repository":{"id":352858588,"uuid":"1201565625","full_name":"Dream-Pixels-Forge/artisan_labs_dev","owner":"Dream-Pixels-Forge","description":"Artisan Labs is a powerful Scrollytelling Sequence Optimizer that transforms videos into immersive scroll-driven experiences. Upload any video, extract frames, and map them to scroll positions using intelligent algorithms.","archived":false,"fork":false,"pushed_at":"2026-04-21T11:45:03.000Z","size":746,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-21T13:34:12.584Z","etag":null,"topics":["scroll-driven-animations","scrolling","scrolltrigger","scrollytelling","video-processing","webdesign"],"latest_commit_sha":null,"homepage":"https://artisan-labs-dev.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dream-Pixels-Forge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-04T21:11:14.000Z","updated_at":"2026-04-21T11:45:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Dream-Pixels-Forge/artisan_labs_dev","commit_stats":null,"previous_names":["dream-pixels-forge/artisan_labs_dev"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Dream-Pixels-Forge/artisan_labs_dev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dream-Pixels-Forge%2Fartisan_labs_dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dream-Pixels-Forge%2Fartisan_labs_dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dream-Pixels-Forge%2Fartisan_labs_dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dream-Pixels-Forge%2Fartisan_labs_dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dream-Pixels-Forge","download_url":"https://codeload.github.com/Dream-Pixels-Forge/artisan_labs_dev/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dream-Pixels-Forge%2Fartisan_labs_dev/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32171223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T02:19:40.750Z","status":"ssl_error","status_checked_at":"2026-04-23T02:17:55.737Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["scroll-driven-animations","scrolling","scrolltrigger","scrollytelling","video-processing","webdesign"],"created_at":"2026-04-23T08:03:08.952Z","updated_at":"2026-04-23T08:03:09.671Z","avatar_url":"https://github.com/Dream-Pixels-Forge.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Artisan Labs\n\n\u003cimg width=\"1908\" height=\"986\" alt=\"Screenshot 2026-04-21 123848\" src=\"https://github.com/user-attachments/assets/fb13e7c6-bf83-44e4-96bc-0aa9fdf0a53d\" /\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-0.2.0-blue.svg\" alt=\"Version\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-Apache%202.0-green.svg\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Next.js-16-black.svg\" alt=\"Next.js\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/React-19-61DAFB.svg\" alt=\"React\"\u003e\n\u003c/p\u003e\n\n\u003e **Artisan Labs** is a powerful **Scrollytelling Sequence Optimizer** that transforms videos into immersive scroll-driven experiences. Upload any video, extract frames, and map them to scroll positions using intelligent algorithms.\n\n---\n\n## Overview\n\nArtisan Labs bridges the gap between video content and modern web storytelling. It provides a visual interface for:\n\n- **Video Frame Extraction** - Extract frames from any video with precise control\n- **Scroll Trigger Mapping** - Intelligently map frames to scroll positions using 8 advanced algorithms\n- **Export** - Generate developer-ready JSON or CSS configurations for your scrollytelling experience\n\n\u003cimg width=\"1906\" height=\"989\" alt=\"Screenshot 2026-04-21 123907\" src=\"https://github.com/user-attachments/assets/e2402d1f-5b46-4f77-b864-8b2a2586464a\" /\u003e\n\n\n### Use Cases\n\n| Use Case | Description |\n|----------|-------------|\n| **Marketing Campaigns** | Create scroll-driven product reveals and brand stories |\n| **Editorial Content** | Build immersive scrollytelling articles and features |\n| **Portfolios** | Showcase creative work with cinematic scroll experiences |\n| **Education** | Develop interactive learning modules with scroll-synced content |\n| **E-commerce** | Design scroll-driven product demonstrations |\n\nhttps://youtu.be/i1N_mJvYLf8\n\n---\n\n## Features\n\n### 8 Scroll Trigger Calculation Modes\n\n| Mode | Description | Best For |\n|------|-------------|----------|\n| **Linear** | Even distribution across scroll | Uniform playback |\n| **Ease In** | Slow start, fast end | Building anticipation |\n| **Ease Out** | Fast start, slow end | Hero intros |\n| **Ease In-Out** | S-curve acceleration | General purpose |\n| **Velocity** | Concentrates at high-motion regions | Action videos |\n| **Scene** | Scene-breakpoint distribution | Storyboarded content |\n| **Golden Ratio** | Fibonacci-inspired spacing | Artistic storytelling |\n| **Step \u0026 Hold** | Discrete frame holds | Presentations |\n\n\u003cimg width=\"1889\" height=\"989\" alt=\"Screenshot 2026-04-21 123934\" src=\"https://github.com/user-attachments/assets/356b9f97-7413-43cb-a00a-7122747a7d35\" /\u003e\n\n\n### Export Options\n\n- **JSON** - Developer-ready configuration with frame mapping\n- **CSS** - Scroll-timeline animation with fallbacks\n\n\u003cimg width=\"1916\" height=\"988\" alt=\"Screenshot 2026-04-21 123949\" src=\"https://github.com/user-attachments/assets/940f2017-bf9d-4c44-a7e4-dc28abd7f92c\" /\u003e\n\n\n---\n\n## Tech Stack\n\n| Category | Technology |\n|----------|------------|\n| **Framework** | Next.js 16 (App Router) |\n| **Language** | TypeScript |\n| **UI Library** | React 19 |\n| **Styling** | Tailwind CSS 4 + shadcn/ui |\n| **Component Primitives** | Radix UI |\n| **State Management** | Zustand (with localStorage persistence) |\n| **Database** | Prisma |\n| **Animation** | Framer Motion, Lenis (smooth scroll) |\n| **Package Manager** | Bun |\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- **Bun** (recommended) or Node.js 18+\n- Modern web browser (Chrome, Firefox, Safari, Edge)\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/Dream-Pixels-Forge/artisan_labs_dev.git\ncd artisan_labs_dev\n\n# Install dependencies\nbun install\n\n# Set up the database\nbun run db:push\n\n# Start the development server\nbun run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser.\n\n### Available Scripts\n\n| Script | Description |\n|--------|-------------|\n| `bun run dev` | Start development server on port 3000 |\n| `bun run build` | Build the production application |\n| `bun run start` | Start production server |\n| `bun run lint` | Run ESLint |\n| `bun run db:push` | Push Prisma schema to database |\n| `bun run db:generate` | Generate Prisma client |\n| `bun run db:migrate` | Run database migrations |\n\n---\n\n## Project Structure\n\n```\nartisan_labs_dev/\n├── src/\n│   ├── app/                    # Next.js App Router\n│   │   ├── api/               # API endpoints\n│   │   ├── globals.css        # Global styles\n│   │   ├── layout.tsx         # Root layout\n│   │   └── page.tsx           # Main SPA entry\n│   │\n│   ├── components/\n│   │   ├── layout/            # TopBar, Sidebar, BootSplash\n│   │   ├── screens/           # Main application screens\n│   │   │   ├── Dashboard.tsx  # Landing with feature demos\n│   │   │   ├── Sequencer.tsx  # Video upload \u0026 frame extraction\n│   │   │   ├── ScrollTriggerScreen.tsx  # Trigger configuration\n│   │   │   └── Archive.tsx     # Saved sequences management\n│   │   ├── scroll-trigger/    # Scroll trigger components\n│   │   └── ui/                # shadcn/ui components\n│   │\n│   ├── lib/\n│   │   ├── scroll-trigger.ts  # Trigger calculation engine\n│   │   ├── frame-extractor.ts # Video frame extraction\n│   │   ├── db.ts              # Database client\n│   │   └── utils.ts           # General utilities\n│   │\n│   ├── store/\n│   │   └── app-store.ts       # Zustand state management\n│   │\n│   ├── types/\n│   │   └── index.ts           # TypeScript definitions\n│   │\n│   └── hooks/                 # Custom React hooks\n│\n├── prisma/                    # Database schema\n├── public/                    # Static assets\n├── next.config.ts            # Next.js configuration\n├── tailwind.config.ts        # Tailwind CSS configuration\n└── package.json              # Dependencies\n```\n\n---\n\n## Screens\n\n| Key | Screen | Purpose |\n|-----|--------|---------|\n| `D` | **Dashboard** | Landing page with animated feature demos |\n| `S` | **Sequencer** | Upload video \u0026 extract frames |\n| `T` | **Scroll Trigger** | Configure trigger modes \u0026 preview |\n| `A` | **Archive** | Manage saved sequences |\n\n---\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a [Pull Request](https://github.com/Dream-Pixels-Forge/artisan_labs_dev/pulls).\n\n### Development Workflow\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n---\n\n## License\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n```\nhttp://www.apache.org/licenses/LICENSE-2.0\n```\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n---\n\n## Acknowledgments\n\n- [Next.js](https://nextjs.org) - The React Framework\n- [shadcn/ui](https://ui.shadcn.com) - Beautiful, accessible components\n- [Radix UI](https://www.radix-ui.com) - Unstyled, accessible components\n- [Framer Motion](https://www.framer.com/motion/) - Animation library\n- [Lenis](https://studio.fraile.agency/lenis) - Smooth scrolling\n\n---\n\n\u003cp align=\"center\"\u003e\n  Built with ❤️ by \u003cstrong\u003eDream-Pixels-Forge\u003c/strong\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdream-pixels-forge%2Fartisan_labs_dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdream-pixels-forge%2Fartisan_labs_dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdream-pixels-forge%2Fartisan_labs_dev/lists"}