Projects

aaronfrey.com

A modern Django-based reboot of my Ruby on Rails blog platform built in 2012. Now with best practices and clean architecture. Features include content management, responsive design, and performance optimizations.

Blog Project Screenshot
This is a screencap of the original Ruby on Rails app I built while attending the Starter League (now Fullstack Academy) back in 2012.

Key Features

  • Content management system for creating, editing, and deleting blog posts
  • Responsive design with a clean, user-friendly interface
  • User authentication and authorization for secure post management
  • PostgreSQL database for reliable data storage
  • Dockerized development and deployment environment

Technical Highlights

  • Django: Core framework for backend logic and admin interface
  • PostgreSQL: Robust relational database for storing blog data
  • Docker: Containerized environment for consistent development and deployment
  • Whitenoise: Efficient static file serving for production
  • Modular Design: Clear separation of concerns with apps for posts, users, and templates

Skills Demonstrated

  • Backend Development: Django, PostgreSQL, RESTful API design
  • Frontend Development: HTML, CSS, JavaScript, responsive design
  • DevOps: Docker, containerization, and deployment best practices
  • Testing: Unit tests, integration tests, and test-driven development
  • Modern Python Practices: Type hints, modular code, and clean architecture

Future Improvements

  • User Comments: Add a commenting system for blog posts
  • Search Functionality: Implement full-text search for posts
  • API Endpoints: Expose RESTful APIs for external integrations
  • Advanced Caching: Add Redis for improved performance

Crypto Price Tracker

A production-ready service for tracking cryptocurrency prices in real-time, featuring a REST API and an interactive web UI. This project demonstrates my ability to build scalable backend services and data-driven applications using modern Python tools and best practices.

Crypto Price Tracker UI Screenshot
Screenshot of the Crypto Price Tracker UI, showcasing real-time price updates, volatility rankings, and interactive charts.
NOTE: please excuse the wonky test data in the screenshot. ; )

Key Features

  • Real-time price updates from the CoinGecko API
  • Historical price tracking and storage in PostgreSQL
  • Volatility analysis and ranking using standard deviation
  • REST API built with FastAPI for data access
  • Interactive web UI built with Streamlit for visualization
  • Efficient database queries with indexing and caching

Technical Highlights

  • FastAPI: REST API with OpenAPI documentation and type-safe endpoints
  • PostgreSQL: Time-series data storage optimized for price history
  • Streamlit: Responsive UI with auto-refreshing data and interactive charts
  • Caching: Multi-layer caching (LRU + Streamlit) for improved performance
  • Error Handling: Graceful handling of API rate limits and connection errors
  • Modular Design: Clear separation of concerns between API, UI, and business logic

Skills Demonstrated

  • Backend Development: FastAPI, REST API design, PostgreSQL, SQLAlchemy
  • Data Visualization: Streamlit, Plotly, interactive charts
  • Performance Optimization: Caching, efficient database queries
  • Error Handling: API rate limiting, connection error recovery
  • Modern Python Practices: Type hints, dataclasses, modular design

Future Improvements

  • WebSocket integration for real-time price updates
  • Distributed caching with Redis
  • Advanced monitoring and auto-scaling for production environments
  • Technical indicators and user preferences for enhanced functionality

Asset Grouping Service

A production-ready REST API service for dynamically grouping cloud infrastructure assets based on configurable rules. This project demonstrates best practices in API design, clean architecture, and robust error handling.

Asset Grouping Service API Screenshot

Key Features

  • Dynamic asset grouping based on configurable rules
  • Support for complex matching conditions (type, name, tags)
  • Automatic group assignment when assets or rules are created/updated
  • RESTful API with comprehensive OpenAPI documentation

Technical Highlights

  • FastAPI: Robust API development with automatic OpenAPI documentation
  • Pydantic: Data validation and type safety for all models
  • Service Layer Pattern: Clear separation of business logic from API handlers
  • Modular Design: Extensible architecture for future enhancements

Example Use Cases

  • Resource Organization: Group all EC2 instances into an "instances" group
  • Environment Segregation: Group production resources based on tags

Skills Demonstrated

  • API Design: RESTful endpoints, OpenAPI documentation, and type-safe schemas
  • Error Handling: Comprehensive exception handling with clear error messages
  • Data Modeling: Flexible models for assets, tags, and grouping rules
  • Modern Python Practices: Type hints, modular code, and clean architecture

Future Improvements

  • Database Integration: Add persistence for assets and rules
  • Authentication: Implement secure access controls
  • Pagination: Support for large asset lists
  • Caching: Improve performance with rule and asset caching

Smart Home Device Management System

A robust Python-based system for managing smart home devices and their interactions. This project demonstrates clean architecture, domain-driven design, and modern Python development practices in implementing a device management solution for smart homes.

Smart Home Device Management System Screenshot

Key Features

  • Device Management: Support for multiple device types (switches, dimmers, locks, thermostats) with type-safe state updates
  • Hub Management: Device pairing, state monitoring, and status reporting
  • Dwelling Management: Occupancy tracking, hub installation, and multi-dwelling support
  • Modular Design: Extensible architecture for adding new device types and features

Technical Highlights

  • Clean Architecture: Clear separation of concerns with domain, service, and repository layers
  • Type Safety: Pydantic models for data validation and type hints throughout the codebase
  • In-Memory Storage: Flexible storage system designed for easy transition to persistent storage
  • Comprehensive Testing: High test coverage with unit and integration tests

Example Use Cases

  • Device Control: Turn on/off lights, adjust thermostat settings, and lock/unlock doors
  • Occupancy Tracking: Monitor whether a dwelling is occupied and adjust device behavior accordingly
  • Hub Integration: Pair devices with hubs for centralized control and monitoring

Skills Demonstrated

  • API Design: RESTful endpoints with type-safe schemas and error handling
  • Domain-Driven Design: Clear separation of domain logic from infrastructure concerns
  • Modern Python Practices: Type hints, modular code, and clean architecture
  • Testing: Comprehensive test coverage with pytest and test-driven development

Future Enhancements

  • Persistent Storage: Integrate with a database for long-term data storage
  • REST API Layer: Expose functionality via a RESTful API for external integrations
  • Real-Time Updates: Implement real-time device state updates using WebSockets
  • Advanced Automation: Add support for device grouping and automation rules

Claims Service

A FastAPI-based service that provides dental claim handling functionality, featuring CSV file processing, data validation, and efficient storage. Built with modern Python practices, this service demonstrates clean architecture, robust error handling, and production-ready features including rate limiting and caching.

Claims Service API Documentation

Key Features

  • CSV file processing with automatic data validation and transformation
  • RESTful API with comprehensive OpenAPI documentation
  • Rate limiting and caching using Redis
  • PostgreSQL integration with SQLAlchemy ORM
  • Docker containerization for easy deployment
  • Comprehensive test suite with pytest

Technical Highlights

  • FastAPI: Modern, fast web framework with automatic OpenAPI documentation
  • SQLAlchemy: Robust ORM with type-safe database operations
  • Redis: Caching and rate limiting for improved performance
  • Docker: Multi-container setup with PostgreSQL and Redis
  • Pydantic: Data validation and serialization
  • pytest: Comprehensive testing with fixtures and mocking

Skills Demonstrated

  • API Design: RESTful endpoints with OpenAPI documentation
  • Data Processing: CSV parsing and validation
  • Database Design: PostgreSQL schema and migrations
  • Testing: Unit tests, fixtures, and mocking
  • DevOps: Docker Compose, environment configuration
  • Modern Python: Type hints, async/await, dependency injection

Future Improvements

  • Authentication and authorization
  • Support for additional file formats (JSON, XML)
  • Advanced claim analytics and reporting
  • Batch processing for large datasets