# Futurelab Studio > Independent software studio building AI-native, privacy-respecting tools for macOS and the web. Home of Ora, htmlctl, and the Futurelab engineering blog. ## Pages - [Futurelab Studio — Ora, htmlctl, and AI tools for Mac and the web](https://futurelab.studio/): Futurelab Studio builds Ora, htmlctl, and AI tools across local AI, macOS software, research workflows, and agent-native publishing. - [Engineering Notes — Futurelab Studio](https://futurelab.studio/blog/): Build notes, architecture breakdowns, and launch learnings from Futurelab Studio — the team behind Ora and htmlctl. - [AI, the UI Anywhere — TelePi & TeleCodex — Futurelab Studio](https://futurelab.studio/blog/ai-ui-anywhere/): Why I built two Telegram bridges for Pi and OpenAI Codex — steering coding agents from your phone with native buttons, voice input, and zero context lost on hand-off. - [Continuous SEO with Google Search Console and htmlctl — Futurelab Studio](https://futurelab.studio/blog/continuous-seo-google-search-console-htmlctl/): A practical workflow for continuously improving SEO with Google Search Console and htmlctl: inspect indexing, analyze queries, fix page mismatches, update content, deploy to staging, and repeat. - [We Don't Just Design for Humans Anymore — Futurelab Studio](https://futurelab.studio/blog/e8-seo-effortless/): I tried to share an htmlctl update on social media. The preview was blank. That moment led to shipping automatic OG image generation, favicon support, robots.txt, and a sitemap generator. - [How a Newsletter Became htmlctl's Extension System — Futurelab Studio](https://futurelab.studio/blog/extension-system/): Restoring the newsletter forced a broader architectural answer: a clean extension system for adding dynamic capabilities without breaking static deployment guarantees. - [GitHub Copilot Pro vs Pro+ vs Claude Code after AI Credits (2026) — Futurelab Studio](https://futurelab.studio/blog/github-copilot-pro-vs-pro-plus-vs-claude-code/): A practical comparison of GitHub Copilot Pro, Copilot Pro+, and Claude Code after GitHub's June 1, 2026 move from premium requests to token-based GitHub AI Credits. - [MacTalk Was My ASR Playground — and It Led to Ora — Futurelab Studio](https://futurelab.studio/blog/mactalk-led-to-ora/): MacTalk started as my sandbox for trying Whisper, Parakeet, and different ASR ideas. That experimentation eventually led to Ora — and now I am back to using MacTalk daily to talk to my coding agents. - [MacTalk vs Apple Dictation — Local Voice Dictation for Mac — Futurelab Studio](https://futurelab.studio/blog/mactalk-vs-apple-dictation/): A practical comparison of MacTalk and Apple Dictation for Mac: local processing, Whisper and Parakeet support, app-audio capture, privacy tradeoffs, and which dictation workflow fits better. - [Run Coding Agents From Your Phone With Telegram — Futurelab Studio](https://futurelab.studio/blog/run-coding-agents-from-your-phone/): Why Telegram works as a mobile control surface for coding agents, and how TelePi and TeleCodex turn voice notes, screenshots, and short prompts into real coding workflows. - [Dynamic Tool Discovery: How We Reduced Prompt Tokens by 60% — Futurelab Studio](https://futurelab.studio/blog/s06-dynamic-tool-discovery/): Ora registered 41 tools. Sending every schema to the LLM on every turn was expensive and noisy. Dynamic tool discovery introduced client-side lazy loading — the model now carries six core schemas and discovers the rest on demand. - [TeleCodex: Telegram Bridge for OpenAI Codex CLI — Futurelab Studio](https://futurelab.studio/blog/telecodex-telegram-remote-control-for-openai-codex/): TeleCodex is a Telegram bridge for OpenAI Codex CLI with launch profiles, live plan visibility, file exchange, voice input, and instant handback to the terminal. - [TelePi: A Telegram Remote Control for the Pi Coding Agent — Futurelab Studio](https://futurelab.studio/blog/telepi-telegram-remote-control-for-pi/): Why I built a Telegram bridge for Pi instead of using a dedicated app — context control, model freedom, and session hand-off between CLI and phone. - [TelePi vs TeleCodex: Which Telegram Coding Agent Bridge Fits Your Workflow? — Futurelab Studio](https://futurelab.studio/blog/telepi-vs-telecodex/): A practical comparison of TelePi and TeleCodex: session model, mobile UX, ASR, profile switching, attachments, and when each Telegram coding-agent bridge makes more sense. - [The Bar Has Been Raised: Consumer Expectations in the Age of AI Software — Futurelab Studio](https://futurelab.studio/blog/the-bar-has-been-raised/): Ora is a good reminder of how fast the baseline is moving. If a solo developer can build a voice-first tool that understands speech, uses local or cloud models, remembers context, and acts across Mac apps, users will soon expect that kind of flexibility everywhere. - [Why I Switched from Claude Code and Google AI Pro to GitHub Copilot Pro+ — Futurelab Studio](https://futurelab.studio/blog/why-i-switched-to-github-copilot-pro-plus/): A March 2026 personal essay about switching to GitHub Copilot Pro+, now updated with GitHub's June 1, 2026 move from premium requests to token-based GitHub AI Credits. - [htmlctl — Website publishing for agents](https://futurelab.studio/htmlctl/): htmlctl is for agents: publish HTML, CSS, JavaScript, and content assets fast with exact previews, exact promote, runtime controls, and extensions only where needed. - [Agent-Optimized Website Publishing — Why htmlctl avoids framework overhead](https://futurelab.studio/htmlctl/agent-optimized-website-publishing/): Agent-optimized website publishing works best when direct HTML, CSS, JavaScript, and asset output is first-class and framework overhead built for human app teams stays out of the way. - [htmlctl vs Cloudflare Pages — Self-hosted Release Control Comparison](https://futurelab.studio/htmlctl/compare/cloudflare-pages-vs-htmlctl/): Compare htmlctl and Cloudflare Pages across hosting model, preview workflow, exact promotion, dynamic behavior, and the difference between self-hosted release discipline and managed edge deployment. - [htmlctl vs Netlify — Self-hosted Static Deployment Comparison](https://futurelab.studio/htmlctl/compare/netlify-vs-htmlctl/): Compare htmlctl and Netlify across agent-driven asset publishing, hosting model, exact promotion, runtime policies, and the difference between framework-heavy managed platforms and direct website publishing. - [htmlctl vs Vercel — Self-hosted Deployment Comparison](https://futurelab.studio/htmlctl/compare/vercel-vs-htmlctl/): Compare htmlctl and Vercel across agent-driven asset publishing, preview workflows, rollback, runtime control, and the difference between framework-native managed platforms and direct website publishing. - [Exact Staging-to-Prod Promote — htmlctl](https://futurelab.studio/htmlctl/exact-staging-to-prod-promote/): Exact staging-to-prod promote means production serves the same artifact that passed review: compare htmlctl with Vercel, Netlify, and Cloudflare Pages across promotion model, environment behavior, and rollback targets. - [htmlctl Extensions — Dynamic behavior without framework bloat](https://futurelab.studio/htmlctl/extensions/): htmlctl extensions add dynamic behavior to agent-published websites without turning the core publishing system into a framework. - [htmlctl Newsletter Extension — Same-origin newsletter flows without framework overhead](https://futurelab.studio/htmlctl/newsletter-extension/): The htmlctl newsletter extension adds signup, verification, unsubscribe, and campaign sending to a website without forcing the core publishing system into application-framework complexity. - [Self-hosted Static Site Deployment — htmlctl](https://futurelab.studio/htmlctl/self-hosted-static-site-deployment/): Self-hosted static site deployment for agent-driven publishing: ship direct HTML, CSS, JavaScript, and content assets with previews, exact promote, runtime controls, and extensions only where needed. - [Static Preview Environments — htmlctl](https://futurelab.studio/htmlctl/static-preview-environments/): Static preview environments matter, but exact preview-to-prod promotion matters more: compare htmlctl with Vercel, Netlify, and Cloudflare Pages across review URLs, access control, and production handoff. - [MacTalk — Local Voice Dictation for macOS with Whisper & Parakeet](https://futurelab.studio/mactalk/): MacTalk is an open-source macOS menu bar app for local voice transcription. Supports Whisper and Parakeet engines, Metal acceleration, and auto-paste for fast dictation into coding agents. - [Ora for macOS | Local Voice Assistant](https://futurelab.studio/ora/): Local-first voice assistant for macOS with on-device speech recognition, local model options, and native app actions. - [Qwen 3.5 VL Models on Mac — Ora](https://futurelab.studio/ora/compare/qwen-3-5-vl-models/): Compare Ora’s current local Qwen 3.5 VL options on Mac across 4B, 8B, and 32B model sizes for speed, hardware pressure, vision depth, and practical workflow fit. - [Ora vs Siri on Mac — Conversational Assistant Comparison](https://futurelab.studio/ora/compare/siri-vs-ora/): Compare Ora and Siri on Mac across conversational depth, task execution, privacy and local-first design, voice quality, and Apple ecosystem convenience. - [Local Voice Assistant for macOS — Ora](https://futurelab.studio/ora/local-voice-assistant-macos/): A privacy-first local voice assistant for macOS with on-device speech recognition, reasoning, text-to-speech, and native app actions. - [On-Device Speech Recognition for Mac — Ora](https://futurelab.studio/ora/on-device-speech-recognition-mac/): On-device speech recognition for Mac matters because privacy and latency start at the microphone. Ora uses a local-first voice pipeline so spoken workflows can stay on your Mac by default. - [Private AI Assistant for Mac — Ora](https://futurelab.studio/ora/private-ai-assistant-mac/): A private AI assistant for Mac built around local-first speech, native macOS actions, workflow control, and a more trustworthy assistant model.