💻 Software I Use

The apps and platforms I use to design, code, and ship projects — from IDEs and frameworks to CI/CD pipelines and deployment tools that power my daily workflow.

Software is where most of the magic happens. My toolkit blends reliability, speed, and security — covering everything from full-stack web development to firmware compilation and cloud deployments.


🧠 Operating Systems

  • macOS – My main operating system for daily development. It provides the perfect balance of Unix flexibility and a clean, stable desktop environment. I do most of my web and mobile work here using Rails, React, and Swift.
  • Ubuntu – My preferred Linux distribution for servers, CI/CD runners, and Docker environments. It’s fast, lightweight, and perfectly aligned with most of my backend stacks.
  • Kali Linux – Used occasionally for penetration testing and network analysis when I’m validating security layers or testing authentication systems.

🧩 Core Development Stack

  • Ruby on Rails – My main framework for building secure and maintainable full-stack applications with clean architecture and rapid iteration.
  • React + TypeScript – My go-to combo for modern front-end work. Type safety, modular components, and reliable builds keep large projects clean and predictable.
  • Next.js – Used for my personal site and projects that need a fast, SEO-friendly, and dynamic frontend.
  • Spring Boot (Java) – For enterprise-grade web services and REST APIs that need high performance and strong type safety.
  • C# .NET – Used for building backend services, automation tools, and some legacy integrations that require the .NET ecosystem.
  • Swift & SwiftUI – My preferred stack for iOS apps, combining performance and simplicity with modern UI patterns.
  • Hotwire & Stimulus – For Rails projects that need a reactive UX without relying on heavy front-end frameworks.
  • PostgreSQL – My standard database engine — reliable, scalable, and production-ready.

⚙️ DevOps & Deployment

  • Docker & Docker Compose – Every project runs in containers for consistent environments.
  • Kamal – My default deployment tool for Rails — fast, secure, and Docker-native.
  • GitHub Actions – Handles automated tests, builds, and deployments for most of my projects.
  • AWS, Linode & Vercel – My main hosting platforms. AWS for large-scale infrastructure, Linode for smaller deployments, and Vercel for fast static and Next.js hosting.
  • Tomcat / Jetty – For hosting Spring Boot and Java-based web applications.
  • Solid Queue & Solid Cache – For background jobs and caching in Rails 8 applications.

🛠️ Developer Utilities

  • Visual Studio Code – My main code editor for Rails, React, and TypeScript projects.
  • Xcode – Essential for iOS development with Swift and SwiftUI.
  • CubeMX IDE – For STM32 embedded development and firmware generation.
  • iTerm2 + Oh My Zsh – A powerful terminal combo that keeps my workflow efficient and organized.
  • Git & GitHub – Version control, collaboration, and CI all in one place.
  • Postman & Bruno – For quick API testing and debugging.
  • TablePlus – Clean, intuitive interface for managing SQL databases.

🔐 Security & DevSecOps

  • Securial – My own open-source Rails engine for secure authentication, multi-tenancy, and access control.
  • ProtonVPN – Used for secure access to remote environments and client systems.
  • Dependabot & Brakeman – Automated tools for keeping dependencies and security scans in check.

🧾 Documentation & Collaboration

  • GitHub Wikis – For project documentation and shared technical notes.
  • Apple Notes – For quick thoughts, ideas, and on-the-go documentation synced across devices.
  • Linear – My task management hub for tracking development cycles and project roadmaps.

🧪 Embedded & IoT Tools

  • Atmel Studio / PlatformIO – For AVR and ARM microcontroller development.
  • CubeMX IDE (STM32) – Used for firmware configuration and embedded project builds.
  • EasyEDA – My preferred PCB design and prototyping software.
  • Serial Monitors & Logic Analyzers – For debugging and testing communication protocols in hardware projects.

These tools form the backbone of my work — helping me move fluidly between web, mobile, and embedded systems. Each one plays a specific role in keeping my development workflow fast, secure, and adaptable.