Step 1
Upload Your CSV
Choose any raw CSV file and let Notebook Studio parse it instantly in the browser.
A complete user page for your live app, with practical steps, stack details, and the fastest way to get started.
Step 1
Choose any raw CSV file and let Notebook Studio parse it instantly in the browser.
Step 2
Headers are normalized, whitespace is trimmed, empty rows are removed, and duplicates are filtered.
Step 3
Get a cleaned CSV and a generated Jupyter notebook template for repeatable workflows.
Step 4
Use in-browser Pyodide cells to inspect, transform, and experiment with your data.
Step 5
Generate chart-based insights from cleaned data using the built-in visualization panel.
Step 6
Access protected features through verified email/password authentication with Firebase.
Build progression from initial setup to full interactive live app.
Phase 1
Set up Next.js app structure, routing, core UI shell, and Firebase integration points.
Outcome: A stable app foundation and auth-ready architecture.
Phase 2
Implemented CSV upload, parsing, cleanup logic, and download generation for cleaned outputs.
Outcome: Users can transform noisy CSV files into ready-to-use data.
Phase 3
Integrated Pyodide for browser-side Python execution with editable cells and output rendering.
Outcome: Users can run notebook-like workflows without any backend Python server.
Phase 4
Added visualization modules, motion system, interactive cards, and route transitions.
Outcome: A more visual, animated, and guided product experience.
End-to-end user journey with expected outputs and best-practice tips.
Step 1
Result: The file is parsed in-browser and validated.
Tip: Use standard CSV headers for best chart suggestions.
Step 2
Result: Headers are normalized, whitespace is trimmed, and empty/duplicate rows are removed.
Tip: Review the cleanup summary card before exporting.
Step 3
Result: You get reusable outputs for analytics and automation.
Tip: The notebook includes step-by-step data cleaning logic.
Step 4
Result: Run and edit Python code cells directly in your browser.
Tip: Start with the predefined cells before writing custom code.
Step 5
Result: Explore automatic charts from cleaned data.
Tip: Try both standard and custom chart modes.
Step 6
Result: Access protected dashboard/admin routes.
Tip: New users must verify email before first login.
This is the exact development stack used in Notebook Studio.
Next.js 16, React 19, TypeScript
Provides fast routing, type safety, and maintainable component architecture.
Tailwind CSS 4 + custom CSS animation utilities
Enables responsive design and a polished animated UI with reusable classes.
PapaParse
Efficient CSV parsing and transformation directly on the client.
Pyodide (WebAssembly)
Runs Python notebook cells locally in the browser without backend compute.
Firebase Auth (email/password + email verification), Firestore
Secure verified accounts plus user profile persistence and protected routes.
Chart.js + react-chartjs-2
Interactive chart rendering for cleaned CSV data insights.
.env.local.npm run devand open/livefor this guide and/for the app.npm run lintandnpm run buildbefore deploy.Recommended command sequence
cp .env.local.example .env.local
npm install
npm run dev
npm run lint
npm run buildPyodide and Python packages are downloaded in the browser on first run. Later loads are faster due to caching.
No. Notebook code execution runs client-side in WebAssembly through Pyodide.
Yes. On Sign Up, a verification email is sent. Users verify first, then log in with email and password.
Some charts require specific column types or enough non-empty values. Try the Custom mode in Visualizations.
Everything is ready: upload CSV, clean data, run Python, generate charts, and access protected pages with secure email-link sign-in.