Overview
I build software end-to-end, bridging the gap between UI/UX design and technical implementation to deliver accessible, scalable solutions. Backed by a Summa Cum Laude B.S. in Computer Science (3.99 GPA) and over a decade of combined technical support and customer service experience, I approach engineering with a deep understanding of the user. My work is rooted in adaptability and building systems from the ground up. You can see this in the object-oriented Python engine I built for "Wormhole", the native Android machine-learning architecture of "Flick", and even in my personal life, where I applied that same resourcefulness to construct a home from salvaged materials. To maximize my output and velocity while developing, I actively leverage generative AI toolchains to rapidly iterate on UI assets, handle boilerplate, and write clear, accessible documentation. Because I have spent years on the front lines of customer support, I never lose sight of the business perspective, focusing always on solving practical problems and shipping real value.
Check out my Android app below.
Flick (Android)
Designer/Engineer: Matthew Pool
Synopsis & Engineering
Flick is a native Android streaming client built to provide an instant, vast content library without licensing hurdles by leveraging the Archive.org API. This architecture reduces backend content delivery costs to near-zero, ensuring high scalability and business viability.
Architecture: I solo-engineered the entire stack (Kotlin + Jetpack Compose) and built a custom recommendation engine from scratch. The app tokenizes video metadata and weighs it against user interaction signals (view time, likes/dislikes) stored in Firestore to create dynamic user profile vectors.
Algorithm: I implemented cosine similarity to calculate the distance between the user's profile and available content. The main vertical feed uses an "exploration vs. exploitation" strategy, mixing high-confidence matches with random high-percentile videos to prevent echo chambers.
UI/UX: The UI features a dual-axis navigation system driven by this ML algorithm. A vertical swipe continues the mixed feed, while a horizontal swipe instantly branches into a "nearest neighbor" playlist, finding videos with the highest cosine similarity to the current video.
Screenshots
Technologies
Core Technologies
- Kotlin (programming language)
- Coroutines (asynchronous operations)
- Hilt (dependency injection)
State Management & Reactivity
- ViewModel (state management)
- Flow (reactive streams)
- LiveData (observable data)
- DataStore (local persistence)
Software Design Patterns
- Observer Pattern
- Object Pool
- Factory Pattern
- Strategy Pattern
- State Pattern
Networking & Backend Services
- Retrofit (HTTP networking)
- Moshi (JSON serialization)
- Firebase Firestore (cloud database)
- Firebase Crashlytics (error reporting)
- Archive.org API (video content)
Media & UI Resources
- Media3 ExoPlayer (video playback)
- Coil (image loading)
Testing & Coverage
- JUnit 5 (unit & integration tests)
- MockK (mocking framework)
- Espresso (UI testing)
- Roboelectric (Android testing framework)
- Compose Test Rules (Compose UI testing)
- Jacoco (test coverage analysis)
Security & Code Quality
- Snyk (vulnerability scanning)
- OWASP Dependency Checker (dependency security)
- Android Studio Lint (static analysis)
Build & Release
- Gradle (build automation)
- Timber (logging)
- Android Studio Profiler (performance monitoring)
- GitHub Actions (continuous integration)
- Google Play Console (app distribution)
CI/CD
Projects
(This) Portfolio
Fully hand-coded responsive portfolio site featuring dark mode, animated SVG bird, tab navigation, modal system, lightbox, and CI/CD via GitHub Actions.
Wormhole - A Text Adventure Game
An immersive, terminal-based sci-fi text adventure featuring dynamic ANSI rendering, multithreading, and a real-time interactive map.
Super Mario Bros.
3D scene recreation with custom shaders, Phong lighting, and hand-coded meshes
The Existence Paradox
Interactive philosophy app featuring dynamic state management and complex decision-tree navigation.
Full-Stack Travel Platform (PoC)
Dual-interface web app with a cloud-secured admin SPA, RESTful APIs, and database migration to AWS DynamoDB via Docker.
Product Design: Eat Right!
Mobile app wireframes and product design documentation including interviews and personas.
Product Design: MoneyMobile
High-fidelity mockups and design proposals for client mobile and admin web apps.
Austin Animal Center Dashboard
Interactive data dashboard with MongoDB integration and geolocation mapping
Machine Learning
Neural networks, deep Q-learning, and Markov decision processes
NASA Climate Data Analysis
Temperature deviation analysis with curved trend line visualization
NBA Statistical Analysis
Regression modeling to predict regular-season wins from team metrics
Economic Analysis
Data visualization and reporting on economic indicators
Database Case Study
MySQL database administration and ERD design
System Design & UML
Comprehensive system design documentation with UML diagrams
Security Audit & Remediation
Financial software vulnerability assessment with OWASP compliance
Agile & Scrum Leadership
Scrum Master experience developing agile methodologies
Algorithmic Optimization
Custom merge sort implementation with Big O analysis
Unit Testing
JUnit 5 test suite with comprehensive coverage
The Bottom Line
Early-stage companies and fast-paced teams require engineers who understand the entire product lifecycle, not just a single silo. I build things end-to-end, and my background in hitting KPIs as a top-performing sales agent for Fortune 500 clients like American Express, AT&T, and Citibank means I never lose sight of the business perspective. Additionally, I bring a strong track record of team leadership and mentorship, having actively trained junior representatives and new hires throughout my career.
I can design the UI in Figma, architect the ML engine, build the automated CI/CD pipeline, and pitch the final product to a user. Having proven my resourcefulness by building a custom Android platform with near-zero infrastructure costs, I am fully equipped to ship high-ROI software from day one.
Refactoring: Rescue Animal System
This project involved taking a legacy Java command-line application - originally written early in my CS degree - and modernizing it with industry-standard practices.
Challenge: Modernizing a Legacy Application
The original software was a fragile command-line tool for tracking rescue animals. It lacked persistence, had no input validation, and used inefficient data structures.
This is a brief summary of the changes implemented in this poor, HOPELESS application.
None taken.
No offense, "Past Me".
But wait! Is there yet a shimmer of hope remaining after all...
1. Architecture & Software Quality
I transitioned the codebase to a Maven build pipeline and established a defensive programming strategy with comprehensive JUnit testing.
Converted to Maven Framework
Implemented JUnit Testing
Added JavaDocs & Validation
2. User Interface Enhancements
I improved the CLI experience by implementing ANSI escape codes for colored output and clearer visual hierarchy.
3. Data & Algorithmic Efficiency
Database Enhancements
I replaced volatile memory storage with MapDB to enable local persistence, ensuring data survives between program executions.
Algorithmic Optimization
Converted linear ArrayList lookups to HashMaps, improving retrieval time complexity from O(n) to O(1) (or O(log n) depending on collision handling).
Meh, that's a little better I guess 😐