RSSAmplifier

Blog

Home - Tom Barrasso

Recent content - Home - Tom Barrasso

barrasso.meRSS feed ↗68 posts

Latest posts

Shipping AI-Generated Code Safely with Static Sites

For years, I’ve built websites using Hugo . It powers this blog , Cloud Phone for Developers , and now my personal real estate website, Unique Homes Massachusetts . Even early versions of the PodLP Podcast API were architected as static websites, where the podcatcher crawled RSS feeds and, when the feed content changed, pre-computed API payloads as JSON fragments stored in S3 and hosted by…

Introducing iClaw, a safe, private, on-device AI agent using Apple Intelligence

I recently shared Junco , an on-device AI agent that uses Apple Intelligence to write and edit Swift code. Today I’m sharing iClaw , an experimental local AI agent for macOS designed around safety and privacy. Screen recording of iClaw local AI agent on macOS iClaw started as a SundAI hackathon project in March. Although our demo failed , we learned many lessons I’ll share. But first:…

Deterministic text-to-bash with ShellTalk

I recently released ShellTalk , an Apache 2.0 licensed CLI and library that converts natural language English text into the Bash commands. shelltalk 'find all images in this folder' find . -type f \( \ -name '*.jpg' -o \ -name '*.jpeg' -o \ -name '*.png' -o \ -name '*.gif' -o \ -name '*.webp' -o \ -name '*.svg' \ \) While building Junco , I discovered Hunch , an on-device CLI that uses Apple…

Building an on-device Swift coding agent using Apple Intelligence

I built a fully on-device coding agent called Junco , using Apple Intelligence, the Apple Foundation Model (AFM), in Swift . Why? To learn, but also to build a tool I want to use myself. Why call it “ Junco ?” Because nothing else was named “Junco,” it fits the Swift-related bird theme, and, to be honest, it’s kind of junky compared to Claude Code . Does Junco work?…

Why Dumbphone Apps Are So Hard to Build

On Jose Briones’ Moving Offline Podcast, I talk about PodLP , and how the podcast app for dumbphones was made. We dive into why it’s tough to find your favorite apps on these minimalist devices, and what inspired me to build PodLP during the pandemic. We cover the challenges developers face like small screens, keypad navigation, and platform fragmentation, and discuss why big companies…

6 lessons from 6 years building software for flip phones

I started PodLP in 2020 with no clue it would lead me give talks with 20,000+ aspiring Indian developers and take calls from a New Zealand campground with Bangladesh’s largest telecom company. It’s now 2026, I just launched PodLP for Android , and I still don’t know where it all ends. Like many, the COVID-19 pandemic gave me sudden free time. Curious to try a “digital…

Quickly reverse engineer hidden Android APIs with Gemini and OpenCode

Why Reverse Engineer an APK? # In the early days of Android more than a decade ago, I built UI customization apps like StatusBar+ , ChargeBar , and Noyze . Fragmentation was a big problem. This was long before Material UI was released in 2014, and well before Google certified original equipment manufacturer (OEMs) through Play Protect in 2017. To build apps that looked and worked well on…

Migrating PodLP from JavaScript to TypeScript using OpenCode

At a Glance # I migrated PodLP , my podcast app for KaiOS , from JavaScript to TypeScript. Scale . ~35,000 lines of code (LOC) across 160 JavaScript files, 67 Svelte components, and 28 JSON translation dictionaries Cost . $43 using $300 free credit for new Google Cloud customers Time . Two half days of background tasks, primarily baking cookies and working on other projects Impact . A codebase…

Reflections on a year abroad

For a year I experienced truly “remote” work. From Summer 2024 to Fall 2025, I spent a year traveling across Peru, Australia, Vietnam, Thailand, India, the United Kingdom, the Netherlands, Switzerland, Italy, Romania, Turkey, Cyprus, and almost half a year living in a van in New Zealand. During this time, I worked remotely at CloudMosa as the Head of Developer Relations for Cloud Phone…

Rotating content daily with Cloudfront Functions

How to use Cloudfront Functions to rotate content daily at roughly midnight local time. Content Rotation # I built two projects for the Yoto Hackathon : Backyard Birds and Fez the Cat . Fez tells a new story each each that contains every letter of the alphabet, except for one letter that listeners need to guess. Fez’s stories are almost pangrams , the most famous pangram being: The quick…

Deploy an Elixir + Phoenix web app on AWS EC2

Using GitHub Actions to automatically build and deploy an Elixir + Phoenix web app on AWS EC2 running Amazon Linux 2023 At a glance # Below is a GitHub Action with two steps that builds an Elixir + Phoenix release binary using Docker and deploys the binary onto an AWS EC2 instance running Amazon Linux 2023. This approach worked fairly well for my hackathon project, but be warned that…

Backyard Birds

Backyard Birds is an educational app created for the Yoto Player , a screen-free audio platform for kids. Backyard Birds brings the magic of birdwatching to children and families through personalized audio cards. The app uses AI (using OpenAI & Gemini) to write and narrate (using ElevanLabs) stories featuring birds recently sighted nearby, complete with authentic bird calls, interesting facts, and…

Tiny Screens, Big Impact: The Forgotten Art Of Developing Web Apps For Feature Phones

Learn why flip phones still matter in 2025, and how you can build and launch web apps for these tiny devices.

How PodLP Unlocks 3B+ Listeners Beyond Smartphones

PodcastingTech Show host Mathew Passy chats with Tom Barrasso, founder and developer of PodLP , the innovative app that brings podcasts to feature phones (“dumb phones”) around the world. If you’ve ever assumed your listeners all have iPhones or Androids, this episode will seriously open your eyes!

Remote Browsers and the Feature Phone Market with Tom Barrasso

Matt sits down with Tom Barrasso from Cloud Phone to explore why flip phones are still relevant in 2025. They discuss the rise of digital detox, who’s using feature phones today, and how developers can still build apps for low-spec devices. From KaiOS and Cloud Phone to nostalgia and screen-time reduction—this is a deep dive into the flip phone revival and the tech powering it.

Feature phones, remote browsers and connecting the next billion users

Explore the opportunities and challenges of building web applications for feature phones powered by remote Chromium browsers. Dive into what makes feature phones appealing in certain regions, how cloud-rendered browsers change the developer experience, and the practical aspects of working with these platforms from API support and navigation patterns to PWAs and future-facing capabilities.

Remote Browsers and the Feature Phone Market with Tom Barrasso

Explore the world of feature phones, how remote browsers make it possible to run modern apps on these low-end devices, and the unique challenges and opportunities for developers in this space.

Millions Could Be Using Your App on Flip Phones

In markets like India, sales of 4G feature phones are growing quickly as network operators transition from 2G to 4G & 5G. With just a few changes, your web app can be in the hands of millions on T9 feature phones.

Wasm on feature phones with Cloud Phone's Thomas Barrasso

Feature phones? Yes, they still make them. And they run Wasm! In this WasmAssembly podcast, Thomas Steiner hosts Thomas Barrasso from CloudMosa to talk about the Cloud Phone platform and what it takes to run WebAssembly on tiny feature phones by streaming Web apps from a remote server that runs Chromium.

Cloud Phone for Developers

Cloud Phone is a Chromium-based remote browser from CloudMosa, the company behind the Puffin browser. Cloud Phone lets users watch YouTube and TikTok on budget features phones with as little as 16MB RAM! As the Head of Developer Relations , I designed, authored, and built the Cloud Phone for Developers website, made guest appearances on podcasts, filmed and published content , developed reference…

Policy Zones

Get ready for the acronyms! As a Staff Technical Program Manager (TPM), I led the adoption of Privacy Aware Infrastructure (PAI) for privacy regulations like GDPR, DMA, CCPA, and ePD. I met with dozens of teams across Meta to pilot and scale information flow control (IFC) systems like Policy Zones to enforce flow restrictions at runtime . Programs I led ensured robust data protections across…

Vipaso

Vipaso provides secure mobile payments using Bluetooth Low Energy (BLE) to connect merchants and buyers without the need for expensive terminals or specialized hardware. I was contacted via KaiOS.dev to research and develop the Vipaso app for KaiOS . The app uses the Bluetooth Web API , a Firefox OS-specific predecessor to WebBluetooth API , to expose Generic Attribute Profile (GATT) services to…

CVE-2023-33293

A vulnerability (CVSS 5.3) in KaiOS 3.0 and 3.1 where the /system/kaios/api-daemon binary exposes a local web server on *.localhost with subdomains for each installed application, allowing attackers to determine which apps are installed and access their manifest.webmanifest contents.

CVE-2023-33294

A critical vulnerability (CVSS 9.8) in KaiOS 3.0 before 3.1 where the /system/bin/tctweb_server binary exposes an unprotected local web server on port 2929 that accepts and executes arbitrary Bash commands as root, accessible to all websites via the browser.

CVE-2023-27108

A vulnerability in KaiOS 3.0 where the pre-installed Communications application exposes a Web Activity that returns the user’s call log without origin or permission checks, enabling attackers to inject JavaScript code and transmit call logs to remote servers.

Amazon Pharmacy

As a Software Development Engineer (SDE), I built the real-time engine to calculate, collect, reconcile, and audit sales tax at PillPack and Amazon Pharmacy, part of the HIPAA covered entities for Amazon Health Services. As a Technical Program Manager (TPM), I led application security certification across many healthcare services. I led threat modeling, penetration testing (red teamimg),…

Is podcasting ready for IPv6?

The world has been running out of IPv4 addresses for some time. Podcasting may not be prepared for the inevitable IPv6 future

Podcasts for the Next Billion

Designing a podcast client for KaiOS smart feature phones

PodLP

PodLP is the first and most popular podcast app for feature phones, available on KaiOS , the JioPhone, and Cloud Phone. With 10+ million installs across more than 175 countries , PodLP brings the podcast listening experience to the next billion listeners on affordable devices. PodLP was a 2020 KaiOS Staff Pick , featured on Podnews , WBUR , and Sounds Profitable . Users find PodLP easy to use and…

Why does JavaScript have -0?

Why so negative zero? JavaScript has two zeroes and they’re both the same and different

Scale Securely with Transit Gateway

AWS Transit Gateway provides secure and scalable cloud connectivity to on-premise networks

Totally legit software methodologies

Instagram Driven Development, and other commonly employed strategies for crafting digital experiences

Why RSpec Tests Fail (and How To Fix Them)

Knowing how to troubleshoot tests is an essential software skill

A practical guide to ES6 Proxy

Proxies on proxies for clean and composable Javascript metaprogramming

A practical guide to ES6 Symbol

Practical Javascript metaprogramming with Symbols

thank u, [Symbol.iterator].next

I’m so f****in’ grateful for this spec. Modular iteration without cloning or modifying in-place

The first shall be last with JavaScript arrays

So the last shall be [0] , and the first [length - 1]

Dear Javascript,

this isn’t working.

How to Learn Elixir for Hipster Javascript Developers

Everyone knows Javascript. Your grandma, father-in-law, old college roommate… even your cat knows Javascript!

Hello, Elixir — The First Month

I’ve used Elixir for a month and mostly like it

John Hancock Investments

I led the front-end team launching the redesigned John Hancock Investments website, including the interactive Fund Compare tool. Complex financial data was rendered precisely using custom Plotly charts and dynamic SVGs. Downloadable Fact Sheets were rendered using Puppeteer to month and quarter-end PDFs. I collaborated with our backend team, often landing backend changes in Adobe Experience…

Animated React Metaballs

React component for animated SVG metaballs

Basics of Text Analysis & Visualization

Bigram cloud and sentiment analysis applied to GitHub READMEs

Open Source Words — Part 2

There are many words used to describe software: framework, progressive, modular, reusable, extensible, scalable, simple, ad infinitum…

Open Source Words — Part 1

I set out to understand words used to describe software, and in particular, open source software. What words form the collective developer…

HTML Overlays in Plotly.js

I’ve talked about several features and limitations of Plotly.js before. It’s a very capable framework but I’ve found a number of important…

Resumes in HTML, CSS, and JS

There’s lots of guides on how to write a resume as a developer, but very few resources for actually creating one. Google for “resume…

Quick Start with HTML Template Language on Adobe Experience Manager

Introduction

Plotly Tip #6: positioning axis titles in horizontal bar chart

About Plot.ly

Plotly Tip #5: sand charts

About Plot.ly