An immersive, mobile‑first Augmented Reality (AR) virtual electronics lab designed to bridge the gap between theoretical knowledge and practical engineering education.
Project status: Early content and architectural scaffold. Core AR & simulation layers implemented.
- Overview
- Vision
- Core Principles
- Features
- Services Offered
- Technology Stack
- Architecture & Structure
- UI Components
- Getting Started
- Available Scripts
- Deployment
- Roadmap
- Accessibility
- Performance Strategy
- Contribution Guide
- FAQs
- License
- Acknowledgements
Conn3D delivers a fully interactive virtual electronics laboratory accessible from any modern mobile device. It harnesses AR to let learners place and manipulate circuit components in real-world space, encouraging spatial reasoning, safe experimentation and intuitive understanding of hardware fundamentals.
To revolutionize technical education globally by providing every aspiring engineer with equitable access to a hands-on, high-fidelity electronics workspace—regardless of location or financial constraints.
- Interactive: Learning through tangible manipulation and immediate feedback.
- Intuitive: Natural gestures and visual clarity reduce cognitive friction.
- Accessible: Mobile-first experience lowers hardware and cost barriers.
| Area | Description | Status | Next Step |
|---|---|---|---|
| Landing Narrative | Hero + structured educational sections | Implemented | Refine copy & accessibility review |
| Component Architecture | Modular React components (App Router) | Implemented | Add test coverage |
| Styling System | Tailwind CSS utility-first | Implemented | Establish design tokens |
| AR Preview Layer | Placeholder conceptual content | Pending | Evaluate WebXR vs Native |
| Simulation Engine | Real-time circuit feedback | Planned | Draft data model & solver |
| Cloud Persistence | Profiles, saved circuits | Planned | Define schema |
| Service | Description |
|---|---|
| Mobile AR App | Transforms any flat surface into an interactive electronics bench. |
| Real-Time Simulation | Immediate circuit feedback via a custom simulation layer (planned). |
| Virtual Component Library | Expanding catalog of 3D electronic parts. |
| Safe Workspace | Risk-free experimentation without physical damage or hazards. |
| Layer | Choice | Rationale |
|---|---|---|
| Framework | Next.js 15 (App Router) | File-based routing, streaming, server components |
| Runtime | React 19 | Concurrent features, future-proof for interactive AR panels |
| Styling | Tailwind CSS 4 | Rapid iteration, consistent spacing/typography scale |
| UI Elements | Headless UI, Heroicons | Accessible primitives without opinionated styling |
| Fonts | Geist (next/font) | Automatic optimization & variable font control |
| Planned AR | ARCore / ARKit / WebXR bridge | Device-native tracking & portability |
| Simulation Engine | Custom lightweight solver | Fine-grained control over performance & accuracy |
| Backend (Future) | Firebase / AWS | Realtime sync, auth, scalable storage |
| Analytics (Future) | PostHog / Plausible | Privacy-friendly usage insights |
src/
app/
layout.js # Root layout, font setup, metadata
page.js # Landing page composition
hero.jsx # Conn3D overview & sectional narrative
feature.jsx # Highlighted feature blocks
cta.jsx # Call-to-action section
banner.jsx # Top banner (announcements / messaging)
navbar.jsx # Navigation shell (future expansion)
stats.jsx # Placeholder for metrics / impact highlights
team.jsx # Team introduction
faq.jsx # Frequently asked questions section
footer.jsx # Footer / links
globals.css # Tailwind base + project-level styles
Separation of concerns: each semantic content block lives in an isolated component, enabling future progressive enhancement (e.g., hydration boundaries, streamed sections, dynamic AR previews, or lazy-loaded simulation widgets).
Hero: Narrative core (About, Vision, Services, Technology, Impact, Outlook).Feature: Space for showcasing differentiated capabilities.CTA: Drives user engagement (signup / waitlist / demo scheduling).Faq: Structured Q&A to reduce friction.Team: Human credibility layer.Stats: Designed for future adoption metrics, learning outcomes or performance indicators.
Prerequisites:
- Node.js 18+ (verify with
node -v) - Git
- A package manager (npm included by default)
Clone & install:
git clone https://github.com/RJohnPaul/Conn3D.git .
npm installDevelopment server:
npm run devVisit: http://localhost:3000
Production build preview:
npm run build
npm start- Use the
app/directory for route-based composition (Next.js App Router). - Co-locate component-level styles or keep to utility-first Tailwind classes.
- Go to the
AR Assetsfolder to gain intel on the AR Codebase
| Script | Purpose |
|---|---|
npm run dev |
Start local development server with hot reload. |
npm run build |
Create an optimized production build. |
npm run start |
Run the production build locally. |
Recommended: Vercel (first-class support for Next.js).
Basic flow:
- Push to main or open a pull request.
- Vercel detects framework and builds automatically.
- Inspect preview deployment.
- Merge to production branch for live release.
Environment variables (future): simulation backends, feature flags, analytics keys. None currently required.
| Phase | Milestones | Deliverables | Exit Criteria |
|---|---|---|---|
| 1 | Foundation | Accessible landing, component audit, metrics baseline | CLS < 0.1, Lighthouse A11y > 95 |
| 2 | AR Prototype | Basic placement of 3D components (stub interactions) | Stable 30+ FPS on mid-tier device |
| 3 | Simulation MVP | Ohmic + reactive elements, live value overlays | < 10ms step calc for small circuits |
| 4 | Persistence & Collab | Auth, save/load, share links | Multi-user edit latency < 300ms |
| 5 | Intelligent Tutor | Contextual hints, adaptive challenges | 75%+ task success in user tests |
| 6 | Advanced Components | MCUs, sensors, renewable modules | Verified component test suite |
- Scene Management (entity/component registry)
- Tracking & Spatial Anchors (ARCore/ARKit abstraction)
- Physics/Electrical Solver (incremental time steps)
- Interaction Layer (gesture → semantic intent)
- Visualization (probes, overlays, waveform inspectors)
- Persistence Sync (CRDT or operational transforms)
Circuit {
id: string;
components: ComponentInstance[]; // typed refs
nets: Net[]; // connectivity graph
metadata: { title?: string; version: number; createdAt: ISODate };
}This model will evolve once simulation constraints and collaborative editing semantics are formalized.
| Area | Status | Notes |
|---|---|---|
| Semantic Headings | In Progress | Ensure single H1, descending order |
| Color Contrast | Pending Review | Add token palette & test contrasts |
| Focus States | Basic | Need visible outline normalization |
| Aria Labels | Pending | Add to interactive navigation elements |
| Reduced Motion | Not Implemented | Add prefers-reduced-motion handling |
| Layer | Intent |
|---|---|
| Code Splitting | Use dynamic import for heavy AR bundles |
| Streaming | Leverage React Server Components where static narrative suffices |
| Asset Policy | Prefer responsive images / vector icons (no raster for simple shapes) |
| CSS | Tailwind JIT purging for minimal bundle |
| Simulation | Web Worker / WASM exploration for isolation |
| Caching | HTTP caching for static assets; future SW for offline library |
Planned metrics: First Contentful Paint, Time to Interactive, Simulation Step Latency.
Contributions are welcome.
Workflow:
- Fork repository
- Branch naming:
feat/,fix/,chore/,docs/ - Commit convention (Conventional Commits):
feat(hero): add AR roadmap section - Ensure build succeeds:
npm run build - Open PR with: context, before/after (screenshots if UI), test notes
Coding Guidelines:
- Keep components cohesive; extract only after 2–3 repetitions.
- Prefer composition over inheritance.
- Enforce accessible markup (run automated Lighthouse / axe).
- Avoid global state until justified; lean on props & server components.
- Document non-trivial decisions in a short
DECISIONS.md(future).
Security & Privacy (Future Phases):
- Principle of least privilege for backend services.
- Input validation on circuit definitions.
- Opt-in analytics with anonymization.
| Question | Answer |
|---|---|
| Will a native mobile version exist? | Planned—initial AR experiments will determine delivery path (WebXR vs native wrapper). |
| How are circuits simulated? | A custom lightweight engine (in design) will model basic electrical behavior with real-time feedback. |
| Will advanced components (MCUs, sensors) be included? | Yes—phase expansion includes microcontrollers, renewable energy modules and more. |
| Is offline use supported? | Intended in future builds with local caching for component libraries. |
For questions or collaboration inquiries, open an issue or start a discussion thread.