Banksy AI · B-Ai Box

Changelog

What shipped, dated. Everything here runs on the box in our own office before it's written down. Home · B-Ai Box · Blog
One name, every role. Banksy answers the phone, greets whoever walks up to the desk, files the paper you put under the camera, reads you the morning docket, keeps your hours, checks conflicts, searches 1.3 million New York decisions — and asks before anything leaves the building. One employee, on one box, in your office. No cloud, no per-seat, no revenue share.
October 11, 2026

Callers can always reach a person, and the box says it's AI phonefront desk

Every call now opens with one line: "Hi, you've reached the office's A-I assistant. This call is recorded and transcribed. To reach a person at any time, say 'person' or press zero." It plays in the office's primary language, in any of the eight the box speaks. A caller who says "person", "operator" or "can I talk to Derek", or who presses 0, hears "I'm connecting you to a person now" and the call rings the lawyer's cell for 18 seconds. The caller hears normal ringing while it does. If nobody picks up, the assistant comes back on the line, takes an urgent message, and texts the lawyer on WhatsApp. After hours, or when the lawyer is marked "on a call", it skips the ring and takes the urgent message straight away. Texters who ask for a person get "someone will call you back", and the lawyer gets the same heads-up. At the front desk, the greeting now says "I'm Banksy, the office's AI assistant". A visitor who asks for a person gets the lawyer's attention right away. Both parts have their own switch on the SETUP screen, and so does the number calls ring. Tested on the box with simulated calls, including a spoken "I want to talk to a real person" run through the box's own speech recognition. A real phone call through the carrier is still to come.

October 11, 2026

CLONE ME is now a voice clone and a toy box clone mebooth

We cut CLONE ME down to the two parts people liked: the action figure and the voice clone. The talking face photo and the dancing clone are gone. A visitor agrees, picks a theme, takes one full-body photo, and reads a short card out loud. Their clone then talks back in their own voice, with their toy box on screen next to it, or a ring that pulses with the voice until the toy is ready. The saved video is the toy box with their cloned voice. Saved photos are no longer mirror-flipped, so text on a shirt reads the right way. Booth mode no longer loads the lip-sync model, so the booth is ready in about 14 seconds and leaves more of the GPU free for the toy box. Tested on the box with a voice made by the box's own text-to-speech, not a real person's voice: the first line in the cloned voice took 4.4 seconds, an impression request was answered in character, and the lip-sync engine stayed off.

October 10, 2026

CLONE ME starts with your action figure clone mebooth

The toy box is now the first thing a visitor gets. Before, it was made only after they finished talking to their clone. After the two consent boxes, the visitor picks a theme for the toy box: classic, lawyer, astronaut, chef, rock star, superhero, golfer or gamer. Or they type their own theme ("pirate", "gardener", "DJ") and the box's own model suggests three accessories and an outfit. Any of the three accessories can be changed with an on-screen keyboard, and the name on the box is optional. Touching a theme shows a small sample box in the lower-right corner, made on the box with an invented figure, so visitors can see what they'll get before choosing. One full-body photo and the toy starts at once. It is ready in about 70 to 80 seconds, while the visitor carries on with the face photo and voice sample. It shows in the corner of the screen when it is done, and a visitor can take the toy home without making the talking clone. Accessories that aren't family-friendly (weapons, drugs, alcohol) are refused, and so are typed themes about real brands or characters. The image model misspelled the name in three of five early tests ("DERPEK"), so the box now prints the name and tagline on a nameplate itself, and they always come out right. We also found and fixed why some visitors never got their toy. The kiosk's screen watchdog only heard from the main panel, so after about six minutes in CLONE ME it decided the screen was frozen and restarted it, which switched booth mode off mid-render. CLONE ME now checks in with the watchdog itself. We also found that the phone link (the QR code) showed the page but not the toy, because the public route only allowed the video and the photo. The toy and the dance are now allowed too, and nothing else is reachable. Visitors can also ask their clone to do impressions, played as obvious parody. The clone still won't talk politics or endorse a real product. Tested on the box: 8 toy renders and 5 impression prompts.

October 10, 2026

Matrimonial retainer agreements, with the court's own forms enclosed draftingmatrimonial

DRAFTS has a fifth starter template: a retainer agreement for New York domestic relations matters that covers each subject 22 NYCRR Part 1400 lists for one. Those are the parties, the services, the advance retainer and when it is refunded, the client's right to discharge the lawyer, hourly rates, disbursements, itemized bills at least every 60 days, copies and updates, security interests only with court approval, withdrawal and charging liens, fee arbitration under Part 137, and filing with the net worth statement. You fill in six fields (client, address, scope, retainer, rates, time increment). The box adds the letterhead, date and signature blocks. Court-required statements are never retyped. The firm saves the court's official PDF in the templates folder once. From then on, every draft of the matching template gets a copy of it placed alongside in the matter's folder. That means the Statement of Client's Rights and Responsibilities (Part 1400) for the retainer, and the Statement of Client's Rights (Part 1210) for the engagement letter. Until the PDF is there, the page says which form is missing and where to get it. Tested on the box with a demo divorce matter: the agreement filled with no blanks left, the enclosure was copied when present and flagged when absent, and the page stays locked until unlocked. It is a draft for attorney review, like everything on the DRAFTS page.

October 10, 2026

Drafts from your firm's templates draftingmatters

TOOLS has a new DRAFTS page. Pick a template, pick a matter and fill in a few details (client, recipient, fee terms, deadline). For letters, you can also tell the box what the letter should say. It fills in the letterhead, date and matter itself, and the box's own model writes the body from your instructions and your notes on the matter. Anything it doesn't know stays in [brackets], highlighted in the preview. The result is a Word document saved in the matter's drafts folder on the office share, with "DRAFT - attorney review required" at the top of every page. Nothing is sent. Four starter templates come with it: an engagement letter (scope, fees, expenses, billing, and fee arbitration under 22 NYCRR Part 137), a client letter, a demand letter, and a New York Supreme Court notice of motion. A firm can add its own by dropping a Word file with {{field}} markers into the templates folder. Tested on the box with all four on a demo matter: each filled correctly, the two letter bodies took 1-2 seconds, unknown amounts came back as [amount owed], and blanks such as the return date stayed visible. Every draft goes into the audit trail. Not yet: filling the client's name and address from the intake record, or asking for a draft by voice.

October 10, 2026

Pick when the reports run setupmorning brief

SETUP has a new SCHEDULES tab for the four reports the box sends you: the morning brief, the end-of-day recap, tomorrow's prep, and the weekly digest. Each has a time, the days it runs, and an on/off switch, and shows when it will next run. Saving sends nothing; the change takes effect at the next run. Every change is written to the audit trail, and the box keeps a copy of the old schedule first. A switched-off report keeps its settings, so turning it back on restores it as it was. Tested on the box: the recap moved to 5:30 PM Monday to Thursday, the digest was switched off and back on, a bad time or an empty set of days was refused, and once everything was put back the schedule matched the original line for line. What a report includes can't be changed from the screen yet.

October 10, 2026

No more pause in "a.m." voice

The desk wrote times as "9 a.m.", and the voice read the full stop after the "a" as a break, so there was a short pause between the "a" and the "m". Measured on the box, the line "we open tomorrow at 9 a.m. I can take a message" had a 0.36-second silence in the middle of "a.m." on top of the normal pause between sentences. Spoken English now turns "a.m."/"p.m." into "AM"/"PM" just before the voice reads it, keeping the full stop when the time ends a sentence. Cards on the screen still say "9 a.m.". Re-rendered, the line has only the sentence pause and is 0.15 seconds shorter. Nine test sentences come out right, including "10 a.m. with Derek" and "a.k.a.", which are left alone where they should be. The phone line never says "a.m.", so it is unchanged.

October 9, 2026

A native Mexican Spanish voice at the desk front desklanguages

The desk's Spanish voice came from an English-first voice pack and sounded it. The box now also runs Piper, an open-source voice engine that runs on the box, with two voices recorded from native Mexican speakers, and the female one is the new default. SETUP > VOICE lists both above the old voices, so switching back is one tap. It renders a line in under a second, against about two seconds before. Played through the box's speaker and recorded by its microphone, the speech-to-text model got 24 of 25 words, the same as the old voice. In a live test the desk answered a Spanish question in the new voice ("La oficina está cerrada en este momento - abrimos el lunes a las 9 de la mañana"), starting one second after the question. If Piper or its voice file is ever missing, the box falls back to the old voice instead of going silent. The phone line's Spanish voice is unchanged.

October 9, 2026

Meeting notes keep the last sentence; fewer false visitor alerts meeting notesfront desk

Meeting notes. The last sentence before "stop meeting notes" was coming out wrong. "Then we'll meet again next Tuesday to go over the landlord's answer" became "I'll send you the landlord's answer," so the follow-up meeting dropped out of the notes. The recording went to the speech-to-text model in one piece, and near the end it reused earlier words. The box now sends up to 25 seconds of speech at a time, cut at pauses, and never sends silence (which came back as a made-up "Thank you."). Re-run on both recorded takes, the last sentence comes out word for word, and the notes now list the Tuesday meeting.

Visitor alerts. The camera raised a new "someone is at the front desk" card every hour someone moved in view. That was 7 cards and 8 WhatsApp messages today, mostly the owner working in the room, and the count said 13 visitors. Now there is one visitor card at a time, and a new visit replaces it ("Visit 3 today"). The TODAY count counts visits, not every time the camera saw someone. Someone the camera model says is only passing by in the background is logged but raises no card or greeting. Tested on six frames from the box's own camera and three simulated visits. Checked against the next day's log (October 10): three real pass-bys were skipped ("two people in a hallway, one walking away from the camera", "person walking away from the camera into a dimly lit room", someone only partly in view), and two visits still counted, one of them 30 seconds after a pass-by when the person walked in.

October 9, 2026

The right time, and backups that stay small front deskphonebackup

The time. Asked "what time is it?" at 1:03 PM, the front desk answered "10:30 AM." It had been told whether the office was open, but never the actual time, so the model guessed. Every answer from the desk and the phone line now starts from the box's own clock and the date. Checked on the phone path and out loud at the desk: "It is currently 4:10 PM on Friday, October 9, 2026."

Backups. The nightly backup had grown from a few megabytes to 9 GB because the Clone Me booth's downloaded AI models were being copied every night, and one of those large copies failed partway through. The backup now skips model files, caches, the booth's visitor sessions, and the working copies the dancing-clone step makes. Visitors pick when their photo and voice are deleted, so those stay out of backup copies. A fresh full backup is 744 MB, the next nightly one was 220 KB, and the backup check reads OK. The computer that pulls the backup now saves each copy under a temporary name and renames it only when the transfer finishes, so a dropped connection can't leave a half file that looks complete.

October 9, 2026

Black & white styles panelsetup

SETUP > LOOK has two more styles: Black & white (black on white) and White on black. Each uses one highlight colour for buttons, links and the selected item. The defaults are blue on white and yellow on black, and you can change the highlight to one of twelve swatches or any colour with the picker. Red and green still mark errors and OK. All 13 screens load in both styles. The home, office, meeting, tools, setup and lock screens were checked by screenshot in each style and with a custom highlight, and switching from the LOOK tab works live.

October 9, 2026

Pick how the screen looks panelsetup

The box has a new default look: warm ivory and charcoal with one clay accent, instead of navy and gold. SETUP has a new LOOK tab with three styles (Neutral, Neutral dark, and Classic navy & gold) and an accent colour you can pick from seven swatches or set to any colour. The change shows right away on every screen, and the front-desk screen picks it up within 10 seconds. If an accent would be hard to read, the box says so. The bars across the top of each screen stay plain grey whatever accent you pick. All 13 screens load in every style. Ten of them plus the lock screen were checked by screenshot in each one, and Classic matches the old look.

October 9, 2026

Fixes found while recording the demos meeting notesoffice

Meeting notes. The box can't tell voices apart, and the summary was crediting the attorney's counteroffer to the client. Summaries now say "it was proposed" or "it was agreed" instead of guessing who said it. The box's own "Recording" line and the closing "stop meeting notes" command no longer end up in the transcript, and the notes page now shows proper headings and bullets. One known problem remains: the last sentence before "stop" is sometimes misheard.

Invoices by voice. The spoken summary rounded 5.25 hours down to "5.2 hours" while the invoice said 5.25. It now reads the same number as the invoice.

October 8, 2026

The breakdance is back, with no third leg demovideoGPU

What went wrong. In yesterday's breakdance, the dancer's free arm turned into a third leg during the handstand. The video model was copying stick figures, and upside down it guessed wrong. We took the breakdance off the booth menu the same night.

The fix. The dance is now copied from a rendered dancer instead of stick figures: the Mixamo character itself, coloured so every limb is unmistakable (navy shirt, skin-tone arms and head, jeans, white shoes), with Wan Animate 2 following it. In the handstand frames that used to grow a third leg there are now two arms and two legs in every frame.

Making it fast enough. The first run took 17.3 minutes (1,039 s) for 5 seconds of dance. Six steps instead of ten took 11.8 minutes with the same picture quality. Rendering at 512 pixels and scaling the finished video to 640 took 6.3 minutes (381 s), because the model then fits almost entirely in the GPU's memory. A 4-step run crashed the GPU when it was the second render in a row in the same video-engine process, so the engine now restarts before every dance. Four renders after a restart, then two more in the booth test, had no GPU faults.

The booth test. Two made-up visitors tapped I'M DONE three seconds apart: a woman in a yellow hoodie, black leggings and red sneakers doing the breakdance in the neon club, and a man in navy and jeans doing the footwork in the city. Dances now render one at a time; the second visitor's screen counted down the wait for the first. Breakdance: 390 s. Footwork: 253 s, finished 11 minutes after its I'M DONE. Peak shared GPU memory was 59.4 GB of 65.1, with the voice and lip-sync engines loaded. The woman kept her own hoodie, leggings and sneakers. None of the dancer video's navy and denim leaked onto her.

Not yet known. Nobody real has danced at the screen yet. Faces still blur during the fastest spins. We haven't re-measured the next visitor talking while a dance renders on the new engine.

A third dance: run and front flip demovideo

A new move from Mixamo. The visitor runs at the camera, flips forward in the air and lands on their feet: 33 frames, 2.1 seconds. In the first test her feet went out of the top of the frame at the peak of the flip, so this dance frames the dancer smaller (52% of the frame height instead of 68%). The dancer video and the visitor's photo use the same framing.

The booth test. Two made-up visitors, back to back: the woman in the yellow hoodie in the neon club and the man in navy and jeans on the beach. Renders took 161 s and 158 s. The second finished 320 s after its I'M DONE, after waiting for the first. Peak shared GPU memory was 56.4 GB of 65.1. Every frame of the flip has two arms and two legs, with the whole body in the frame, and both kept their own clothes.

CLONE ME: your action figure, in its box demoimage

A toy version of you. From the same full-body photo, the booth can make you a collectible action figure sealed in a navy-and-gold toy package: your face, hair, clothes and shoes in glossy plastic, your name in gold at the top, "AI CLONE" under it, and a phone, a coffee cup and a laptop in their own slots. A band under the picture says "AI CLONE OF [NAME] — made on a B-AI Box". Pick it next to a dance, or on its own. It is made after you tap I'M DONE, in the same one-at-a-time line as the dances, and shows on the last screen and on your phone page with a download button. "Delete now" deletes it with everything else.

The model. Qwen-Image-Edit-2511 with a 4-step speed-up add-on, both under the Apache-2.0 licence, running on the box. We did not use the newer Qwen-Image 2.1 that is also on the box, because its licence is research-only.

The booth test. Two made-up visitors tapped I'M DONE three seconds apart: Maya chose the flip plus the toy box, Jordan just the toy box. Maya's toy box was done 70 s after her I'M DONE, Jordan's at 130 s, and Maya's flip at 300 s. Each picture took 66–67 s including loading the model, with a peak of 53.8 GB of the 65.1 GB of shared GPU memory. Both names and "AI CLONE" were spelled right, and each figure kept its own clothes and colours, with exactly the three accessories. One weakness: Jordan's figure looks like glossy plastic with toy joints, while Maya's still looks more like a shrunken photo than a toy.

New prices: one box, a $1 price lock, and a tee store

Three offers. The B-Ai Box is now $4,425: a NAS 5 AI with 128 GB of integrated memory, a 2 TB drive, a camera and a speaker. It ships about 30 days after you order (we set up and test each box first), or about 30 days after the Kickstarter campaign ends. $1 locks that price for 90 days. The Banksy AI for President tee is $50. The old configurator, the $5,995/$7,495 prices and the Care plans are gone from the order page, the Kickstarter page, the product page and the pre-order terms.

Lease it instead. $999 down and $249 a month for 24 months, then the box is yours. That is $6,975 in total, $2,550 more than paying at once, and the order page says so. Applying is free and charges nothing; a lease starts only with a signed agreement. Extra drives are not part of any offer: we ask what you want to add when you order, and sell or lease them separately.

Checked before it went live. We opened a real Stripe checkout for each offer and stopped before paying: it showed $4,425.00, $1.00 and $50.00 (size L), with the right item names. A tee with no size and an unknown offer were both refused. The box's order emails now say what was bought; we tested them with made-up orders and sent nothing.

Ads studio: a 15-second ad, made on the box assistantGPU

Say what the ad is for. The box writes the script, records the voice-over in the owner's cloned voice, makes three pictures, adds captions and writes the social post text. You watch it on the new ADS page, edit the post text and approve it. Approved ads go to the marketing folder for you to post; the box never posts anything by itself. Add a photo of your product and the pictures are built around the real thing; without one, the pictures show people and places and never an invented product. Our first test, with no photo, drew a made-up box with "B-Ai" lettered on it, which is why that is now ruled out.

The test. A vertical ad for the B-Ai Box from its product photo: the voice-over took 11.2 s, each picture 54 s, and the whole ad 214 s (3.6 minutes) from request to finished 15-second video. The pictures use Qwen-Image-Edit-2511 with a 4-step speed-up add-on (both Apache-2.0). There is one GPU, so while the pictures render (171 s here) the chat models and the desk camera's vision model are paused; they came back on their own afterwards. That's why ads are made at night by default, about 2:20 AM, unless you choose "now".

Office skills: invoice drafts, expenses, inventory, calls owed assistant

By voice or on the new OFFICE page. "Draft an invoice for Esplanade for last month" builds a Word invoice from the box's own unbilled hours and expenses; set an hourly rate once, or it shows hours only. It is a draft: nothing is sent, and "mark billed" is a separate button. "Log an expense of $45 for filing fees", "add 5 reams of paper to inventory", "we used 2", "what's running low", and "I owe Karen a call about the lease" (onto the existing calls-owed list). In the test a 6.5-hour invoice came back in 0.1 s. The weekly summary was already there: "how was last week".

Now in the chat assistant too, plus the books. The same skills are installed for the box's chat assistant (OpenClaw), so they work when you ask in your own words: "bill the Ep1 video work, all of it" drafted the 2-hour invoice (39 s), "I dropped forty dollars on a messenger to the courthouse" logged the expense (34 s), and "we're down to 1 toner cartridge" set the count (24 s). New: "invoice 3 was paid" records a payment (only what's still owed, so nothing is counted twice), and "how are the books" gives the month's hours, invoices, payments and expenses with a CSV for your accountant. Hours already on a draft invoice are not billed again unless you delete that draft. One miss in testing: asked "make sure I get back to Maria Lopez", the chat assistant went looking for a Maria Lopez file instead, so that phrasing (and "I need to call Bob back", "don't let me forget to call Mom") is now caught directly and goes onto your calls-owed list instantly.

Fix: long answers no longer restart the screen. While the chat assistant thought about an answer, the panel stopped answering its own health check, so the screen watchdog restarted it and the answer was lost ("no answer"). Answers, voice rendering and speech-to-text now run beside the panel instead of blocking it.

Meeting notes, with everyone's consent assistant

Nothing records until someone agrees. "Start meeting notes for Esplanade" makes the box say that the meeting will be recorded and transcribed on the box, then waits for "everyone agrees" (or a ticked box on the MEETING page). "Stop meeting notes" transcribes it, writes a summary, decisions, action items and open questions, and files them to the matter so the vault can find them. The test: a 41-second mock meeting played through the box's speaker and picked up by the room microphone came back word for word, with 1 decision, 2 action items and 1 open question, 5 s after stopping. The audio stays until you delete it on the page.

Translate in one sentence assistantlanguages

Next to the live two-person interpreter. "How do you say 'the hearing is adjourned' in Spanish" answers "La vista queda suspendida." and reads it in a Spanish voice; "traduce necesito una cita para el martes al inglés" answers in English. The TRANSLATE page drafts whole letters and emails for review. The first answer took 8.9 s while the model woke up, then 0.3 s each.

Home and family mode assistant

The house runs on the same box. Shopping, errand, to-do and chore lists ("add milk and eggs to the shopping list", "got the milk"), a family calendar ("put soccer practice on the family calendar Saturday at 10") and reminders for anyone by name ("remind Emma to feed the dog at 6"). At the time, a card pops up on the panel; the test reminder fired on schedule. Everything stays in files on the box, not in a cloud calendar. All five tools are on the new TOOLS screen, and every test record we made was deleted afterwards.

October 7, 2026

CLONE ME learns to dance demovideoGPU

A dancing clone from one full-body photo. After the consent screen, a visitor can pick a dance and a backdrop, then step back for a head-to-toe photo. There are two dances, floor footwork (3.6 s) and a breakdance with a handstand (4.8 s), and three backdrops: a neon club, city lights at night, and a beach at sunset. The box checks that the whole body is in the picture. The visitor is cut out onto the backdrop, and Wan 2.2 Animate (a 14-billion-parameter video model) makes them perform the dance, with "AI CLONE — made on a B-AI Box" burned into the bottom of the video. It plays on screen and on the visitor's phone page. The motions are from Adobe Mixamo, which is royalty-free. The backdrops were generated on the box. The cut-out uses U²-Net (Apache-2.0), not the cut-out tool's default model, which is licensed for non-commercial use only.

Getting it right. The first test took 10.4 minutes for 4.8 seconds of dance. Letting the video model load fully into the GPU's memory (booth mode only) and cutting the steps from 6 to 4 brought that to 7.1 minutes; the footwork takes 4.9. The first clips had two faults. The dancer started out facing away, because our skeleton code had the facing direction backwards. And in the handstand an arm turned into a leg: the stick figures the model follows only showed hands and feet as bare line ends, so upside down it guessed wrong. Drawing fingers and toes, the way Wan's own pose tool does, fixed it, and the hand now plants on the floor. Breakdance travels up to 2 m, so a camera that follows the dancer keeps them in frame.

One GPU, so it waits its turn. With the dance rendering while the visitor talked to their clone, each spoken line took 103–260 seconds instead of 6–18, and the dance took 16 minutes instead of 5. So the dance is chosen and photographed up front but starts rendering when the visitor taps I'M DONE. In the final test the clone's first line came back in 7.8 s, and the breakdance then rendered in 7.8 minutes (470 s). Booth mode now keeps the video engine running with more memory. The front desk's vision model stays off until the booth closes, and closing the booth mid-render stops the dance cleanly first.

Not yet known. Nobody has tried it at the screen. Whether the booth camera can fit a whole standing person depends on the room. One fast-spin frame in the breakdance is still blurry. At a busy event the previous visitor's dance will slow the next visitor's talking while it renders.

A design model on the box graphics

Ming-Image 0.1 Design (inclusionAI, MIT licence) makes posters, web pages and app screens with real text, and the box's ComfyUI already supports it. First test: a "CLONE ME — Meet your AI twin in 2 minutes" booth poster in 72 s with every word spelled right, and a website hero in 60 s with the headline, menu and buttons right but one garbled word in the subheading ("recetstation") and nonsense in the tiny text on a monitor. It's good for large text; small text needs proofreading.

CLONE ME speaks twelve languages, with tap-to-say lines demovoice

Lines you just tap. The owner asked for the talk buttons to come with sayings already loaded. The clone screen now has eight SAY THIS buttons: hello, happy birthday, "I love you, Mom!", welcome to the party, thank you, good morning, "I'm your clone" and see you soon. Tap one and the clone says it in the visitor's voice, with no typing and no AI writing anything. A second tap on the same line replays it at once (0.0 s in the test), because the box keeps each line for the rest of the visit.

…in twelve languages. A SPEAK IN row switches the clone between English, Spanish, French, German, Italian, Portuguese, Japanese, Chinese, Korean, Hindi, Arabic and Russian. Every saying is pre-written in each language, worded so the speaker's gender doesn't change the grammar, with the English shown underneath. A line typed in English gets translated by the box's own model before it's spoken. Ask the clone something and it answers in the chosen language, though visitors still talk to it in English. English keeps the fast Chatterbox Turbo voice. Every other language uses Chatterbox Multilingual (Resemble AI, MIT licence) with the same 15-second English sample. It loads the first time a language is picked, so the clone's "now I speak Spanish!" took 8.0 s. After that, lines took 3.4–5.7 s for 2.5–4.8 s of speech, about twice the English voice's time, using 3.7 GB of GPU memory.

How it was tested, and what isn't known yet. We ran eleven calls through the box's own API on a throwaway session with a stock English test voice: presets in English, Spanish, Japanese, Chinese, Hindi and Arabic, a typed line into French, and a Spanish answer. The box's speech recognizer read each one back in its own language, and all eleven passed. Japanese came back word-for-word in different characters, and Arabic dropped one small word. Our first Japanese wording read 一日 ("a day") as "the 1st of the month", so that line is now written phonetically. We don't yet know how much the foreign-language voice sounds like the visitor. An automatic voice-match score couldn't tell a different speaker from the clone, so we aren't quoting one, and that needs a human ear. The talking-face video wasn't part of this run (the test session had no photo), and nobody has tried the new buttons at the screen yet. The box also got fonts for Hindi and Korean, which it couldn't draw before.

Longer lines (same afternoon). The owner looked at the buttons and said the lines needed to be longer. Each saying is now two or three sentences, for example the "I'm an AI clone" line: I was made a minute ago from one photo and fifteen seconds of a voice. I live inside this little box, and nothing about me ever leaves the room. Spoken, they run about 10–19 s in the test. They play sentence by sentence, like the clone's answers, so the first words come while the rest is still being made. In the end-to-end test that first wait ran from 3.7 s (French) to 11.0 s (Arabic), plus about 7 s the first time any non-English language is used (13.2 s for the first Spanish line). A repeat tap still replays instantly. The buttons now show each line's first sentence and a short English title, and all 96 lines (8 lines in 12 languages) fit on the screen.

Every line, read back. We then ran all 96 lines through the voice engine, sentence by sentence (about 250 sentences, 30.6 minutes), and had the box's speech recognizer read each one back. Three sentences really failed. In Chinese and Hindi the voice kept babbling after the sentence ended, and in French it said its sentence twice. Most other low scores were the recognizer spelling the same words differently: kanji for our phonetic Japanese, traditional characters for simplified Chinese. The engine now checks every sentence's length against how long that much text takes in that language, measured over the same test. A sentence far too long is made again, up to three takes. Re-running the three failures three times each, all nine came out understandable. One French take still dropped its first word and added a stray syllable. Chinese is the weakest language: four of its sentences needed a second take.

…unless you take me home. The owner then added an ending to the AI-clone line. It first said "Unless you want it on YouTube", but the QR phone link and the email also take a clone out of the room, so the final version names all three: “…nothing about me ever leaves the room… Unless you take me home: by email, a phone link, or on YouTube.” It is in all twelve languages. The box spoke the ending in each one and its recognizer read it back correctly in all twelve. One Spanish and two Chinese sentences came out far too long the first time and were re-made automatically. Getting there needed "Es sei denn" in German, Chinese's everyday nickname for YouTube (油管), since the voice can't say Latin letters in Chinese, and phonetic spelling for three Japanese words the voice misread. On screen the longest line, in Russian, needed slightly smaller text to fit. Japanese is still the language most likely to drop or slur a short word.

CLONE ME gets a real talking face demoGPU

The painted mouth is gone. Yesterday's talking photo drew a dark oval at a fixed spot on every face, which missed the owner's own mouth and landed on his beard. Now each line the clone speaks is turned into a short video of the visitor's own photo actually talking: real mouth shapes, small head and eye movement. It's made on the box's GPU by Ditto, an open-source talking-head model from Ant Group (Apache-2.0). The photo step also changed: two eye outlines inside the oval, so people line up for a straight, level shot.

Making it fast enough on this chip. Ditto's first render took 138 s for 3.7 s of speech. Profiling put almost all the time in one network that warps the face in 3-D. AMD's convolution library took 242 ms a frame for it, and PyTorch's fallback took 130 ms. Compiling that network and the decoder into Triton GPU kernels brought them to 45 and 59 ms a frame, with output matching to 0.0005. The compile is cached on disk; the very first one took 5 minutes. Live replies render the mouth 12.5 times a second, roughly half the work; a saved video renders every frame and has "AI CLONE OF <name> · made on a B-AI Box" burned into it. Measured on the box, through the kiosk's own API: a 3.6 s first line was ready to play, voice and video, 10.4 s after the question; the second line 16.1 s after; a 5.8 s saved video 23.3 s after. Lip-sync uses 1.7 GB of GPU memory. If it isn't running, the clone just speaks over a still photo. Not yet tested: a visitor talking to it at the screen.

A bug our own watchdog caught. The first test run lost its second sentence. The kiosk watchdog had restarted the panel because its health check stopped answering. The new code held the panel's web server for the ~10 s each video takes. All slow Clone Me work (voice, video, email, YouTube) now runs beside the web server instead of blocking it. Re-run: 74 health checks during a full test, the slowest 0.07 s, no restart.

Then the box froze, and two fixes. At 10:52 the owner pressed STOP on his voice sample and the whole box locked up within 20 seconds. It needed a hard power-off, then the disk passphrase at the console, which timed out once before it booted. The logs show memory had been tight all day: the kernel had already killed processes for memory twice, the second time at 10:04 during our own lip-sync speed tests, which took down the box's language model and ComfyUI. At idle, two always-loaded models hold 42 GB of the 65 GB the GPU can use. Lip-sync was also sitting in memory full-time. Fix one: lip-sync now loads only when a visitor taps Start (75 s after this reboot, while they take their photo and record), unloads after 10 idle minutes, and refuses to load with less than 6 GB free, so the clone just speaks instead. Fix two: the panel's "heads up" notices were being read aloud over each other. Every 20 s check started reading unread ones even if the last reading was still going, and a page reload read them all again. Now everything the panel says goes through one queue, each heads-up is read once (remembered across reloads), three or more at once become one line ("You have 5 heads-ups on the screen"), and a Clear all button sits above the list. Checked against the real panel page in a test browser: one line for five heads-ups, no overlap, nothing re-read after a reload, Clear all removed all six.

Booth mode: CLONE ME runs alone. Opening CLONE ME now turns the box into a single-purpose booth. It stops every service the clone doesn't use: the phone line and its tunnel, the front desk and its 30-billion-parameter vision model, web chat, MailGuard and the WhatsApp bridge, ComfyUI, the panel's other voices, the dashboards and monitors, the desk's wake-word listener, and every scheduled job. It also switches off the desk's microphone listener, camera watch and spoken heads-ups. What stays up is only what the clone needs (the page, the box's language model for its answers, speech-to-text, its voice and lip-sync) plus the plumbing (remote access, the take-home link server). The header says BOOTH MODE and shows when the engines are ready. EXIT restores exactly what was running before. The main panel page also switches booth mode off whenever it loads, and a boot-time check undoes it if the box restarts mid-booth. Tested through the panel's own API: on stopped 21 services in 2 s; voice and lip-sync were ready 32 s later; GPU memory went from 53 GB to 36 GB with the clone loaded. Off put all 21 back in 1 s and restored the switches exactly; the phone line answered again. Not yet tested at the screen.

Licence note. Ditto's code and weights are Apache-2.0, but the face detector it ships with comes from InsightFace, whose models are for non-commercial use. It finds the face once per photo. It gets swapped for Google's MediaPipe detector (Apache-2.0) before CLONE ME is part of anything we sell.

October 6, 2026

CLONE ME: meet your AI twin at the booth demovoice

A walk-up demo that runs entirely on the box. A visitor ticks three boxes (18 or older, it's their own face and voice, they agree), has one photo taken through the oval on screen, and reads a 15-second card out loud. A minute later their photo is talking back to them in their own voice: they tap and talk, the box's own model answers as their playful clone, and the reply is spoken in the voice it just learned while the photo's jaw moves with the sound. They can make it say anything, save a short video of it, and at the end choose: delete now, keep 24 hours, or keep a week. Walk away and everything is deleted after 30 minutes. The voice is Chatterbox Turbo (Resemble AI, MIT licence), installed in its own environment on the box; every line it speaks carries Resemble's inaudible PerTh watermark, and our test clip read back a watermark confidence of 1.0.

Making it fast enough to talk to. Out of the box the cloned voice took 2.5 seconds to render each second of speech here. A profile showed the time wasn't in the model at all but in the vocoder's convolutions, run through AMD's MIOpen library, which is badly tuned for this GPU. Switching those to PyTorch's own kernels made the voice 4× faster: 0.63 s per second of speech. Replies are also spoken a sentence at a time, so the first words arrive while the rest is still being made. Measured on the box with a stand-in voice sample: the clone's first words 2.3–4.9 s after the question, later sentences ready before the previous one finishes, and the box's transcriber read a cloned line back word for word. The same MIOpen problem probably slows the box's other voices too; that's next to check.

What it is and isn't yet. The talking photo is a 2-D effect (the lower face moves with the loudness of the voice), not a neural lip-sync — convincing at a glance, not up close. Tested through its own API on the box: consent enforced, live camera (37 frames in 5 s) and photo, the camera handed back to the front desk afterwards, cloned speech and answers, a video saved, "delete now" leaving nothing behind, and an expired session purged. Not yet tested: a real person going through the whole thing at the screen. GPU memory with the clone engine loaded is 53.4 GB of 62 GB, after we released 6.6 GB the idle VoxClone service was still holding.

Take your clone home (same day). At the end, the visitor picks how long the box keeps their clone: delete now, 24 hours or 1 week. A kept clone gets a QR code. Scanning it opens a page on their phone where they can watch it, download it, or delete it there and then. That page sits behind a link nobody can guess, on its own Cloudflare tunnel (cloneme.banksyai.com). The tunnel only lets through the take-home page, the video, the photo and the delete button; nothing else on the box is reachable from it, and every other path answers 404. The link stops working the moment the clone is deleted. The visitor can also type their email on an on-screen keyboard. The box sends nothing until they've seen the address on a confirmation screen and tapped SEND, then it emails them the video through the box's existing mail path. If they chose "delete now", the email goes out first and becomes their only copy. One email per clone, and the log records only the email's domain, never the full address. Tested on the box today: an unconfirmed address was not emailed; a confirmed one was (video attached), and a second send was refused. From outside the office, the phone page loaded and the video played, including the partial downloads phones use (206). The delete button removed everything, after which the link answered 404. The box's tamper-evident log recorded each step and still checks out. Not yet tested: a real visitor scanning the QR code with their own phone.

…or post it on YouTube. A fourth choice at the end, "Post on YouTube", only works after the visitor ticks a box that names the channel and says exactly what happens. The video goes up unlisted (only people with the link can watch it) and marked as AI-made, and subscribers aren't notified. The box keeps its own copy for a week behind the same QR link. The YouTube link appears on the visitor's phone page and in their email, and the page's delete button removes the video from YouTube as well as from the box. If YouTube can't be reached, nothing is deleted, so the visitor can simply try again. The box sends only the video. It keeps a list of the video IDs it has posted, so a later request to take one down can be honoured. Tested today: a post without the tick was refused. A ticked post went up in 2 seconds and was viewable by link from outside the office. The phone page's delete took it off YouTube and wiped the box copy; YouTube then answered 404 for that video. Our first test upload, from Google's newest kind of API project, was still viewable by link minutes later rather than locked to private, which Google's documentation says can happen to unverified projects. We are watching for that.

The compliance pack writes itself from the box complianceethics

SETUP → COMPLIANCE. Four documents a firm needs before it can say it uses AI responsibly, drafted from this box's live settings each time the tab is opened, and downloadable as Word files: a firm AI use policy, an engagement-letter clause on technology and AI, an ABA Formal Opinion 512 / New York checklist (each duty, what the box does about it today, and what the firm still has to do itself), and a security & vendor sheet for a malpractice carrier or a client's questionnaire. Nothing in them is typed in by hand: what leaves the box and its switches come from the OUTBOUND page, encryption from the drives themselves (2 of 2 drives in use are encrypted; an unused 954 GB drive attached to this unit is named as such), the models from the model server, the installed update and its signing key from the updater, the last backup from the backup log (08:45 UTC today), and the audit trail's chain check (intact). The New York pieces are in: 22 NYCRR Part 161 (in force since June 1, 2026), NYC Bar opinions 2024-5 and 2025-6, and the NYSBA task force. Writing it found two places where our own one-line claim was too broad, and the documents say so instead of repeating it: the WhatsApp heads-up to the owner carries a visitor's name and the gist of a message through Meta without a per-message approval (it is a switch, and it is on), and the phone line keeps the text of each call. The clause tells clients both. The vendor sheet ends with a "known gaps" list: the Cloudflare tunnel still runs beside Tailscale, there is one shared PIN with no per-user logins yet, and backup archives are not encrypted by the box. Verified on the box: the page and all four downloads refuse without the PIN, the pack builds in 0.06 s, each .docx in 0.12–0.15 s and opens in Word format with its tables, each download goes into the audit trail, and copies are kept in nas/compliance. These are drafts for the responsible attorney to read and adopt, not legal advice.

"This call is recorded and transcribed." Every call to the phone line now opens with that sentence, in the office's primary language, before the receptionist says anything else (NYC Bar Opinion 2025-6 asks for notice before an AI system records or transcribes a conversation). It is a switch, on by default: SETUP → FEATURES → "Phone: tell callers the call is recorded". The line is rendered once per language and cached, so it adds 2.3 s to the English greeting (10.8 → 13.4 s) and nothing to the wait. Verified on the box: a fake carrier call heard the notice first, then the greeting, then answered a caller asking to book a lease consultation; the notice was rendered in all eight languages and read back by the box's own transcriber in each (Hindi with "call" and "record" written in English letters, the words Hindi speakers use; the first Chinese wording came back with 通话 heard as 童话, "fairy tale", so it was reworded to 这通电话会被录音,并转成文字。, which reads back exactly). Checked at the same time: the box keeps the text of every call (logs/transcripts.jsonl) and does not save the call audio itself — the few seconds of audio for each turn are deleted once transcribed. The OUTBOUND page, the AUDIT note and the compliance pack now say all of this, and the engagement-letter clause tells clients their calls are recorded.

The phone line in the newer languages, and a receptionist that no longer invents callers. We ran fake-carrier calls in French, Italian, Portuguese, Hindi and Japanese. French, Italian and Japanese answered in the caller's language; a Hindi caller got an English reply, read by the Hindi voice and cut off after 3 seconds, because the phone brain was handed the caller's language and never used it. Worse, checking the records afterwards: in two Portuguese test calls the brain had saved a lead named "caller" with the phone number "caller_phone_number", and booked a consultation for an invented "João Silva, (21) 98765-4321, tomorrow at 10" — from callers who had given no details at all. Those rows were deleted. Three fixes, in code, not just in the prompt: the brain is told the caller's language and must answer in it; before any booking, lead or message is written, the phone number must be one the caller actually said and the name can't be a placeholder (an email the caller never said is dropped); and a booking is only accepted after the details have been read back to the caller, once per call. A refused save goes back to the brain as "nothing was saved — ask for what's missing", and it is told not to say anything is booked. Verified on the box: seven fake calls (English, Spanish, French, Italian, Portuguese, Hindi, Japanese), each answered in the caller's language asking for name and number, with nothing written; then a complete booking in Portuguese and in Hindi, twice each — details given, read back, "yes", exactly one appointment saved each time (test rows removed). One leftover: in one run the Portuguese reply said, in effect, "I made a mistake trying to book before you confirmed" — honest, if clumsy. Also: an office that serves more than three languages now hears one short "you can also talk to me in: Español, 中文, Français…" line, each name in its own voice, instead of a full sentence per language — the eight-language greeting went from 31.0 to 20.7 s; with English and Spanish it is unchanged at 13.4 s.

French at the desk came out in an English accent. The owner tried it at 14:26: "Bonjour Banksy" woke the box and "Bonjour." was heard as French, but this office's profile serves English and Spanish only, so the desk decided the visitor was English — the "I didn't hear you" line was in English, and the French reply the brain wrote was read by the English voice. Three changes. The desk now answers in any of the box's eight languages when the visitor's own words say so (a wake phrase in that language, or the transcriber's language and the words agreeing); the office's ticks still decide the greeting, the invitations and the primary language. Whatever the brain writes is read by the voice of the language it is written in. And a question about hours ("is the office open tomorrow, and what time?") had been routed to the "is the lawyer in" answer in every language — "Yes, Derek's in right now, I've let him know someone's asking" — which was wrong and sent the owner a WhatsApp heads-up; hours questions now get the hours. Verified through the desk on the box: French and Italian questions (neither ticked for this office) answered in French and Italian by the French and Italian voices; "open tomorrow, and what time?" answered 9:00–5:00 in French and English, "Saturday morning?" answered closed in Italian — matching the profile — with no heads-up sent. Not yet re-tested: the spoken "Bonjour Banksy" wake itself, which needs a person at the desk. Our tests sent the owner four WhatsApp heads-ups before the hours fix went in.

October 5, 2026

The desk reads your message back front deskvoice

Phone numbers are read as digits now. We recorded the front desk taking a walk-in message this morning and heard the problem on playback: the box read 917-555-0148 as one nine-million-and-something number. Every line the box speaks now passes through a phone-number rewrite, so a number comes out as "9 1 7, 5 5 5, 0 1 4 8" — in English or Spanish — while dollar amounts, dates and file numbers are left alone. Cards show the number as 917-555-0148.

And the message is confirmed before it's saved. After the visitor gives a name and number, the desk reads the whole thing back — "Thanks, Mark Ellison. Here's what I have: … Your number is 9 1 7, 5 5 5, 0 1 4 8. Is that right?" — and only then writes the message, the call-back and the owner's card. A "no" starts the message over; silence or a yes finishes it. Verified on the box at 10:08 with a synthetic visitor: name, number and message all landed in the record, and the owner's "what's on today" reported the call owed. Also fixed in the same session: a short sentence spoken right after the wake word ("Hey Banksy, it's Derek") was being dropped as "I didn't hear it"; it now goes through.

Less waiting. The owner's note after watching the demo: "Banksy feels like she's pausing too long." Measured, the pause between a visitor finishing a sentence and the desk answering was 5–8 s, most of it speech-to-text running on CPU threads while the box's GPU sat idle, plus the whole reply being rendered before the first word. Two changes: whisper (large-v3-turbo) now runs on the box's own GPU through Vulkan — the same ten-second sentence transcribes in 0.3 s instead of 2.7 s, word for word the same text — and long replies are spoken in sentence chunks, the first one playing while the rest renders. Re-run of the same walk-in message right after: wake word to "heard" 8 s → 2 s, end of the visitor's sentence to the reply 8 s → 2.5–4 s, first word of the 14-second read-back at 1.6 s. Rollback is one dropped-in service file.

She no longer hears herself. Next note from the owner: "she listens to herself when the audio is playing and takes it for someone new speaking." Lines the box speaks from the server side were already muted to the microphone, but the screen itself also talks — the TODAY strip and the heads-up cards are played by the kiosk page — and nothing told the listener that was her. Now every line the page fetches marks the box as speaking for the length of the audio plus a second, the page reports the moment playback ends, and the wake-word listener and the microphone ignore that window. Two things came out of the same look: the page was starting the next card as soon as the previous one began, so cards played over each other (they are read one after another now), and the greeting's Spanish invitation ("Para español, diga Hola Banksy") was being pronounced by the English voice, which made it unintelligible — it is spoken by the Spanish voice now. Verified: a card containing "Hey Banksy, is Derek in?" played through the speaker during the marked window produced no wake; the same audio unmarked woke her.

Spanish can lead. "Is there a tick to turn off English?" There is now. SETUP → OFFICE → Languages has a tick for English, a tick for Spanish and a Primary choice. The primary language is the one the desk greets in, falls back to and uses for every fixed line (the after-hours greeting, "if you said something I didn't hear it", the message and booking prompts); every other ticked language gets a one-line invitation after the greeting in its own voice ("For English, say Hey Banksy"). Untick English and the desk is Spanish-only. The greetings moved out of the code into the language table, so a third language is a table entry, a voice and a wake word. Verified with Spanish as primary and a synthetic Spanish visitor: greeting and after-hours line in Spanish, "quiero dejar un mensaje para Derek" → "Claro. Adelante con su mensaje" → the message, name and number taken, read back with the number digit by digit, "Sí, es correcto" → "Perfecto. Ya se lo pasé a Derek y le devolverá la llamada." Test rows removed; the office's own setting (English primary, Spanish on) put back.

Fixed on the way. The desk brain had been saying "thanks for calling Banksy A I" to walk-up visitors in both languages: the firm name was hard-coded inside an example sentence in the receptionist prompt and the model copied it — it now uses the firm name from the profile, and the front-desk version of the prompt says it is a desk, not a phone call. The listener had two weaknesses that showed up with the Spanish voice: a short burst of room noise was sent to whisper in "auto" mode, which once came back as Icelandic, and a click or the echo tail of her own line could count as the start of an answer. Now a prompted answer is transcribed in the visitor's known language, anything whisper labels as a language the desk doesn't serve is discarded, speech has to hold for 0.3 s before an answer counts as begun, and a clip with under 0.4 s of voice is treated as noise. For testing without a speaker-to-microphone loop there is a local /api/desk/heard hook that hands the desk a sentence as if the wake word had heard it.

The phone line follows the same language settings. "Sync to phone" on the OFFICE tab now carries the language ticks and the primary language to the phone line: the greeting is the profile's greeting in the primary language followed by a one-line invitation per other language in its own voice ("Para español, puede hablar en español"), rendered once and cached; a call starts in the primary language and follows the caller from the first sentence, limited to the languages the office serves. Transcription on the phone moved to the box's GPU whisper as well (0.8 s a turn, faster-whisper on CPU kept as the fallback). The first reply on a call was taking 12–14 s: the model was processing the receptionist prompt from scratch (9 s) and the whole reply was rendered before the first word. Now the prompt is pushed through the model while the greeting plays, and the reply is synthesised and streamed sentence by sentence — first words about 2 s after the caller stops. Verified with a fake carrier (the same 8 kHz mu-law media stream Twilio sends) and a Spanish caller: greeting, Spanish reply, call logged as Spanish.

Live interpreter. "Hey Banksy, translate" (or "interpret", "traduce" — locked or not) turns the desk into an interpreter between the primary language and the other one: each sentence is transcribed, its language decided, translated by the box's own model and spoken in the other language's voice; "stop translating" or 45 s of silence ends it, and the exchange is written to the box (nas/interpreter) with a card for the owner. Verified end to end with two synthetic voices: a tenant explaining in Spanish that the landlord wants $400 more, the lawyer asking in English about the written lease, the answer back in English — three exchanges, each translation 2–5 s, and the session ended on "okay, stop translating". Echo of her own line is ignored and single words are not translated.

One brain, not three. Found while testing the interpreter: the box was keeping three 30-billion-parameter models resident at once — the kiosk's brain in ollama, the receptionist's own copy of a sibling model in a second llama-server, and the front-desk vision model — and the GPU's 62 GB of addressable memory was full to the last gigabyte. The receptionist's server crashed under it (vk::DeviceLostError) and the kernel logged the same "not enough memory for command submission" bursts that preceded the October 4 hang. The receptionist (phone, front desk, interpreter) now talks to the one brain the kiosk already keeps loaded, through ollama's native chat with thinking switched off, and its private server is retired: 18 GB back, 60.8 → 50.9 GB in use, and the turns got faster into the bargain (1.0 s, 0.8 s, 0.4 s measured against 1.6–9 s). BANKSY_BRAIN=llama puts the old server back if ever needed.

Mandarin at the desk. Chinese is the third language: a tick and a Primary option under OFFICE → Languages, a CHINESE VOICE section under VOICE (Kokoro's Xiaobei, Xiaoxiao, Xiaoni, Yunxi, Yunyang), and the whole desk string table in Chinese. The hard part was speech: the box's Mandarin had been going through either espeak's Mandarin (whisper read half a greeting back as nonsense) or the Chatterbox clone (6–30 s a line). It now goes through Kokoro with misaki's pinyin-based Chinese G2P — 1.1 s a line — and English words inside Chinese ("Banksy", the owner's name) get English phonemes so they come out as words, not letters. Verified end to end with synthetic Chinese visitors: "我想给 Derek 留言" → "好的,请说您要给Derek的留言" → a 30-character message heard word for word, name and number ("王莉,电话是 9 1 7, 5 5 5, 0 1 4 8") taken, read back with the number digit by digit, saved; and the interpreter between English and Chinese both ways ("我的房东想把房租涨400美元,他可以这样做吗?" → "My landlord wants to increase the rent by $400; can he do that?"). The phone line's Chinese goes through the same path. Wake word: a second, Chinese keyword spotter (sherpa's wenetspeech model) runs beside the English one when Chinese is ticked and listens for 你好班克西 (ni hao Ban-ke-xi, Banksy in Chinese); it detects the phrase in the synthetic clips offline but, like the Spanish wake, did not fire through the room speaker in today's test — a real Mandarin speaker at the desk is the test that counts, and the English and Spanish wakes work as before. Booking in Chinese understands 第一个/第二个, 星期X, 明天 and 上午/下午 N点.

What can leave the box, on one page. The claim we make is "no AI inference and no client content leaves this box without approval." Today we went looking for every path that could break it, on the box, not in the docs. Inference: all local (brain, transcription, voices, vision, image and video on the box's own GPU). Content: email leaves only through the MailGuard airlock after a tap on APPROVE, and the reader that drafts replies is firewalled from the internet at the kernel; walk-in and phone bookings, messages and leads write rows on the box and nothing else; the WhatsApp heads-up goes to the owner's own number and only when the owner is marked out; the morning brief and urgent-mail alert are sent from the firm mailbox to the firm mailbox. The one real exception was the remote-approval page, which is relayed through a Cloudflare tunnel; Tailscale is installed on the box and the tunnel retires once it is joined. All of this is now a tab: SETUP → OUTBOUND lists each channel, who controls it, its kill switch where one exists, and when it last carried anything — measured live, not assumed. Behind it is the start of one audit stream, /opt/banksy/nas/audit.jsonl: every email the box sends and every WhatsApp heads-up now writes a line there (it ships inside the export and the nightly backup). Two defaults are called out because they were not obvious: "allow approved email" and "text the owner when out" are on unless switched off; the page says so.

Five more languages: French, Italian, Brazilian Portuguese, Hindi, Japanese. Eight in all. Each is a tick under OFFICE → Languages (and can be the primary), with its own voice picker under VOICE → MORE VOICES: Kokoro's Siwis for French, Sara and Nicola for Italian, Dora, Alex and Santa for Portuguese, four Hindi voices and five Japanese ones, all on the box at about 1.5–3 s a line. The desk speaks every fixed line in each (greetings, after-hours, the message and booking prompts, the read-back), tells the languages apart by script (Devanagari, kana) or by their common words (French, Italian, Portuguese against Spanish and English), understands each language's way of saying "is the lawyer in", "I'd like an appointment" and "I want to leave a message", picks a slot from "jeudi à 14 h", "giovedì alle 14", "quinta-feira às 14h", "गुरुवार दोपहर 2 बजे" or "木曜日の午後2時", and says times the local way (24-hour clock for the European three). The phone line's greeting and per-language invitation render in each (2.6–4.1 s, then cached) and its replies use the same voices — not yet run end to end on the fake carrier in these five — and the interpreter pairs English with any of them. Verified through the room speaker today with a synthetic visitor in each language: a full walk-in message in French, Italian, Portuguese, Hindi and Japanese (heard, read back, confirmed, saved — Hindi, Italian and Portuguese got the phone number exactly), and the interpreter between English and Italian. Two things had to be built on the way: Japanese needed a proper Japanese pronunciation engine (installed on the box, no network at run time), and names written in English letters inside Hindi or Japanese were being spelled out letter by letter, so the box's own model now writes the owner's name once in the local script (デレク, डेरिक) and keeps it. Honest limits: the wake phrases (Bonjour / Ciao / Oi / Namaste / Konnichiwa Banksy) ride on the English keyword spotter; "Bonjour Banksy" did not fire through the speaker in today's test (like the Spanish and Chinese ones) and the other four were not tried through the speaker — at the desk, "Hey Banksy" in any accent is the reliable wake, and the visitor's language is then taken from what they say; in the French and Japanese runs whisper mis-heard the synthetic voice reading the phone number (a dropped digit, a garbled Japanese reading), so those two need a real speaker before we claim numbers in them.

One audit trail. SETUP → AUDIT is the answer to "show me what the AI did": every answer at the panel, every front-desk turn and saved message, every phone turn and the tools it fired, every question put to a matter's files (with the files it cited, or the reason it refused), every Lex research question, every unlock, approval and export, and everything that left the box — one line each in /opt/banksy/nas/audit.jsonl, newest first, filterable by source, words and days, with MailGuard's own triage log folded in and a DOWNLOAD CSV button (the download itself is logged). Each line carries a fingerprint of the line before it, so the trail is tamper-evident: in the test an edited line and a deleted line were each caught at the exact line, and four writers at once kept the chain intact. What visitors and callers say is stored in the trail as a fingerprint and a length only, not as text, unless the office switches that off under FEATURES. Verified on the box tonight: desk, phone (fake carrier), vault, Lex and panel entries written, chain intact, CSV downloaded, page locked behind the PIN. One honest note found on the way: the phone line has always kept the text of each call in logs/transcripts.jsonl (no audio); the OUTBOUND page used to say "no recording is kept", which was true of audio only, and now says so plainly.

Correction: "one brain" broke three things for a day. Yesterday's move to one model retired the second model server on 127.0.0.1:8080, and we checked the phone line, the desk and the interpreter but not everything else that called that address. Three things did: the matter vault (questions by voice or panel came back "local model call failed"), MailGuard's reader (38 mail records written since 15:23 yesterday carry a reader error and were filed with no classification, which the airlock treats as "no action" — nothing was sent, nothing was lost, but nothing was flagged either) and the reply drafter. Fixed tonight with a small shim on the same address that answers from the one brain, so every old caller works unchanged and no extra GPU memory is used (GPU at 50.9 GB, as before). Verified: a vault question answered from the matter's retainer with the file cited (11 s), the reader classified four sample emails correctly (booking, billing, spam, urgent new client; 1.7–2.2 s each) running as its own internet-blocked user, the drafter wrote a reply, and the KPI tile shows the model again. The 38 records can be re-run through the reader on the owner's say-so.

Citation check (LEX → CITES). Paste a brief or pick a draft from the matters share, and every citation in it is checked against the box's own law library before it goes to a court: is that reporter citation printed next to that case name anywhere in the library, is the year right, are the quotations really in the opinion, does the New York statute section exist and is it repealed. Behind it is a new citation index built from the library itself: 3,172,733 printed citations in 1,337,170 opinions, boiled down to 699,766 citation–name pairs (rebuilt in 166 s; topped up every night at 05:40 after the Lex download). On our test draft it caught the planted problems — a volume of NY3d that doesn't exist yet, a real citation under a made-up case name (it names the case the citation actually belongs to), a quotation that isn't in the opinion, and a statute section that doesn't exist — and passed the nine real ones, in 0.4 s. To see how often it cries wolf we ran it over 24 real Appellate Division and Court of Appeals decisions from 2023–2025, where every citation is real: the first version marked 69 citations in just 8 of them as WRONG CASE or NOT FOUND, every one its own mistake (bracketed case names, "lv denied" orders, statute sections like 125.25 cut at the dot, "City of New York" read as no party at all). After the fixes, across all 24 decisions and 761 citations: none red, 31 yellow CHECKs — mostly quotations it can't confirm because the library doesn't hold the cited case's own text, and leave orders that are never printed with a case name. Two of those three samples were the ones we tuned on, so take that number as a floor, not a promise. It also flagged one citation in a 2025 decision that can't be right as printed (volume 96 of NY3d dated 2001). It is not a citator: it does not tell you whether a case is still good law. Each check goes in the audit trail by file name and counts, not text. Nothing leaves the box.

October 4, 2026

"Hey Banksy" the right way voicefront desk

The wake word was home-made, and it showed. Until today the box listened for "Hey Banksy" by running whisper, a full transcriber, over every two and a half seconds of sound. Whisper pads every request to thirty seconds, so each slice cost 8–11 s of CPU under load; the listener fell minutes behind and the big model sat at 770% CPU all day. Only two wakes registered in a whole day, both late. That was a design mistake, and the owner called it: wake words are a solved problem.

Now: sherpa-onnx keyword spotting. An open-source streaming spotter (k2-fsa) with a 3 MB model that takes keywords as text — no training — now listens to the microphone continuously at about one percent of a core. "Hey / Hi / Hello / Okay Banksy" and the Spanish "Hola Banksy" / "Oye Banksy" are six lines in a keywords file. When it fires, the rest of the sentence is captured from the same stream and sent to whisper once, in the language the wake word implies. Measured on the box: across four synthetic voices, 8 of 8 English positives detected, zero false alarms on six minutes of speech without the phrase and on room noise, 0.02 s of CPU per two-second clip; through the actual speaker and room microphone "Hey Banksy, is Derek in?" fired every time and got the right answer; the owner's live "Hey Banksy, are you awake?" fired and was answered. Honest limits: the acoustic model is English, so the Spanish wake is weaker (it caught 2 of 2 "Hola Banksy" clips offline but not through the room speaker), and a softer "Hello Banksy" voice was missed through the speaker — thresholds were lowered, and the whisper spotter stays as the automatic fallback on any box without the spotter installed.

October 3, 2026

The health page earned its keep on day one backupsupdatesassistant

The backup that ate the disk. Yesterday's new HEALTH page flagged the nightly incremental at 187 GB and the off-box copy three days stale. Today's diagnosis, from the producer's own log: the exclude list dated from before the box grew a Postgres data directory for Lex (63 GB), an Ollama model store (98 GB), ComfyUI's model folder (145 GB) and the VoxClone weights (21 GB) — so each night's "incremental" swept them in, the archive took over an hour, and a permission error on the Postgres directory made the job report failure, which left the puller with nothing to pull. Fix: those paths are excluded now (models and caches are re-downloadable; the Lex database is rebuilt from the bulk sync), the chain was restarted from a fresh level-0, and the three bloated archives were removed from the box. Result: the new full is 788 MB and took 22 s, the pull to the office PC completed in 90 s, backup health reads OK, and the data disk went from 711 GB to 409 GB used.

Second signed release. 2026.10.03 (25 files, 86 KB) went out on the update channel this morning and was installed through the box's own APPLY path: check raised the card, the signature verified, apply ran in its own unit and finished in 4 s with the panel back, history shows 2026.10.02 → 2026.10.03 and ROLL BACK is armed. One release tool fix on the way: the updater's log line now goes to stderr so its JSON output is clean.

Spanish at the desk. Tick Spanish under SETUP → OFFICE → Languages and the front desk serves it: whisper hears the language (a word-based check backs it up, because whisper called a synthetic Spanish line "english" while transcribing every word correctly), and from then on that visitor's whole visit — "¿está Derek?", hours, "quiero dejar un mensaje", the walk-in intake with its conflict check and two offered slots ("el lunes a las 10 de la mañana o a las 2 de la tarde"), and the receptionist brain for everything else — runs in Spanish, spoken in a Spanish Kokoro voice chosen under VOICE (Dora by default; Alex is the phone line's). "Hola Banksy" wakes it, the greeting gains "Para español, diga Hola Banksy", and the owner's cards and records stay in English. The phone line already answered Spanish callers; now the desk matches it. Verified today on the box without a mic: a Spanish line rendered in 1.7 s and played through the speaker; the same audio fed back to whisper came out word-perfect; a scripted Spanish walk-in booked "el lunes a las 10 de la mañana" from "la primera" and "mañana a las 2 de la tarde" picked the right slot; a Spanish message was taken and passed on; and a free question about the practice came back from the brain in Spanish in 5.8 s. Test rows removed. The structure is a language table, so a third language is a table entry and a voice, not a rewrite.

The week in review. Monday 07:00 a card, and "how was last week" by voice any time: consultations held and how many showed, cancellations, new bookings, visitors at the desk, messages, leads, hours logged with the top matters, calls owed opened and closed, emails reviewed, files filed to matters, new matters, new decisions on watched questions, updates applied, how many nights the backup ran, what is still waiting, and what is already booked for the coming week with the first appointment named. Every figure is read from the box's own records; a week with nothing in it says so in one line. Verified with a seeded week (two bookings, one arrived, one cancelled, a message, 2.5 h on a matter), then the seed rows were removed and the real, quiet week read back correctly.

October 2, 2026

Unbox it, name the owner, hear your day setupassistant

First-run wizard. A fresh box opens on six screens instead of a login: set the PIN, who the box works for, the office basics, pick a voice, a sound check (it plays a line through the speaker, then listens five seconds and shows what it heard), finish. Everything else stays shut until the wizard is done. Tested tonight by flipping a box back to "new": the panel redirected to the wizard, every other door answered 401, and the mic test transcribed the speaker's own test line.

The owner is a setting. Every line that used to say "Derek" — the greeting, "is Derek in", "Derek will call you back", "it's me" — now reads the owner's name and pronoun from the SETUP tab, mishearings included. Switching the demo box to "Maria / she" for a minute re-worded the greeting, the desk answers and the intake flow with no code change.

What's on today. On unlock the panel shows one strip and says it once: consults today with times, visitors so far, calls owed, messages and leads from the last day, mail waiting for review, proposals waiting, new decisions on watched questions, hours logged. "What's on today" by voice gives the same line.

Appointments, yours to move. An APPTS tab lists what the phone line and the front desk have booked, with CONFIRM, MOVE and CANCEL; by voice, "who's coming in tomorrow", "confirm Karen", "move Dana to Monday at 10", "cancel Karen's appointment". A cancelled slot is offered to the next walk-in again, a moved one blocks its new time, and confirming closes the "confirm" call owed. Verified with two seeded bookings, then removed. Also closed today: a visitor's "yes" to the receptionist's offer to book now goes through the conflict-checked intake, not the receptionist's own tool.

Notes to a matter, by voice. "Note to Kowalski: client wants to settle under 50" lands in that matter's vault, timestamped, and is indexed within seconds — so both "what did I say about Kowalski settlement" (last notes on that matter mentioning the topic, with times) and the ordinary "what does the Kowalski vault say about settling" find it. Matter names are matched the way the rest of the panel matches them; a note that names no matter falls back to the general "remember" path. Tested on a fixture matter, then cleaned up.

Tomorrow's prep, and a proper close. At 17:05 on weekdays a card lists the next business day: each appointment with time, name, what it's about, the other side with the conflict check re-run now, whether it's confirmed, and your last note on the matching matter. "What's tomorrow look like" says the same. "Close out the day" (or "I'm done", "good night Banksy") reads today's numbers, calls still owed, mail waiting, tomorrow's unconfirmed bookings, hours logged or a nudge if none, then tells visitors you're back at the next opening time and locks the panel after the line is spoken. Prep was verified on a seeded Monday booking (conflict hit surfaced correctly); the close was dry-run only — the live version locks the owner's screen, so it waits for the owner to say it.

Sign-in at the desk, and after hours. When a visitor is confirmed during an appointment window the box asks for a name, matches it to the booking, marks it ARRIVED and tells the owner "Karen is in the lobby for the 11 a.m" (card and WhatsApp) — and if the owner said "tell my 11 o'clock I'm running 15 minutes late" earlier, Karen hears that on arrival. A name that matches nothing is still passed on word for word. Outside the hours on the profile the greeting changes to closed-and-when-it-opens with message-only, the locked screen says "closed - opens Monday at 9 a.m", and "is Derek in" gets the same answer. Verified by simulation on a seeded booking (matched, unmatched, closed), then cleaned up.

A clock and a reminder, by voice. "Start the clock on Esplanade for drafting the stip" → "stop the clock" writes the time to the hours journal (rounded up to the next tenth, never below 0.1), "how long have I been on this" reads it back, and starting a second clock closes the first. "Remind me Friday to file the Esplanade stip", "remind me tomorrow at 3 to call the court clerk", "remind me in 20 minutes to check the printer" land on the same list as calls owed, with the card when due and "done with…" to clear. Verified by voice on the box; test entries removed.

Updates, signed and shown first. The box now has an update channel. Every morning at 06:40 it reads a small manifest from banksyai.com; if a newer release is published it raises one card ("Update 2026.10.02 is ready: …") and otherwise does nothing. SETUP → UPDATES shows the installed version, what the release changes, and CHECK NOW / APPLY / ROLL BACK — nothing installs on its own. Each release is a tarball signed with an offline Ed25519 key whose public half is pinned on the box; the box verifies the signature and the SHA-256 before a byte is unpacked, refuses paths outside its own install, backs up every file it replaces, compiles each one, restarts the services involved, and if the panel does not answer within the health window it rolls itself back. Tested today end-to-end with the first release, 2026.10.02 (22 files, 77 KB): the genuine bundle verified; the same bundle with one byte flipped was refused ("Could not verify signature"); apply ran in its own systemd unit and finished in 4 s with the panel back at 200; roll back put version 0 back in 2 s; a second apply left the box on 2026.10.02. The apply runs outside the panel's own process so the panel can restart itself mid-update.

Health, measured. SETUP → HEALTH is one page of what is true on the box right now, nothing assumed: sixteen services, every brain and ear it depends on (whisper, the voice, the camera model, Ollama, Postgres) with response times, both disks, memory, GPU, load, uptime, speaker, microphone, camera, whether the screen has checked in, which tabs are open, the last backup and the backup report, the last run of every scheduled job, software version, cards and actions waiting. Red is a problem, amber a warning, and "how's the box" by voice reads the same list. Every 30 minutes a check raises one card per problem. Its first run on our own box was honest: 48 checks, two red — the nightly incremental backup had grown to 187 GB (something large is being swept in) and the off-box copy was 48 hours stale. Both were already true; now they are on the screen.

Your data, in a box you can carry. SETUP → DATA builds one plain .tar.gz of everything the office put into the box — matter files as filed, appointments, leads, messages, time entries, notes, follow-ups, the desk and phone profiles, the assistant's memory files, visitor and action logs — with a README and a manifest listing every file with its SHA-256. No models, no code, no secrets. Plug in a USB drive and COPY puts a verified copy on it (checked by hash after the write). Tested: 158 files in under a second, manifest and README present, nothing secret inside, delete from the box by button.

Only the front desk while locked. The kiosk used to carry the assistant chat, the KPI page and the studio as extra tabs a thumb on Ctrl+2 could reach while the panel was locked. The screen now opens one tab, the panel; CHAT and STUDIO are header buttons that open only when unlocked; and a guard watches the browser every five seconds and closes anything that is not the panel the moment the box is locked — by PIN, by "on a call", by the idle timer, or by the desk being empty. Verified on the box: locking closed the three old tabs within a second; a KPI tab opened on a locked box was gone 7 s later.

Calls owed. Every walk-in outcome — a booked consult to confirm, a held conflict, a lead to call, a message left — becomes a follow-up due the next business morning. A card goes up when it's due; "I called Karen back" or "done with Sam" closes it by voice; "who do I need to call back" lists them. Exercised end-to-end tonight: three follow-ups created from intake, one card raised, two closed by voice.

October 2, 2026

A real front desk while locked, and a voice you can change front deskkiosk

The locked panel used to answer anything off-script with "I can only answer front-desk questions." Now it behaves like a front desk: "I need a lawyer for a landlord problem", "can I speak with someone about a contract", "I'd like to set up a consultation" all start the walk-in intake; "is Derek in", hours and messages are answered directly; everything else goes to the same receptionist brain that answers the phone, running under a law-office desk profile that never gives legal advice, never quotes fees and never discusses other matters. Measured today: practice-area question 10 s cold, then 0.4–0.6 s per follow-up; "do I have a good case against my landlord?" → declines advice, offers a consultation.

New SETUP tab (behind the PIN): pick the box's voice — fifteen local Kokoro voices (British and American, about two seconds a line) or the owner's cloned voice — preview it through the speaker, save it, and every voice on the box follows: greetings, "Hey Banksy" replies, intake, cards, on-screen speech. The same tab now holds the office profile the front desk runs on — firm name, address, hours, practice areas, attorneys, FAQ, greeting, the no-advice rules — with an optional one-tap copy to the phone line, the PIN change, and the feature switches. A firm sets up its own box from the screen; nothing needs a terminal. The demo box now speaks as Emma (British) by default. The screen also boots to the locked panel instead of the assistant chat.

October 2, 2026

Walk in, get conflict-checked, leave with an appointment front deskvoice

At the locked panel, "Hey Banksy, I'd like to book a consultation" now runs one spoken flow: what it's about, who the other side is, a conflict check of that name against every matter vault on the box, then name and number, then two open slots pulled from the firm's hours and the existing appointment list. "The first one", "2 pm", "Monday at 10" all land the right slot. The booking is written to the same appointments record the phone line uses, Derek gets a card (and a WhatsApp if he's out), and the visitor hears the confirmation.

If the other side hits a matter, the box stops: it never tells the visitor which matter, takes their details as a held message, and flags Derek with the matter names. No open slot, or neither slot works, becomes a lead with a callback. Exercised today with scripted answers across all four outcomes (booked, held by conflict, no slot, no match) and a 14-case slot-picking check; the live-microphone pass is next.

October 1, 2026

Watch a question, cite the subsection, keep the screen alive researchkiosk

Watchlist. Say "Hey Banksy, watch this: when will a court pierce the corporate veil?" (or tap WATCH on the Lex tab) and the box re-runs that question after every nightly case-law update. A card goes up only when a decision that wasn't in the saved results enters the top eight and was decided in the last six months — otherwise it stays quiet. Two questions on the demo box's list tonight; the card path was exercised end-to-end today.

Citation pin. Name a section — "GOL 7-107(2)", "CPLR 3211(a)(7)" — and that statute is pinned to the top of the sources with the passage that actually carries the subsection, instead of hoping the vector index ranks it. Before: the 7-107(2) question was refused. After: answered from § 7-107 in 4.9 s, retrieval 0.1 s. A bare "section 1782" with no law named is left to the index, since it exists in several laws.

Quarterly catch-up, hands-free. The daily feed keeps the corpus current; a weekly check now watches for CourtListener's quarter-end bulk snapshot and streams it through the same merge when it appears, so a month of API misses can never accumulate. The September 30 snapshot is marked done.

Screen watchdog. A once-a-minute check reads the kiosk browser's own tab list, a heartbeat the assistant tab sends every 15 s, and the panel's health. A stale error tab gets reloaded; a dead tab gets reloaded after two misses; only after four misses (and never in the first four minutes after start) does it cycle the console session. Every action is logged with its reason. First verified cycle today: three "unreachable" strikes during the planned restart, then "screen healthy again (4 tabs)".

October 1, 2026

"Hey Banksy, look up…" — cited legal research by voice researchvoice

Ask the box a New York legal question out loud or on screen and it answers from the 1.34-million-decision corpus on its own disk: the question is embedded locally, the eight closest passages are pulled from the local vector index, and the on-box model writes a short answer that must cite them by number. A citation the model didn't actually use is stripped; an answer with no citation is refused. Every source is a real row — case name, court, year, CourtListener link, or statute section with its NY Senate link.

Measured today: "when will a New York court pierce the corporate veil?" → four App. Div. and Supreme Court cases in 6.4 s; "can a landlord keep a deposit for normal wear and tear?" → General Obligations Law § 7-107 in 3.6 s; "what's the best pizza topping?" → refused, nearest matches listed. Nothing leaves the building.

On screen it's the LEX button on the assistant panel: a question box, the answer with numbered sources, tap a source to read the passage it came from. Behind the PIN. And a small courtesy: say "Hey Banksy, it's me" when you sit down and the desk greeting stays quiet until you leave.

October 1, 2026

Banksy sees, greets and listens hands-free voicecamera

With a speaker and a 4K desk camera attached, the box now notices a visitor, checks with its on-box vision model that it's a person, and greets them in the owner's voice with the right message for the moment (in, out, on a call). The visit is logged and the owner gets a nudge — by WhatsApp if they're out.

Say "Hey Banksy" and talk: no button. Locked panel = front-desk questions, take a message, booking requests. Unlocked = everything the on-screen assistant can do. The desk being empty for 45 seconds locks the panel on its own.

New voice commands: "scan three pages into <matter>" (it talks you through the pages), "read me the brief", "record ten seconds of b-roll". Dynamic replies now come back in under two seconds; lines you hear often are rendered in the owner's cloned voice.

October 1, 2026

New York case law on the box, kept current research

The Lex.NY corpus — 1.34 million New York decisions (Court of Appeals, Appellate Division, federal courts in NY, county Supreme Courts) and 44,758 statutes with 3.8 million semantic vectors — now lives on the box's own Postgres with a local vector index. Nearest-neighbour search answers in well under a second.

It stays current without the cloud: a nightly pull from CourtListener's free API, paced to the free tier, plus a quarterly bulk catch-up streamed straight from CourtListener's public snapshot. Newest decision on the box as of today: September 29, 2026.

September 30, 2026

Brain upgrade: Qwen 3.6 on Ollama models

After a measured tryout of five candidates on the box (Qwen 3.6 35B-A3B, Qwen 3.5 122B, Qwen 3.5 35B, Qwen 3.8 Flash-Next, MiniMax H3 for video), the on-screen assistant moved to Qwen 3.6 35B-A3B served by Ollama with thinking off: 70 tokens/s, a correct tool call in 1.2 s, cold start under 30 s. The 122B stays on disk for long research passes. Numbers are in the build-in-public series.

September 28–30, 2026

Hands, hours, nudges and a lock assistant

The assistant can now draft an email, book a consultation, log time or save a note — every one of them lands as a card that waits for the owner's OK on screen before anything happens. An hours journal (today / this week / by matter, export to CSV) feeds the nightly unbilled sweep and the morning brief.

It nudges: phone messages, leads nobody called back, appointments in the next 45 minutes, mail waiting for review, a failed backup — spoken when the owner is in, texted to WhatsApp when out, with a 5 PM "here's your day" recap. Conflict check, vault search, camera scan-to-vault and dictation to .docx all work by voice. A PIN lock screen with idle re-lock guards it all, and every feature has an on/off switch for the install checklist.

September 27, 2026

Images and video, generated on the box media

ComfyUI runs natively on the box's AMD GPU. Qwen-Image produces a 1024² image in under a minute; Wan 2.2 (5B and 14B) and LTX-2.5 produce short clips with native audio, chained into longer pieces. Memory ceilings keep a render from ever taking the phone line down.

September 26, 2026

The box boots to a screen kiosk

Plug in a monitor and the box comes up on a full-screen assistant with a KPI dashboard one keystroke away (services, backup, appointments, leads, messages, mail to review, matters, model status). MailGuard went quiet: one daily digest instead of email about email, with an urgent lane for anything that's actually money or a court date.

September 21–22, 2026

Matter vault, backups, and a repeatable build privacy

Drop a folder into a matter share from any PC on the office network; the box indexes it (PDF, Word including legacy .doc, Excel, text) and answers questions about that matter only, with citations and quotes — or refuses when nothing matches, never guessing. Nightly incremental backups are pulled to a second machine and the morning brief shouts if one is missed. A one-command bake and a first-hour smoke test make a new box reproducible.

September 15–16, 2026

The phone line goes public receptionist

Call the box: an AI receptionist in a cloned voice books consultations, takes messages, captures leads, reads your phone number back digit by digit, asks you to spell your email, and hangs up politely. English, Spanish and Mandarin. Inbound SMS with STOP/HELP handling and a published privacy policy. Eleven local models were benchmarked on the hardware to pick the brain; the mixture-of-experts winner runs at 90 tokens/s.

© 2026 Banksy AI LLC · Weehawken, NJ · banksyai.com · SMS Privacy · SMS Terms · LinkedIn