Alfred Mavwu

Project Case Studies

Problems, solutions, and build decisions.

A deeper look at selected projects: what each one is trying to solve, how I approached the build, and the practical choices behind the implementation.

Problem-led Practical systems Build decisions

Selected Cases

How the projects are structured.

These case studies keep the focus on the real product thinking behind the work: the user problem, the system response, and the practical choices behind each build.

Experimental Integration Local Ollama Connectivity

paperclip-ollama-adapter-mavwu

An experimental TypeScript adapter exploring local Ollama model connectivity with Paperclip. Basic communication is available, while the intended orchestration and tool-driven workflows still require further implementation and testing.

Type: Experimental Developer Tool Status: Experimental integration Stack: TypeScript, npm Integrations: Paperclip, Ollama Target: Local model connectivity

The Problem

The intended direction is to connect local Ollama models into a Paperclip workflow. The current implementation is still closer to a normal chat integration than the intended orchestration behaviour.

The useful question is how much of the Paperclip adapter behaviour can be implemented cleanly before presenting it as a more complete workflow tool.

The Solution

Paperclip Adapter Contract

Explores the adapter behaviour needed to expose Ollama as an external model endpoint.

Local Model Routing

Sends basic requests to a locally running Ollama server instead of a hosted API.

OpenAI-Compatible Requests

Uses Ollama's chat endpoint while the wider orchestration behaviour remains unfinished.

Structured Failures

Leaves room for clearer error handling as the integration is tested further.

How it Works

The package can communicate with Ollama through a chat-style path. The intended orchestration and tool-driven workflow behaviour still needs implementation and testing.

For that reason it should be presented as experimental connectivity work, not as a finished adapter or complete workflow integration.

Outcome

  • Explores local Ollama connectivity from a TypeScript package.
  • Demonstrates packaging work for an npm-distributed experimental tool.
  • Needs more implementation and testing before it can be described as orchestration-ready.

CTA

The package is available for review as experimental local model connectivity work.

Offline Communication Nearby Messaging

NearbyLynk

An Android-first Flutter prototype for discovering nearby devices and exchanging text without relying on internet access.

Type: Offline Communication Prototype Status: Working Prototype Stack: Flutter, Dart Platform: Android Connectivity: Nearby devices

The Problem

Most chat apps assume internet connectivity, cloud accounts, and a conventional online messaging stack. NearbyLynk explores a smaller use case: two people who are physically nearby and need a direct communication channel without internet access.

The Solution

Nearby Discovery

Finds compatible nearby devices participating in the communication workflow.

Connection Workflow

Lets devices establish a nearby connection before communication begins.

Direct Text Messaging

Exchanges text messages between connected devices.

Connection State

Keeps discovery, connection, and message state visible to the user.

Android Permission Handling

Manages the native permission layer needed for nearby-device communication.

How it Works

The app coordinates Android permissions, discovery, advertising where needed, connection establishment, connection state, and messaging state. Real-device testing was important because nearby communication depends on native platform capabilities.

That makes the project more than a chat screen: it is an exercise in mobile networking, state handling, and Flutter/native integration.

Outcome

  • The prototype moved beyond concept into real nearby-device discovery and connection testing.
  • It demonstrates Android permission handling and offline product design.
  • It shows a direct text-exchange workflow without an internet-hosted messaging backend.

CTA

Controlled previews are available for relevant project discussions.

Full-Stack Web Application Publishing Workflow

Blogging Platform

A full-stack publishing application with user authentication, session-based access, post management, and commenting workflows.

Type: Full-Stack Web Application Status: Completed / Demo Stack: Node.js, Express.js, SQLite, HTML, CSS, JavaScript Core: Authentication, Sessions, CRUD Focus: Publishing workflow

The Problem

The goal was to build a real publishing workflow rather than a static website with hard-coded articles. That meant solving registration, login state, ownership, and commenting as one connected application.

The Solution

User Authentication

Supports registration and login so authors can access the writing area.

Session-Based Access

Keeps login state between requests instead of treating every page as anonymous.

Post Management

Lets authenticated users create, view, edit, and delete posts.

Content Ownership

Restricts edit and delete actions to the user that owns the post.

Comments and Settings

Lets readers comment and gives authors a place to manage their account details.

How it Works

The frontend pages in login, signup, and main talk to API routes for registration, login, posts, comments, and account updates. The database keeps users, sessions, and post records connected so the publishing flow can be enforced server-side.

Outcome

  • The project demonstrates connected application state rather than a static content mock-up.
  • It shows how ownership changes the editing and deletion workflow.
  • It remains one of the clearest full-stack examples in the portfolio.

CTA

A live demo is available for review.

Prototype Refinement Required

StockFlow

A Flutter and Firebase prototype exploring inventory, sales, expenses, and cash-flow tracking. Core workflows were implemented, but product management, stock-cycle controls, and overall usability still require refinement.

Type: Inventory and Cash Management Prototype Status: Prototype ยท Refinement required Stack: Flutter, Dart, Firebase, Cloud Firestore Focus: Stock, sales, expenses, and cash flow Target: Small businesses

The Problem

The project explores how stock, sales, expenses, and cash-flow tracking could sit inside one small-business workflow. The current version should not be presented as a complete inventory management system.

The Solution

Dashboard Exploration

Explores a business view of inventory, sales, and daily activity.

Expense Management

Records business expenses so cash movement is not limited to sales alone.

Stock Movements

Explores stock-in and related movement tracking, with workflow refinement still needed.

Sales Recording

Captures sale activity so cash flow and inventory stay linked.

Daily Profit Reporting

Explores daily profit reporting from sales and expense records.

How it Works

Cloud Firestore provides the real-time data layer for the prototype. The project still needs review around product creation, stock-cycle controls, stock reset or clearing flows, and recent end-to-end testing.

Outcome

  • Explores stock, sales, expenses, and cash-flow tracking in one Flutter/Firebase prototype.
  • Demonstrates Cloud Firestore usage in a Flutter application.
  • Requires further work before it should be treated as a complete product.

CTA

This project should be reviewed again before being promoted publicly.

Featured Flutter Prototype Weather + CSV Crop Suggestions

Climate Smart Agriculture App

Climate Smart Agriculture App is a Flutter Android prototype built to explore practical climate-smart farming support for Zambia. It combines Firebase Authentication, device location, OpenWeather current conditions, forecasts and alerts, bundled crop information, and Firestore feedback.

Its crop suggestion feature runs locally using bundled CSV data. Forecast temperature, humidity, and rainfall are compared against crop dataset values, and crops with the lowest similarity-distance scores are ranked higher. The project demonstrates mobile development, API integration, location handling, Firebase workflows, structured error handling, and explainable recommendation logic. It is presented as a technical prototype rather than validated agricultural advice or an active machine-learning system.

Type: Flutter Android Prototype Status: Featured Flutter Prototype Stack: Flutter, Dart, Firebase Authentication, Cloud Firestore, OpenWeather API, Geolocator, Geocoding, SharedPreferences, CSV, JSON Integrations: Firebase, OpenWeather API, device geolocation Focus: Zambia-focused farming support

The Problem

Farmers need timely weather-aware guidance and crop information in one place. The challenge is making location-aware weather data, forecasts, alerts, and planting suitability guidance feel usable in a mobile app instead of scattering them across separate tools.

The Solution

Location-Aware Weather

Displays current weather and forecast information for the user's device location.

Weather Alerts

Checks OpenWeather alerts and separates empty, permission, configuration, and service failure states.

Crop Information Library

Loads bundled crop profiles and educational content from local JSON assets.

CSV Crop Suggestions

Ranks crop names with explainable similarity scoring from forecast temperature, humidity, and rainfall.

Firebase Workflow

Uses Firebase Authentication and Cloud Firestore feedback submission.

How it Works

Location is retrieved through device geolocation, weather is requested from OpenWeather, and the app transforms that response into current conditions, alerts, forecast views, and daily forecast details. A recent saved location can be reused, while weather data still depends on the external API.

For crop suggestions, the daily detail view calculates average forecast temperature from the maximum and minimum values, then compares temperature, humidity, and rainfall against bundled crop dataset rows. The absolute differences are added into a similarity-distance score; lower scores rank better, and the first ten unique crop names are shown.

Outcome

  • Location-aware current weather and forecasts are available in the mobile workflow.
  • Weather alerts include explicit error and empty states.
  • Crop suggestions use explainable CSV-based similarity scoring.
  • Firebase authentication and feedback submission are part of the supported app surface.
  • The project remains a technical prototype, not validated agricultural advice.

CTA

A project showcase is available for screenshots and further discussion.

Education Mobile Utility Exam Workflow

EZ Statement ZM

A focused Flutter Android utility designed to simplify access to ECZ examination Statement of Results workflows for Zambian learners.

Type: Education Mobile Utility Status: Personal Project Stack: Flutter, Dart Platform: Android Distribution: APK / Showcase Website

The Problem

The project is deliberately narrow. The immediate task is accessing an examination Statement of Results, and the question is whether that path can be made clearer and easier to reach from a mobile utility.

The Solution

Focused Exam Workflow

Centers the app around the details needed for the statement-access process.

Mobile Access

Packages the workflow into a narrow Android experience rather than a general education platform.

Statement Portal Flow

Uses a guided route toward the official statement workflow instead of recreating the back-end system.

Showcase Website

Presents screenshots, context, and distribution details for the app package.

Clear Non-Affiliation

Explicitly communicates that the project is not an official ECZ or government app.

How it Works

The application creates a focused mobile entry point around the information a learner needs for the statement workflow. The supporting showcase site handles screenshots, explanation, and APK presentation, while the app itself stays centred on the exam workflow.

That makes the project more about product focus and packaging than about building an education platform with unnecessary extras.

Outcome

  • The project demonstrates a narrow, practical mobile utility instead of a large education suite.
  • It also includes the supporting showcase and distribution work around the APK.
  • The copy stays clear about non-affiliation and the limited scope of the product.

CTA

A showcase is available for screenshots, context, and controlled access.

Developer Portfolio Information Architecture

Portfolio Website

A hand-built developer portfolio structured to make practical software work easier for recruiters and potential clients to understand.

Type: Portfolio / Professional Platform Status: Live Stack: HTML, CSS, JavaScript Target: Recruiters and clients Focus: Project discovery

The Problem

The work existed, but presentation was a separate problem. The portfolio had to avoid mixing freelance web development, IT support, content work, academic support, and software projects in a way that made the developer identity hard to read.

The Solution

Developer-First Positioning

Centres the site on practical software systems rather than a long list of unrelated services.

Recruiter Path

Makes technical work, projects, GitHub, and CV access easy to scan.

Client Path

Helps potential clients understand the kinds of systems and workflows that can be built.

Problem-Focused Projects

Frames projects around what they solve instead of only showing technologies.

Mobile Navigation

Keeps the site easy to use on smaller screens without sacrificing the structure.

How it Works

The site is hand-built with HTML, CSS, and JavaScript. Repeated iterations refined the hero copy, project order, project cards, service descriptions, CTA placement, and mobile navigation so different audiences can find the right information quickly.

The stronger technical angle is information architecture. Recruiters want stack and project evidence; clients want a clear sense of what problem can be solved. The site is structured to support both.

Outcome

  • The portfolio now presents software development as the primary identity.
  • It makes projects, services, and contact paths easier to discover.
  • It works as both a recruiter-facing and client-facing professional platform.

CTA

Explore the project set or get in touch if you have a similar system in mind.