Overview
Technical skills
Timeline
Roles

Overview

Cross-platform mobile engineer (Flutter, middle level) focused on building consumer service marketplace features with Firebase-backed auth and chat. The strongest proven skill is integrating Firebase services end-to-end for user flows and media upload, supported by concrete artifacts such as ServiceHub/lib/pages/register.dart and ServiceHub/lib/screens/updateProfile.dart. The codebase lacks evidence of advanced mobile concerns like offline-first sync, background task handling, permission denial flows, performance profiling, and CI/release automation.

Technical skills

JavaScript
TypeScript
Java• Junior • 3y+
Dart• Middle • 3y+
SQL• Junior
Java
Spring Boot
Spring Data JPA
Spring Framework
Hibernate
Spring MVC
Dart
Provider
Databases
Oracle
MySQL
PostgreSQL
Frontend
Next.js
React.js
Tailwind CSS
Mobile
Flutter
Firebase
Material Design
Adaptive UI
State Management
DevOps
Docker
Git
Jenkins
Windows Server
AWS
Rest API

Timeline

Full Stack Engineer Middle
Pahappa Limited Full-Time
Apr 2025 to Present 1 Year 4 Months Kampala In office
Owned and maintained an enterprise attendance platform integrating HikCentral and ZKBioTime via REST APIs on AWS. Built concurrent background synchronization services to process and sync attendance data across enterprise platforms. Developed and maintained requisition and workflow management systems with configurable approval rules and an approval workflow engine. Optimized database structures and SQL queries while supporting production systems running on PostgreSQL and MySQL.
Spring Framework
Spring MVC
Hibernate
PostgreSQL
MySQL
Rest API
AWS
SQL
Makerere University Kampala
Bachelor's Degree Software Engineering
2022–2026 Kampala, Uganda
Software Development Intern Junior
Pahappa Limited Internship
May 2024 to Apr 2025 11 Months Kampala In office
Contributed to the development and maintenance of enterprise Java applications using the Spring Framework and Hibernate with relational databases. Assisted with systems integration tasks including testing, debugging, and supporting production deployments. Worked with senior engineers to deliver business solutions and transitioned to a full-time engineering role based on technical performance.
Spring Frameworksince 2024
Hibernatesince 2024
Middle Mobile Developer Confidence: Medium Cross-platform
Cross-platform mobile engineer (Flutter, middle level) focused on building consumer service marketplace features with Firebase-backed auth and chat. The strongest proven skill is integrating Firebase services end-to-end for user flows and media upload, supported by concrete artifacts such as ServiceHub/lib/pages/register.dart and ServiceHub/lib/screens/updateProfile.dart. The codebase lacks evidence of advanced mobile concerns like offline-first sync, background task handling, permission denial flows, performance profiling, and CI/release automation.
Platform Native Mastery
2/10
Knowing the mobile platform
Basic platform knowledge for Flutter apps is present but there is no evidence of advanced lifecycle handling, process-death/state restoration, or structured concurrency tied to screen lifecycle.
Evidence
ServiceHub/lib/pages/register.dart: dispose() overrides and multiple TextEditingController management
ServiceHub/lib/screens/updateProfile.dart: initState() uses widget.userData and uploadImage uses FirebaseStorage API
Mobile UI/UX & Responsiveness
3/10
Smooth mobile experience
UI shows deliberate styling, responsive scaling and consistent use of Material components, but lacks adaptive layouts for tablets/foldables, accessibility considerations and platform-specific HIG decisions.
Evidence
ServiceHub/lib/pages/professional_details_page.dart: MediaQuery based scaling (baseWidth, fem, ffem) and rich layout
ServiceHub/lib/pages/register.dart: consistent form field styling and use of FormBuilder with validators
Performance & Battery
1/10
Speed and battery use
No measured performance work, baseline profiling, or battery-aware background strategies are present; Firebase calls and image uploads are used without optimization metrics or cancellation patterns.
Evidence
ServiceHub/lib/screens/updateProfile.dart: uploadImage uses putData without progress/cancellation handling
ServiceHub/lib/pages/register.dart: uploadImage uses putFile and awaits TaskSnapshot but no profiling or error telemetry
Offline & Data Sync
1/10
Working offline and syncing
Reads and writes to Firestore are implemented, but there is no offline-first local store, migration history, queued idempotent retry logic, or conflict resolution strategy.
Evidence
ServiceHub/lib/pages/professionals_list.dart: Firestore query in _fetchProfessionalData()
ServiceHub/lib/screens/updateProfile.dart: Firestore document update in _saveChanges()
Device Integration
2/10
Using device features
Uses device features such as image picking and storage upload, but lacks full permission flows, denial handling, and platform edge-case handling for camera/gallery access.
Evidence
ServiceHub/lib/pages/register.dart: selectImage() calls ImagePicker.pickImage(ImageSource.gallery)
ServiceHub/lib/screens/updateProfile.dart: selectImage() uses pickImage(ImageSource.gallery) and uploadImage to FirebaseStorage
Release & App Lifecycle
1/10
Building and publishing apps
Project contains platform build files and pubspec configuration but no CI, release automation, crash reporting integration, or signing/release best-practices visible.
Evidence
ServiceHub/pubspec.yaml: dependencies and project metadata present
ServiceHub/android/build.gradle: Android Gradle configuration and Kotlin plugin
Expertise
Flutter• Middle
Industries
Commerce• Middle
Professional Services• Middle
Technologies
Dart• Middle • 3y+
Flutter
Firebase
Provider
State Management
Adaptive UI
Material Design
Recommendations
  • Implement robust permission flows and denial handling for image and camera use, including user rationale and settings redirect.
  • Add offline-first support or local caching for Firestore-backed lists, with queued idempotent retries and simple conflict resolution.
  • Introduce basic performance instrumentation and profiling for cold start and network-heavy flows, and add cancellation for long-running uploads.
  • Add automated tests and a CI pipeline for builds and linting, and extract AuthService/Firestore logic into testable repositories to improve maintainability.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Junior Backend Developer Confidence: Medium API Engineer
Junior Java backend developer focused on simple REST APIs and learning end-to-end service mechanics. The strongest proven skill is building basic Spring-based web endpoints and CORS configuration and writing repository tests as shown in todo-back-end/src/main/java/com/todo/app/todo_list/config/WebConfig.java and todo-back-end/src/test/java/com/todo/app/todo_list/repository/TodoRepositoryTest.java. There is little to no public evidence of production-grade concerns such as schema migrations, transactional design, caching, authentication lifecycle, advanced observability, or scalability engineering.
API Design
2/10
How well APIs are designed
Basic REST API testing and CORS configuration are present but there is no evidence of deliberate API design choices such as versioning, idempotency, pagination, consistent error contracts or backward-compatibility strategy.
Evidence
BSE-24-7/todo-back-end/src/main/java/com/todo/app/todo_list/config/WebConfig.java
BSE-24-7/todo-back-end/src/test/java/com/todo/app/todo_list/controller/TodoControllerTest.java
Data Layer & Database
2/10
Working with databases
Minimal data-layer usage is shown via JPA repository tests demonstrating save/find operations but there is no migration history, transactional boundary design, isolation-level awareness, or hand-tuned queries indexed for performance.
Evidence
BSE-24-7/todo-back-end/src/test/java/com/todo/app/todo_list/repository/TodoRepositoryTest.java
BSE-24-7/todo-back-end/src/test/java/com/todo/app/todo_list/controller/TodoControllerTest.java
Scalability & Performance
1/10
Handling load and speed
No measurable scalability or performance work is evidenced; there are no caching strategies, queue-based decoupling, connection-pool tuning, rate limiting or load-test artifacts.
Evidence
BSE-24-7/todo-back-end/src/main/java/com/todo/app/todo_list/config/WebConfig.java
System Architecture
2/10
Overall system structure
Project separation between frontend and backend is present and simple module boundaries exist, but there is no evidence of service decomposition trade-offs, config/secret management, or graceful degradation patterns.
Evidence
BSE-24-7/todo-front-end/package.json
BSE-24-7/todo-back-end/src/main/java/com/todo/app/todo_list/TodoListApplication.java
Security & Auth
2/10
Protecting data and access
Minimal security awareness shown via CORS configuration; there is no evidence of authentication/authorization lifecycle, input validation patterns, secrets hygiene, or dependency auditing.
Evidence
BSE-24-7/todo-back-end/src/main/java/com/todo/app/todo_list/config/WebConfig.java
Reliability & Observability
2/10
Stability and monitoring
Some unit and JPA tests exist which is a basic reliability practice, but there is no evidence of retries with backoff, timeouts, circuit breakers, structured logging with correlation ids, metrics, or graceful shutdown handling.
Evidence
BSE-24-7/todo-back-end/src/test/java/com/todo/app/todo_list/repository/TodoRepositoryTest.java
BSE-24-7/todo-back-end/src/test/java/com/todo/app/todo_list/controller/TodoControllerTest.java
Expertise
Java• Junior
Microservices & API Architecture• Junior
Databases & Vector Storage• Junior
Technologies
Java• Junior • 3y+
Rest API
Spring Boot
Hibernate
Spring Data JPA
Recommendations
  • Build complete API contracts: add versioning, pagination, consistent error responses and idempotency handling for mutating endpoints.
  • Introduce database migration tooling and explicit transaction boundaries (Flyway/Liquibase, service-layer transactions) and add integration tests that exercise transactions.
  • Add basic production patterns: authentication/authorization, structured logging with request ids, and simple observability (metrics and health endpoints).
  • Implement resilience and performance improvements: caching strategy where appropriate, connection pool tuning, and simple retry/backoff for external calls.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Junior Frontend Developer Confidence: Medium UI Engineer
A junior UI-focused developer and final-year software engineering student specializing in responsive web interfaces and client-side interactions. The strongest proven skill is building polished responsive HTML/CSS layouts and simple interactive behavior as demonstrated by the site pages (index.html and main/pages/joseph.html). There is little evidence of complex frontend architecture, modern SPA code, structured async state management, automated tests, or production PWA/service-worker implementations.
UI Component Architecture
2/10
How interface parts are built
Basic page-level UI structure with CSS variables and repeated header/footer across pages; no component boundaries, reuse or modular architecture.
Evidence
Group7-blog/index.html: :root CSS variables and global design tokens
Group7-blog/main/pages/joseph.html: duplicated header/footer and inline styles across pages (no componentization)
Responsive & Cross-browser
4/10
Works on all screens and browsers
Responsive layouts implemented with CSS grid and media queries; fluid minmax usage shows attention to multiple breakpoints but no advanced feature detection or RTL/i18n scaffolding.
Evidence
Group7-blog/index.html: grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) in features and arch-grid
Group7-blog/main/pages/joseph.html: media queries for max-width: 992px and 768px adjusting layout and nav behavior
Performance Optimization
1/10
Speed of the interface
Minimal performance work; static images and CSS transitions present but no measured optimizations, bundling strategy, code-splitting or lazy-loading.
Evidence
Group7-blog/index.html: hero and profile header use large background images (background: url(...)) with no lazy-loading
secondAssignment/index.html and CSS: simple static assets with no build/tooling hints (no bundler configuration present)
Accessibility & Semantics
2/10
Usable for everyone
Basic semantic markup and some alt attributes and form labels exist, but little or no ARIA, keyboard focus management, or automated a11y checks.
Evidence
Group7-blog/index.html: team images include alt attributes (e.g. <img src="joseph.jpg" alt="MUTYABA JOSEPH">)
secondAssignment/contactForm.html: form uses <label> and required attributes for inputs
State Management & Data Flow
1/10
Managing data in the app
Only trivial client-side state and flow handling: small synchronous form validation, mobile menu toggle and smooth scrolling; no async cancellation, optimistic updates, or structured state machines.
Evidence
Group7-blog/index.html: contact form JS implements client-side validation and simulated submission via setTimeout
Group7-blog/main/pages/joseph.html and other pages: mobile menu toggle and smooth scrolling implemented with simple DOM event listeners
UX & Visual Polish
3/10
Look and feel quality
Good visual polish for a static site: consistent theme variables, hover transitions, and usable mobile menu, but lacks loading/empty states, undo flows, or perceived-performance techniques.
Evidence
Group7-blog/index.html: .btn hover transforms, feature-card and team-member hover effects
Group7-blog/index.html: smooth scrolling and mobile menu toggle provide enhanced UX interactions
Expertise
HTML & CSS• Junior
Industries
Hardware• Junior
Health Care• Junior
Technologies
Tailwind CSS
Next.js
React.js
Recommendations
  • Build componentized UI using a framework (React/Next) and migrate repeated header/footer into reusable components to improve maintainability.
  • Implement basic PWA features with a service worker, offline caching, and tested notification flows to match the stated product goals.
  • Add accessibility improvements: keyboard focus management, ARIA for custom widgets, and include axe or eslint-plugin-jsx-a11y checks in CI.
  • Introduce simple frontend tests (unit and end-to-end) and document state flows for reminders/notifications to demonstrate robust engineering practices.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories: