Hello and welcome!
I am a problem solver and communicator in the tech / software space. I love writing code and have done so enthusiastically for the past 14+ years. I excel at unwinding complex problems and creating simple, maintainable, and scalable solutions.
After graduating from Johns Hopkins with a degree in Computer Science, I began my career as a Software Development Engineer at Amazon where I primarily worked on large-scale backend systems. By year 6, I was a Senior Engineer leading my team on a greenfield project to optimize customer perceived latency using edge compute technologies.
In 2024, I decided to step away from the corporate world to start my own business and explore all the other cool things happening in tech. With full focus and energy, I intend to tackle new challenges, master new emerging technologies, collaborate with like-minded people, and build awesome stuff.
So here I am, with my new shiny (handmade) website, diving head-first into my next venture.
Need Help Building Awesome Stuff?
If you would like to work together, feel free to send me a message. I am open to freelancing / contracting work and would love to learn about the cool projects you work on!
The best way to reach me is by email:
Latest Blog Post
Mar 25, 2025
5 Min. Read
How To Do Dependency Injection In Rust With Static Dispatching
Dependency injection (DI) is a common design pattern that tech companies use to increase the flexibility, maintainability, and testability of their software. Long-standing, industry-standard languages such as Java have a number of frameworks solely for this purpose, such as Spring, Guice, and Dagger.
However, in Rust, dependency injection is not an easy pattern to implement, at least not in a "Rust-like" way. Most, if not all, libraries and examples achieve DI through dynamic dispatching (trait objects). They also typically do not offer a solution for, in my opinion, one of the best features of DI frameworks - the ability to configure environment-specific dependencies at compile time (i.e. production dependencies for prod environments, beta dependencies for beta environments).