Project: Biscuit

The AI Companion

Final Year Dissertation • BSc (Hons) Software Engineering • Bournemouth University

An Android app built to help ease loneliness and gently encourage real-world social contact. Instead of maximising screen time or pushing people into social situations, Biscuit offers a warm, judgement-free voxel companion that lets users rebuild social confidence at their own pace.

Kotlin Jetpack Compose Gemini API Firebase / Firestore Room + DataStore Hilt (DI) MVVM

Demo video showing Biscuit's chat, mood-based animations, and activity suggestions.

Project Log

Loneliness affects an estimated nine million people in the UK across all age groups. Existing apps tend to sit at two extremes. Companions like Replika can end up encouraging dependency instead of reconnection, while activity platforms like Meetup expect users to make the first move, which is a big ask for anyone dealing with anxiety, grief, or long-term isolation. Biscuit sits between the two: steady, judgement-free conversation, with the option to join real-world activities anonymously once the user feels ready.

This was a solo final year dissertation project covering the full process: research and persona design, requirements and architecture, native Android development, and a structured evaluation with real participants covering both usability and emotional impact.

Tech Stack:

  • Kotlin & Jetpack Compose: Native Android UI (SDK 26+)
  • Gemini 3.5-Flash: Conversational AI, voice synthesis & speech-to-text
  • Firebase / Firestore: Real-time community activities and group chat
  • Room & Jetpack DataStore: Local persistence and offline-first state
  • Hilt: Dependency injection across a four-tier MVVM architecture

Highlights:

  • Designed five onboarding personas that shape Biscuit's tone for different situations: retired, new to area, bereaved, carer, and student
  • Built a simple parser that turns text actions from the AI, like *wags tail*, into real-time voxel animations, without needing a full 3D engine
  • Built a dual-source setup (DataStore and Firestore) to fix a bug where activity membership would flicker or disappear briefly after joining
  • Added a safety layer that scans messages locally for crisis language, with a Gemini fallback, and redirects users to a support screen when needed

Key Contributions:

  • Handled the whole project alone: research, architecture, build, and evaluation
  • Built a suggestion system where the AI can recommend real-world activities as tappable options inside the chat
  • Ran a usability and wellbeing evaluation (SUS, PANAS, and task-based testing) with participants across the target personas
  • Reached a "Good" usability score and saw a clear positive shift in mood after testing

Gallery

Select below to expand.

Biscuit Voxel Companion
Chat Interface
Activity Suggestions
Mood Analytics Calendar

Key Features

Persona-Based Companion

Five onboarding personas shape how Biscuit talks and what it suggests, so conversation feels relevant to the user's situation instead of generic.

Activity Suggestions

When the conversation suggests someone feels isolated, Biscuit can offer relevant local activities as tappable options, always optional and started by the user.

Voxel Animation

A lightweight voxel renderer built in Compose Canvas reacts to the AI's responses in real time, giving Biscuit some personality without the cost of a full 3D engine.

Mood-Aware Analytics

Mood tags picked up from each response quietly build a calendar of emotional trends, without the user needing to fill in any surveys.

Crisis Safety Layer

A local keyword scanner with a Gemini fallback catches messages that suggest real distress and redirects to a support screen, even without a network connection.

Community Activities

Firestore-backed activities with live group chat let people test the water under an anonymous nickname before any direct contact.

Evaluation

Biscuit was evaluated with participants recruited across the five target personas, using a mix of usability testing, mood tracking, and task-based scenarios.

76.3

SUS Score

"Good" usability rating, above the 68-point industry benchmark

+0.85 / -0.44

PANAS Affect Shift

Positive affect increase and negative affect drop from before to after the session

5/5

Scenarios Tested

Messaging, activity discovery, group chat, and analytics, all with strong completion rates

Feedback was positive overall. The animations and persona tailoring landed well. The main things to improve next time are making the mood calendar easier to find and giving the activity suggestions a clearer visual cue that they're tappable.