Carlos Morales
I create and explore at the intersection of technology, design, and the human experience. As a developer, designer, and lifelong learner, I’m drawn to building things—digital or otherwise—that are thoughtful, useful, and grounded in curiosity about how we live, grow, and connect.
Projects
2024-now
Fully developed as part of my independent venture, Sajama Apps, this iOS app was built in SwiftUI and published to the App Store. It cultivates the practice of self-observation—bringing awareness to emotions, body sensations, and thoughts. Designed to encourage brief pauses throughout the day, it helps users step out of automatic patterns and into a more grounded, present experience.
more
iOS
SwiftUI
UIKit
Core Data
MVVM
XCode
The app was built from scratch using SwiftUI, following a clean MVVM architecture to keep the code modular and testable. All logic and state management are custom-implemented, with Core Data used for persistence and local notifications supporting both scheduled and randomized reminders. Where SwiftUI lacks flexibility, I interfaced with UIKit to refine specific views and behaviors. The architecture includes lightweight service classes to abstract storage and support swapping out the data layer in the future. Designed with long-term maintainability in mind, the structure supports scaling and feature expansion without sacrificing simplicity. No third-party dependencies were used.
JavaScript-based automation tool for streamlining job applications through structured data autofill. Designed to maximize accuracy by targeting specific job portals with tailored scripts and element selectors.
more
Javascript
DOM Manipulation
CSS
Modular Design
Automation
Built as a modular JavaScript utility for automating job applications with precision across major platforms like Workday. The script reads from a local JSON-based profile containing personal details, education, work experience, and more—supporting multiple sub-profiles to adapt to different job types or industries. Field aliases improve adaptability over time by accommodating varied naming conventions across portals (e.g., “MBA” vs. “M.B.A.”). To preserve privacy, profile data is stored in localStorage and can be updated without redeployment. Portal-specific scripts leverage a shared set of remote utility functions, ensuring maintainability and reuse. Console feedback provides real-time visibility into which fields succeeded, failed, or couldn’t be matched due to portal customization. The project prioritizes script specificity over generic approaches to significantly improve accuracy, with a clean separation between logic, selectors, and data configuration.
save profile to localStorage
autofill personal info
autofill experience