Software Developer project case studies

The repository is the evidence. This page explains the reason.

As a Software Developer, I use projects to test ideas and improve judgment. For each one, I want you to understand the problem that interested me, the decision I was trying to make and what I learned from building it.

CyberAwareC# · ASP.NET Core · security awareness

Why I built it: to make practical cybersecurity guidance easier to find and safer to use.

I wanted someone dealing with a suspicious message or account concern to get clear guidance without needing to understand security jargon. CyberAware starts with verified local answers and can use AI for broader defensive questions when configured.

The questionHow can a chatbot help people without making generated advice its only source of truth?
The learningSeparating verified guidance from optional AI answers, checking sensitive inputs and keeping the core experience usable when AI is unavailable make the system more dependable.
C#ASP.NET Core 8ChatbotCybersecurity
SpendwiseAndroid · personal finance

Why I built it: because money is harder to manage when the consequences stay invisible.

I was interested in how an app could make day-to-day spending easier to see before it becomes a month-end surprise.

The questionHow can a user understand what is left, what is changing and whether a goal is still realistic?
The learningFinancial interfaces need clear state, sensible categories and data that helps a person decide—not just dashboards that look attractive.
KotlinAndroidRoomBudgeting
Kayak DatabaseOracle SQL · data modelling

Why I built it: to understand how good interfaces depend on good relationships underneath.

I wanted to get closer to the data layer and understand how customers, kayaks, upgrades and access rules should relate before an application can behave reliably.

The questionWhat breaks later if the data model is unclear at the beginning?
The learningRelationships, constraints and access decisions are architecture choices. A clean UI cannot compensate for unreliable data structure.
Oracle SQLERDQueriesPL/SQL
FocusFlow JSJavaScript · interaction

Why I built it: to learn browser behaviour through something that needed interaction, not just layout.

I used a productivity idea as a reason to practise JavaScript state and page interaction. The goal was to make the interface respond to a user rather than remain a static presentation.

The questionHow should the interface communicate what changed after a user action?
The learningFront-end logic becomes easier to reason about when state changes are explicit and the interface gives immediate feedback.
JavaScriptHTMLCSS
Jennifer's Mixed GrillersSmall-business web

Why I built it: to practise designing around a real customer journey.

A small business does not need complexity for its own sake. It needs visitors to understand the offering, trust what they see and know how to make contact.

The questionWhat information does a customer need before deciding to enquire?
The learningSimple navigation, readable content and direct contact paths can matter more than adding more sections.
HTMLCSSBusiness UX
This portfolioIdentity · SEO · performance

Why I rebuilt it: because a portfolio should reveal how a Software Developer thinks.

A list of technologies tells a recruiter very little about judgment. I redesigned this site to explain motivation, trade-offs and lessons, while also treating discoverability and performance as part of the product.

The questionIf someone searches my name, can they understand that I am a Software Developer and how I approach software within a few minutes?
The learningPersonal branding is still a user problem: clarity, findability, trust and speed all shape the experience.
SEOStructured DataPerformanceResponsive Design

“I do not want a project to prove that I can copy a solution. I want it to show that I can understand why the solution should exist.”

Seabelo Blessing Motloung · Software Developer

For recruiters and teams

If the reasoning is useful, the code is one click away.

Every case study links to the repository so you can compare the explanation with the implementation.

Contact me