My Projects

Explore my work in software development!

Augur

A Tarot Card Reading Application

Overview

Augur is a comprehensive Java-based Tarot card reading application that brings the mystical art of tarot into the digital age. The application integrates REST APIs to provide authentic tarot card data and interpretations, offering users an interactive and engaging experience.

Key Features

  • Interactive Card Selection: Users can perform various tarot spreads, from simple single-card draws to complex multi-card layouts
  • REST API Integration: Connects to external APIs to fetch comprehensive tarot card meanings and interpretations
  • Command-Line Interface: Built with Picocli for an intuitive command-line experience
  • Comprehensive Testing: Includes extensive unit tests using JUnit to ensure reliability and maintainability

Technical Implementation

The application demonstrates strong software engineering principles through its object-oriented design and modular architecture. Built with Gradle for dependency management and build automation, Augur showcases proficiency in:

  • RESTful API consumption and JSON parsing
  • Object-oriented programming principles and design patterns
  • Test-driven development with comprehensive unit test coverage
  • Linux environment development and deployment
  • Build automation with Gradle
Java REST API Linux JUnit Gradle Picocli OOP

The Home Archive

A Personal Library Application

Overview

The Home Archive is a home library management application built as an experiment in AI-driven software development using GitHub Spec Kit and Claude Sonnet 4. This application demonstrates the power of AI-assisted development by creating a complete book search and management system entirely through collaborative development between a human developer and AI implementation.

Development Approach

  • AI-Driven Development: Built collaboratively with Claude Sonnet 4
  • Specification-First: Designed using GitHub Spec Kit methodology
  • Iterative Refinement: Features evolved through natural language conversations
  • Quality-Focused: Comprehensive testing and code optimization throughout

Key Features

🔍 Intelligent Book Search

  • Multi-source search across local database and external APIs (OpenLibrary, Google Books)
  • Enhanced search with automatic external API fallback when local results are insufficient
  • Smart suggestions with real-time search recommendations
  • Fuzzy matching and partial word support (e.g., "harr" finds "Harry Potter")
  • Advanced filtering by category, publication year, rating, and metadata
  • Circuit breaker patterns for reliable external API integration

📚 Library Management

  • Personal library with secure user authentication and JWT tokens
  • Complete book metadata tracking (title, author, genre, ISBN, publication year, etc.)
  • Reading lists and favorite books organization
  • Book ratings and reviews with personal and community ratings
  • Physical location tracking with room and shelf management

🔗 External API Integration

  • OpenLibrary integration as primary external book source (no API key required)
  • Google Books API support (optional enhancement, requires API key)
  • Intelligent fallback between local database and external sources
  • Real-time health monitoring of external APIs
  • Rate limiting and timeout protection for reliable service

Tech Stack

The technology stack was selected through AI analysis of requirements, considering factors like long-term support, mature ecosystem, and production scalability:

  • Java 21 LTS with modern language features
  • Spring Boot 3.x ecosystem (Spring Data JPA, Spring Web, Spring Security)
  • Resilience4j for circuit breakers and fault-tolerant external API calls
  • Gradle for flexible build system and dependency management
  • H2/PostgreSQL for development flexibility with production scalability
  • OpenAPI for self-documenting API with interactive exploration
Java 21 Spring Boot Spring Security REST API PostgreSQL JWT Gradle OpenAPI Resilience4j AI-Driven Development

Nytelife

An NYC Nightclub Application

iOS Application

Overview

Nytelife is a sophisticated iOS application designed to help users discover and explore New York City's vibrant nightlife scene. Built with Swift and SwiftUI, the app provides personalized recommendations for bars and nightclubs based on user preferences and behavior.

Key Features

  • Personalized Recommendations: Algorithm-driven suggestions based on user preferences and past interactions
  • User Authentication: Secure login system to save preferences and favorites
  • Dynamic Venue Data: Real-time venue information through third-party API integration
  • 'Like' System: Users can like venues to help promote their favorites and receive better recommendations
  • Interactive Map: Visual representation of nearby venues with detailed information

Technical Implementation

Nytelife demonstrates modern iOS development practices and showcases expertise in:

  • SwiftUI for building responsive and modern user interfaces
  • API integration for real-time venue data and updates
  • User authentication and data persistence
  • Recommendation algorithms and data analysis
  • iOS design patterns and best practices
  • Object-oriented programming in Swift

Design Philosophy

The app focuses on user experience with an intuitive interface that makes discovering new nightlife spots effortless. The design balances aesthetic appeal with functionality, ensuring users can quickly find relevant information and make decisions about where to go.

Swift SwiftUI iOS Development APIs UI Design OOP