Hi everyone! ![]()
I’m hiring a Babylon.js developer to build a web-first Object Simulator MVP (desktop & mobile, WebXR optional). The first release targets one product (e.g., a Nespresso coffee machine). It’s fine if the MVP is hard-coded for that product, as long as we keep a clean path to scale.
I drafted this with ChatGPT, so it might sound a bit more elaborate than necessary. English isn’t my native language, and this helps. Don’t hesitate to ask for clarification or propose a different approach. I’ll handle getting the 3D models.
Core experience (very important)
-
It must feel like a sandbox: the user should feel free to do anything with the object, as if it were physically on the desk.
-
Include manipulation tools (e.g., screwdriver, tweezers) to “play” and interact with parts: unscrew, detach, open/close, press, slide, rotate, place back, etc.
-
Natural, tactile feedback: hover highlights, subtle snapping, constraints (hinges, limits), optional light physics for believable motion.
MVP features
-
Free-play mode: orbit/rotate, explode view, part selection, part info panel; verbs (open/close, detach/attach, press, slide, rotate).
-
Training mode: menu of trainings (e.g., “Clean,” “Descale,” “Pull an espresso”) with guided steps (goals, hints, camera focus, success checks, optional interaction lock).
-
(Optional) WebXR & AR entry/exit toggle - STEP by STEP instructions
Tech preference
-
Babylon.js (GUI, animation system, basic physics, XRHelper).
-
Assets: GLB/GLTF (meshopt/Draco if useful).
Scale path (keep in mind, even if MVP is hard-coded)
-
Per-product JSON package the runtime can read later:
-
product.json(name/SKU/camera),parts.json(semantic parts + node mapping), -
interactions.json(verbs/rules/constraints),trainings.json(step flows).
-
-
Animations: use prebaked GLTF clips when provided (
Lever_Open,Button_Press), else procedural rules (hinge ranges, slides, param drives). -
Editor (future): likely a lightweight authoring tool so non-devs can:
-
Click a part in-scene → bind an action (open/close, detach, press) or set parameters (angle/position).
-
Add tools to steps (e.g., “select screwdriver → unscrew 4 bolts”).
-
Define training steps via a small timeline/step list (goal, highlight, camera cue, hint, success condition).
-
Save to the JSON schema above.
-
Deliverables
-
Simulator shell (Babylon.js) loading GLB (and JSON if available).
-
Free-play + explode + selection + basic verbs + tool interactions (at least a screwdriver flow).
-
Training runner (steps, goals, hints, camera targets, optional locks).
-
Minimal internal authoring/validation UI or clear hooks to add it.
-
Short docs (node naming, JSON fields, asset prep).
Performance
- Fast load on mid-range desktop; mobile-friendly budgets; consider compression, LOD/culling as needed.
Reference vibe
- We’re aiming for the desk/workbench scene where a single object sits on the table and you can freely manipulate it (rotate, open, detach parts, use tools)—think the manipulation feel of Electrician Simulator’s workbench view (https://store.steampowered.com/app/1080020/Electrician_Simulator/), but focused on one product for the MVP.
That said, any solid “simulator” with rich hands-on object interaction is helpful as a reference.
If interested, please share:
-
Links to Babylon.js work (repos/demos).
-
Brief on animation workflow (GLTF clips vs. procedural) and tool/interaction design you’ve implemented before.
-
Rate + availability.
Thanks