N.O.R.A. portable AI assistant device built on Raspberry Pi Zero W — gothic minimalist interface displaying emergency database and real-time query response
← BACK TO WORK

N.O.R.A. — NEURAL OFFLINE RESPONSE ASSISTANT

Product Design · Raspberry Pi · AI Engineering · Vibe Coding

Self-initiated product: a portable AI assistant that works without internet — hardware, software, and interface design resolved as a single functional object.

A portable, battery-powered AI assistant built on Raspberry Pi Zero W, combining cloud AI capability with a comprehensive offline emergency database of 87 life-saving articles. Gothic minimalist interface designed and coded from scratch. 30× query performance improvement over initial implementation through iterative optimisation. 7,000+ lines of code across Python and TypeScript. The project began as a design question — what would a tool that prioritised function over aesthetics look like if you refused to separate those two things? — and ended as a working device. I provided vision, hardware integration, testing, and UX direction while working with Claude as a development partner for code architecture and generation.

This project demonstrates the widest range in the portfolio — from hardware assembly and thermal management to interface design and database architecture, all resolved as a single coherent product.

YEAR

2025

TOOLS

Python, TypeScript, Raspberry Pi Zero W

ROLE

Designer + engineer (with Claude as development partner)

CONTEXT

Self-initiated

PROCESS

Raspberry Pi Zero W hardware build — component layout, battery management board, and physical assembly on a clean dark surface

01

HARDWARE

The device was built around a Raspberry Pi Zero W, chosen for its balance of processing capability and physical form factor. Battery management, thermal behaviour under sustained query load, and physical enclosure design were all addressed in the hardware phase. The gothic minimalist aesthetic was established at the hardware level — the physical form of the device had to reflect the interface running on it. Design and engineering decisions were made as a single set of choices.

N.O.R.A. terminal interface in various states — gothic minimalist typography, high-contrast design, real-time query feedback

02

INTERFACE

The user interface was built in Python using a custom rendering pipeline designed for the constraints of the hardware. Gothic minimalist visual language — high contrast, fine typography, geometric clarity — was the design brief translated directly into code. Real-time feedback during queries required careful optimisation to maintain responsiveness on limited processing power. Every UI decision was tested against the hardware to ensure the experience matched the intent.

Database architecture diagram — semantic search indexing structure for 87 offline emergency articles

03

DATABASE

A comprehensive offline database of 87 life-saving articles was compiled, structured, and indexed for semantic search. The database design prioritised query performance and accuracy under emergency conditions — the system needed to surface the correct information in the fewest possible interactions, operating without connectivity, in high-stress situations. Content was reviewed for accuracy against primary medical and safety sources.

Performance benchmarking results — graphs showing the 30x query response time improvement through iterative optimisation

04

TESTING

Iterative optimisation cycles reduced query response time by 30× over the initial implementation — from a response latency that made the device impractical to one that felt immediate. Testing covered both performance benchmarking and real-world usability, ensuring the device remained functional under conditions where power availability, connectivity, and time pressure were all simultaneously constrained. The testing process produced as many design insights as the original build.

CHARACTER EXPRESSIONS

26 emotional states designed for the N.O.R.A. interface — each pixel-art sprite conveys a distinct mood, giving the device personality and feedback beyond text.

IdleIdle
HappyHappy
SadSad
ThinkingThinking
ExcitedExcited
ConfusedConfused
EmbarrassedEmbarrassed
LaughingLaughing
LoveLove
SurprisedSurprised
AngelAngel
AngryAngry
CelebrationCelebration
ClownClown
CoolCool
CuriousCurious
DevilDevil
IdeaIdea
KissKiss
NerdNerd
RelievedRelieved
SmirkingSmirking
WinkingWinking
WorriedWorried
ListeningListening

This project demonstrated that directing and collaborating is its own design skill. Working with Claude as a development partner meant every decision had to be articulated clearly enough to produce functional code — a constraint that made the design process more rigorous, not less. The result is a working device that wouldn't exist without either contributor.