Lizm.

Lizm.

I’m a creative technologist. Everything below is one person’s work: designed, coded, and shipped. When I’m building AI products, time vanishes. I’m in flow, doing my best work.

LondonLore

Discover London’s Legends with Your AI Guide.

Now Available on the App Store

Highlights

LondonLore

Your AI guide narrates the legends behind the Blue Plaques. Chat to it like a real guide (think Janet Street Porter meets Stephen Fry). Ask it anything, extend the story. You’re part of it now.

londonlore.uk

Tech stack

What Makes it Tick?

Your guide is smarter about routing than most apps twice its size. Phone, cloud, or a cost-capped proxy, it picks whichever keeps you talking without blowing the budget.

30K

people watched the idea land on LinkedIn

2

models on board, Claude in the cloud, Gemma on device

2.7GB

Gemma 3 4B, quantized so it isn’t locked to the newest iPhones

100

free questions a month, plus 30 walk plans, then bring your own key

It started as a post. 30k people watched the idea land on LinkedIn. This is what shipping it looks like.

The model router. One call site decides between device, cloud, or proxy for every request. Online, it upgrades to Claude; offline, it falls back to the device. Either way, there’s always an answer.

Gemma, on the device. Gemma 4 E2B looked better on paper, but it crashed an iPhone 14 outright: 6 GB of RAM isn’t enough once iOS takes its cut. Gemma 3 4B, quantized to 2.7 GB, fits, and keeps the guide talking with no signal at all.

BYOK: bring your own key. Thirty walk plans and a hundred voice questions come free every month, on my dime. Blow through that and drop in your own Claude API key: the shared quota steps aside and you’re on your own budget, not mine.

Spoken in any language. Gemma translates the narration locally before it’s read aloud, so it’s free, private, and fully offline. The cloud stays reserved for conversation, not bulk translation.

Private by default. Your conversations, profile, and saved plaques never leave your device. Only Claude calls go out, brokered through a single proxy; everything else stays put.

¡Buenos días! ¿En qué puedo ayudarle?

Buenos días, me gustaría los tomates. ¿Qué tipos hay?

Hoy tenemos tomates cherry fresquísimos: 2,80 € el envase.

  • los tomates cherry the cherry tomatoes
  • los tomates the tomatoes
  • las zanahorias the carrots
  • el pimiento the pepper
  • el pepino the cucumber
  • la lechuga the lettuce
  • el ajo the garlic
  • ¡Buenos días! hello / good morning
  • Me gustaría… I would like…
  • ¿Cuánto cuestan? how much are they?

Add new words, right from the chat.

LingoWise

Stop studying. Start speaking.

lingowise.ai

Highlights

LingoWise

Immersive conversations with your AI tutor, from day one.

lingowise.ai

Tech stack

What Makes it Tick?

It all starts with your interests, your vocabulary. The words you collect set the stage. Ingest in batch, or translate one by one. Every word you collect fuels the next conversation.

8

most popular euro languages featured

668MB

Gemma 3 1B, works great on mobile too

54

Chirp 3: HD neural voices, natural language

100

free credit budget renews each day

Context is king. Your active pack is the model’s context. Every reply weaves in the words you’re learning and stretches a little past them, so your vocabulary grows as you speak.

Works at 35,000 feet! A 668 MB Gemma 3 1B runs right in the browser tab, so the conversation keeps going with no signal. Your deck lives on your device and syncs safely to the cloud the moment you land.

Translation that reads the room. Tap a word and a context pass sends the whole sentence, not just the word, so ‘espèces’ files as cash, not species. Offline, a local model (mBART-50) keeps translating on your device: private, free, no round-trip.

From PDF to a fresh pack. Drop in a PDF and it’s parsed into cards, a whole pack in one go. Or snap a printed page and OCR lifts the words, straight from it. Paper and screens both become vocabulary.

Voices worth imitating. Google’s Chirp 3: HD voices, 54 of them across eight languages, read every line in native-quality speech, so you’re shadowing a real accent, not a robot.

Credits, in plain sight. Everyone starts with 100 credits a day, enough for a real session. Generous by default; Plus and Pro raise the ceiling.

Microduck

Microduck Speaks

In this "Simon Says" game, Microduck uses motion, vision, and plenty of cheeky banter to lead an engaging multi-modal game.

Highlights

Microduck

Microduck has personality and moves. By adding voice and bi-directional banter, the experience is so immersive, you forget you're conversing with a model.

Tech stack

What Makes it Tick?

Four open models running locally on a laptop, connected to a browser game and a simulated robot.

18GB

MacBook runs every model locally. No API keys.

4

open models from the Hugging Face Hub

11

robot moves exposed to the model as tools

57

unit tests covering the game and the webcam referee

Speech-to-speech pipeline. Hugging Face’s speech-to-speech runs as a local Python server with four models from the Hub: Parakeet for speech to text, Smart Turn for end-of-turn detection, Qwen3 4B as the language model and Qwen3-TTS for the voice. All running locally.

Voice and latency. Qwen3-TTS is slower than Kokoro, so we cache the audio for fixed game lines. After the first take, every command and score line plays instantly.

Game logic in plain JavaScript. The browser runs the game: rounds, timing, scoring and the nine commands. Game lines are sent as out-of-band responses, so they never grow the model’s conversation history.

Turn-taking. The mic stays open for the whole session. Smart Turn decides when you’ve finished speaking from how you stopped, not just from silence. If you speak while Simon is busy, his reply pauses rather than being dropped.

Webcam referee. MediaPipe pose tracking runs in the browser and compares each move to your starting stance. A move only counts if you hold it for a second, and 57 unit tests cover the rules, including mirrored left and right. Video never leaves your laptop.

Upstream fixes. Building on speech-to-speech surfaced three tool-call bugs, including one where Simon read his own tool calls out loud. We fixed all three, with tests, on a branch ready to send upstream.

Let’s chat

Works like clockwork.

Prefer async? Drop me a line.