I'm that guy that codes all day at work and then comes home and codes some more because there just isn't enough time to build everything I have in my head.
Come check out some of my work.
I'm not happy with my work until the people that use my products have a smile on their face. It's not just about how good it looks, it's about solving people's actual problems.
Come check out my expirences.
I’m a naturally competitive person who sets high standards for myself and constantly seeks ways to improve—whether in athletics, academics, entrepreneurship, or family life. That relentless drive has helped me succeed as an athlete, student, entrepreneur, husband, father, software engineer, and designer. I believe the world’s most pressing problems often require solutions that go beyond code, so I make it a priority to understand challenges deeply and holistically. With a versatile skill set and a collaborative mindset, I’m committed to bringing clarity and creativity to any team tackling complex, real-world problems.
I earned a B.S. in Computer Science from Utah State University and an M.S. in User Experience Design from Kent State University, giving me a unique blend of technical rigor and user-centered design expertise. I’ve applied these skills to a wide range of real-world expirences—many of which remain confidential due to client or corporate privacy—but you can explore the public portfolio items showcased here. If you’d like to discuss how my experience (visible and behind the scenes) can meet your specific needs, I’d love to connect. Use the form below or send me a message on LinkedIn!
I give credit for this app idea to my business partner, who noticed a gap in current to-do and reminder application offerings to help build habits by offering randomized reminders on a schedule. This app offers a solution to people who want to build habits but don't know when or have the bandwidth to sit down and figure out at what exact time they want to do something. By making it simple for your phone to nudge you when you are most likely to accomplish something, you are much more likely to be successful.
We want our app to be able to notify you no matter where you are or what network environment you are in. If you want to be reminded to do your daily meditation, it shouldn't be limited to if you are in reach of cell service or not. Many assumptions made when building web applications don't apply well to mobile. For these reasons, the app is designed and architected to work without an internet connection.
By utilizing Apple's Test Flight beta testing program, we are able to get feedback on new features and an understanding of our users' usage patterns before we push features live. I also lead the organization and framework for gathering research as to the best use cases for our product, and where there are gaps that need to be filled.
Trading with automated software is a game that requires a specific mix of skills to be successful. Not only do you need to have the range of knowledge required to build highly performant, multithreaded, error-resistant, and data-backed code, but you also need to know how to trade in the financial markets. Through my algo trading journey, I have followed many traders and studied the fundamentals of trading, including technical analysis, price action, options contracts, futures, and much more. I do a lot of manual trading to better understand what can be automated and what cannot be. I am happy to say that overall, I am a profitable trader.
The range of markets out there is staggering, but one that has always found my interest is Defi or Decentralized Finance. Cryptocurrency and the many applications and opinions about it are very interesting to me and have become a hobby of mine. I have invested in liquidity pools through Sushi Swap and Uniswap on many blockchains, including Ethereum, Polygon, and Base. I have also built software that interfaces with the blockchain to automate my investments. Though challenging and incredibly volatile, these markets are incredibly fun to be a part of.
Building software that handles money increases the stakes of an unhandled error or an untested function that starts going rogue. It is best practice anyway when developing software to never ship untested code, but building the entire testing and deployment pipeline from scratch means you and only you are responsible when it fails. To ensure my algorithms only behave as intended, I have an extensive unit testing suite that runs within my CI/CD pipeline with GitHub Actions. This flow also builds my code into a Docker image that is tagged and pushed to an image artifactory within Google Cloud to be pulled into my compute VMs using Docker Compose. This way if I have a faulty image I can quickly boot up the previous version and address any issues.
You can't build a profitable trading system personally or with a computer without data. Getting the right data and interpreting it the correct way is the key challenge that I face when building and understanding algorithm performance. Backtesting a strategy correctly to remove bias and interpreting the results can be very time-consuming and tedious, but it is critical to building a trading system that works and is validated to make money. There is a fine line between a profitable trading system and a very good money-losing machine. It is hard to know which you have until you have properly validated it and proven its money-making potential.
Getting a profitable algorithm is a feat, but it is only half the battle. Bringing that algorithm to be production-ready and then feeding data out to useful dashboards to ensure it is making correct decisions is the second challenge. For this reason, I have built a series of dashboards to monitor my algorithms and test new ideas manually to continually improve and adapt to changing market conditions. I have built a web app using Svelte and SvelteKit and a mobile app using React Native. Both use Trading View's lightweight charts library to build meaningful and useful data visualizations to make accurate decisions.
Instead of using paper forms, an interactive and visually appealing interface improved the guest ordering experience and data.
Instead of manually aggregating all guest order quantities into one order to the bakery, the application automatically generated an Excel sheet to email to the bakery that did all of the number crunching for them. Hours saved, and errors avoided.
If a guest has any concerns or exceptional circumstances, this can be communicated when the order is placed and highlighted to the employee when the order is delivered. This ensures each guest gets a custom and positive experience.
A big issue the hotel had was understanding how much extra food to order to prepare for days the bakery is closed. A custom analytics dashboard provided the front-desk manager insight into the most popular items to order extra to ensure the high-quality breakfast experience is maintained, regardless of the bakery's closing.
Before the app was created, the hotel needed an effective system for managing breakfast inventory. Now, all of the inventory is handled for them through the app through a simple daily inventory check to ensure the hotel has the food it needs to provide breakfast to guests.