Squirrel Labs / inside the build

Meet
Cuddlefish.

An experiment in making local AI feel tangible: character, knowledge, maps, and memory, built together on a Raspberry Pi.

Local AIConversation on the Pi
50 statesOffline vector map coverage
22,000+Searchable places
One companionTouchscreen + browser

01 / The short documentary

A companion
in the making.

From the first question to the character, hardware, memory, and collaboration behind Cuddlefish.

01:20 · Narrated short film · Captions includedJim Armstrong & Leonardo / October 2026

Read the film transcript

Cuddlefish began with a simple question. Could a small computer become something useful, expressive, and a little unexpected?

Working with Leonardo, I brought together three things I love: technology, art, and imagination. We started with character. Flowing fins, curious movements, and shifting colors gave Cuddlefish a personality before we asked him to answer a question.

Then came the engineering. A Raspberry Pi, a touchscreen, and solid-state storage became the foundation. Local artificial intelligence brought conversation. A microphone and camera opened new ways to interact. Maps, weather, and reference libraries connected those conversations to useful information.

Memory was another important piece. We built a place to keep conversations and retrieve relevant context, so each interaction could become part of a longer story.

It hasn't been a straight line. We've tested, listened, fixed problems, and tried again. The art guides the engineering. The engineering makes room for the art.

That's Cuddlefish. A collaboration between human curiosity and artificial intelligence. Still learning. Still growing. Still becoming.

Made with generated character animation, explanatory visuals, and an authorized AI-synthesized narration. Playback starts only when you choose it and pauses when the film leaves view.

02 / The idea

From an idea
to an interface.

Cuddlefish started with a simple question: what happens when useful local computing has a little character?

Jim Armstrong and Leonardo brought together expressive artwork, a Raspberry Pi touchscreen, local language models, and a collection of practical tools. The result is a personal prototype that connects conversation to things you can actually explore.

It is an ongoing build, shaped by real use: joining a network, finding an article, opening a map, and making each interaction clearer.

03 / What lives inside

A little personality.
A lot to explore.

The current CF v1.0 project brings conversation, local knowledge, and practical exploration into one interface.

01 / Conversation

A little more personal.

Type a question or use push-to-talk from the browser interface. A local language model handles conversation on the Pi, with a character whose resting, listening, thinking, and speaking states make the interaction visible.

02 / Continuity

Memory, outside the model.

Conversation archives and relevant context live locally, separately from the model weights. Bounded retrieval brings useful pieces into a conversation without feeding the entire history into a small computer.

03 / Offline knowledge

A library with a guide.

Browse the installed Wikipedia, medical, dictionary, and travel collections. Follow nested articles, open section contents, and ask Cuddle for help finding relevant passages. Source links remain available alongside AI explanations.

04 / Offline maps

A wider world, on disk.

Explore vector street maps across all 50 states, plus D.C., Puerto Rico, and the U.S. Virgin Islands. A compact offline search covers regions, states, and cities—with more than 22,000 indexed places.

05 / Connected screens

One companion. Two views.

A phone or computer becomes a companion interface over the network. Map and wiki destinations also open on the Pi. Chat and push-to-talk return its display to the System Lobby; About can launch its documentary.

06 / Thoughtful operation

Built for a small machine.

Lightweight native views, bounded context, on-demand media, and idle map-resource release keep the design grounded in Raspberry Pi constraints. A scrollable log viewer and confirmed log cleanup support ongoing maintenance.

04 / From the actual device

This is Cuddlefish.
Not a mockup.

Real captures from the 2 GB reference unit. Hardware-identification headers are omitted from these public views.

A face for the interface.The System Lobby puts Cuddle front and center, with a live state overlay and a compact vertical system readout.
Actual device capture · tap to enlarge
Go from a place to a map.A native offline map of the Fort Lauderdale area. Search, zoom, and pan without a wall of region buttons.
Actual device capture · tap to enlarge
Follow the interesting question.The offline reader makes article links, section contents, and Ask Cuddle available in the same view. Shown: the Cat article in Simple English Wikipedia.
Actual device capture · tap to enlarge

The Squirrel Labs build notes

Small hardware.
Deliberate choices.

A local-first system is more than a model running on a board. The interface, knowledge stores, memory, map renderer, and media player all compete for the same resources. The design keeps those jobs separate and only asks for what the current view needs.

The native touchscreen is a lightweight reader and control surface, not an always-running desktop browser. The HTML interface offers a second way in, sending bounded map, article, and page destinations to the Pi instead of streaming an entire screen.

The 2 GB build keeps context small and manages heavier work carefully. The 8 GB configuration provides more room for model residency and larger workloads. These are hardware-specific configurations, not a claim that every model behaves the same on both boards.

Knowledge and conversation records live outside the model. That separation lets the project evolve without treating a model replacement as a memory reset.

Platform
Raspberry Pi · touchscreen · SSD storage
Interfaces
Native display + network browser app
Reference configurations
2 GB and 8 GB, tuned separately
Offline maps
54 map files · approximately 10.6 GB
Knowledge
Wikipedia, medical, dictionary & travel collections
Project status
CF v1.0 · personal development prototype

05 / From question to destination

Keep the conversation
connected to the screen.

01 / ASK

“Show me a map of Macon, Georgia.”

Supported place commands open a map directly. The compact map search offers a wider index of cities, states, and regions.

02 / EXPLORE

Follow the source.

Open a wiki article, follow a nested link, or use Ask Cuddle to help find information. The source remains there to read and check.

03 / CONTINUE

Bring the Pi along.

Map and wiki destinations selected in the browser also open on the Pi. Return to Chat or push-to-talk, and its display returns to the Lobby.

A few useful distinctions

Curious? Start here.

Does everything need the internet?

No. Installed wiki collections, vector maps, place search, and local model inference can work without internet access. A browser client still needs a network connection to the Pi. Online information services and new downloads need internet access.

Are these satellite maps or turn-by-turn navigation?

Neither. These are offline vector street and reference maps, powered by OpenStreetMap data in Mapsforge format. They are for browsing and exploration, not a promised routing or live-navigation service.

Can I trust every answer from Cuddle?

AI-generated answers can be wrong. Cuddlefish keeps source passages and article links accessible so you can check them. It is not a substitute for professional medical advice, verified live information, or safety-critical navigation.

Is Cuddlefish available to buy or download?

This page documents a personal development project, not a commercial release or a public connection to the device. CF v1.0 marks a project baseline; development and testing continue.

Created by Jim Armstrong & Leonardo

Still learning.
Still becoming.