An assistant that
actually talks back
A holographic guide you can drop onto any app in the portfolio. It listens through the microphone, answers in its own voice, and the hologram moves with the real sound of the words — because a Web Audio analyser is reading the waveform as it plays.
What it does
Three things, and all three work on a phone.
A real voice, out loud
Answers are spoken through OpenAI's text-to-speech. If that is ever unavailable, it falls back to the browser's own voice automatically — so it never goes silent on a visitor.
Talk to it, hands free
Tap the microphone and speak. It transcribes in the browser as you go and sends when you stop. No audio of your voice is uploaded anywhere.
The hologram is the audio
The voice band, the rim light and the rising particles are all driven by live amplitude from the speech. Nothing is a canned loop — when it goes quiet, the figure settles.
How to add it
Paste one line before </body>. That is the whole install —
no build step, no framework, no package.
<!-- the simplest version --> <script defer src="https://holo.bornbetween2generals.com/holo.js"></script> <!-- named, with a role and an opening line --> <script defer src="https://holo.bornbetween2generals.com/holo.js" data-name="AURORA" data-role="Guide" data-intro="I can walk you through anything on this page. Ask away." data-voice="nova" data-accent="#6fd3ff"></script>
Every setting
| Attribute | Default | What it does |
|---|---|---|
data-name | AURORA | The assistant's name, on the button and the panel. |
data-role | Assistant | The line under the name — Guide, Dean, Advisor, Coach. |
data-intro | generic | The first thing it says, out loud, when opened. |
data-context | page title | One sentence telling it what this app is, so answers stay on topic. |
data-voice | alloy | alloy · ash · ballad · coral · echo · fable · onyx · nova · sage · shimmer · verse |
data-accent | #6fd3ff | Hologram colour. Match the app it is sitting on. |
data-accent2 | #b48cff | The second colour in the particle ring. |
data-open | false | Set true to open and greet on load. Use sparingly. |
data-autospeak | true | Set false for a silent, text-only assistant. |
data-api / data-speak | this host | Point at your own endpoints if an app needs its own brain. |
Driving it from your own code
BB2GHolo.open() // open the panel BB2GHolo.say("Welcome back.") // speak a line, no question needed BB2GHolo.ask("What is on this page?") // ask on the visitor's behalf BB2GHolo.close()
Handy for a tour: call say() as someone
scrolls into a section, and the guide narrates the page.
Putting it on an app
</body>.
Static HTML, Next.js, anything. Give it a name and a one-sentence data-context so it knows where it is.data-accent to the app's own highlight and the hologram stops looking bolted on.What it will not do
Worth knowing before it goes in front of anyone.
It never pretends to be a person
Asked what it is, it says it is an AI. The figure has no face and no identity — it is light in the shape of presence, not a portrait of anybody, which is also why it cannot be mistaken for a real person's likeness.
It does not invent
It is told not to produce a fact, number, source, price or date it is unsure of, and to say so instead. It also declines legal, medical and financial advice and points to real help — including 988 if someone is in crisis.
Voice input is browser-dependent
Speech recognition works in Chrome, Edge and Safari. Where it is missing, the microphone button hides itself and typing still works. Your voice is transcribed on your device, not uploaded.
It can be wrong
It is a language model. The panel says so under the input box, and it should never be the only source for something that matters. Check anything you would act on.