Tools I've used, broken, and eventually mastered.

A real list of the tech I work with — from the things I reach for every day to the ones I learned just because a project demanded it.

//Frontend

  • HTML

    Where it all started for me. Before any framework or library existed in my world, I was building static pages by hand. Understanding the markup is what separates people who build for the web from people who just assemble components.

  • CSS

    CSS is the one that got me hooked on frontend. The moment I made something animate for the first time I was sold. Gone through vanilla, SASS, CSS Modules — and I still enjoy writing it raw when the project calls for it.

  • Javascript

    My first real programming language. Spent years learning its quirks and by now they feel like features, not bugs. Async/await, closures, the event loop — things that used to confuse me are now the parts I actually enjoy explaining to others.

  • React

    Still my go-to for building UIs. Used it across projects ranging from small landing pages to larger production apps. The component model clicked for me early and I never looked back. Server Components are changing how I think about the client/server split all over again.

  • Tailwind

    Took me a bit to warm up to Tailwind — putting styles in the markup felt wrong at first. But after a real project with it, the speed of iteration won me over completely. No more hunting for the right class name in a separate file.

  • Framer motion

    The animations I struggled to pull off with CSS transitions I can now prototype in minutes. The layout animations especially — genuinely surprised the first time I added layoutId and watched elements transition between states automatically.

  • Vue

    Vue was the framework I learned right before React became dominant in my circles. I still appreciate how approachable it is and reach for it occasionally when I need something simple and self-contained without a full React setup.

  • Shopify Liquid

    Liquid taught me to think in templates. Opinionated and sometimes limiting, but those constraints forced me to get creative within the platform. Built several custom themes and section schemas that gave clients real flexibility without touching code.

  • BlockiesUI

    A component library I built and open sourced for Web3 projects. Generating Ethereum-style identicons and wallet UI blocks was a problem I kept solving from scratch, so I packaged it once and shared it.

//Backend

  • NextJS

    Next.js is where my frontend and backend skills merged into one thing. API routes, SSR, ISR — having all of that in one framework changed how I scope projects. Most of what I ship today starts here.

  • MySQL

    My first relational database. Used it for production apps with real traffic and it held up every time. Setting up replication and running queries against large tables taught me more about indexes than any tutorial ever could.

  • Postgres

    Postgres is what I reach for now when starting something new. The JSON support, extensions like pgvector, and the overall reliability made it a natural upgrade. Hard to go back once you get used to it.

  • tRPC

    The first time I used tRPC and realized the client just knew what the server returned — no codegen, no manual types — felt like a small superpower. My default now when building full-stack with Next.js.

  • API Rest

    REST was the first API style I learned and I still build with it regularly. Knowing when to use REST versus something like tRPC or GraphQL is a decision I have gotten better at making over time.

  • Supabase

    Supabase gave me a production-grade Postgres database, auth, and storage in an afternoon. Used it for side projects and client work alike — the developer experience is hard to beat when you want to move fast without cutting corners.

  • MongoDB

    MongoDB was perfect for projects where the data shape was still evolving. Atlas made deployments painless and the aggregation pipeline, once I understood it, became one of my favorite ways to transform data.

  • Google Cloud

    Used Firebase and Firestore for rapid prototypes where real-time sync mattered. Firebase Auth in particular saved me from building yet another auth system from scratch on more than one occasion.

  • Amazon Web Services

    EC2, Lambda, S3, CloudFront — touched a lot of AWS services across different projects. Lambda changed how I think about backend logic: small, stateless, triggered on demand.

  • Prisma ORM

    The schema file became the source of truth for entire projects. Having migrations, type-safe queries, and a visual studio all linked to the same schema is the kind of DX that makes backend work feel less like a chore.

  • Drizzle ORM

    Drizzle is what I have been exploring as a lighter alternative to Prisma. Closer to SQL, less magic, and the bundle size difference matters on edge runtimes. Still forming opinions but it looks promising.

  • n8n

    n8n opened up automation workflows I used to build custom scripts for. Connecting APIs, transforming data, scheduling jobs — all visual and self-hosted. Used it to glue together systems that were never meant to talk to each other.

//Web3

  • Solidity

    Writing smart contracts felt like backend development with no safety net at first — everything is immutable and gas costs are real money. That pressure made me a more deliberate programmer. Deployed contracts on mainnet and learned more about security from auditing my own code than from any course.

  • Rust

    Rust for Solana development pushed me out of my comfort zone in the best way. The borrow checker is brutal until it stops being brutal, and once you understand it, you write safer code in every other language too.

  • Ethers

    My preferred way to talk to EVM chains from the frontend. Clean API, good TypeScript support, and it handles the wallet connection layer without feeling like it is fighting you.

  • Web3.js

    Web3.js was the first Ethereum library I used and I still encounter it in older codebases. Knowing both gives me context when maintaining contracts or integrations someone else wrote.

  • HardHat

    HardHat is where I write, test, and deploy contracts. The local node, console.log in Solidity, and the plugin ecosystem make the development loop fast. Testing on a fork of mainnet before deploying for real is not something I skip anymore.

//Visual

  • Figma

    Started using Figma just to hand off designs, but it became the place where I actually think through UIs before touching code. Auto Layout clicked something in my brain about how components should resize — and I started building better responsive layouts as a result.

  • Photoshop

    Photoshop has been in my toolkit longer than most things on this list. From basic photo editing to compositing textures for projects, it is the tool I open when precision at the pixel level actually matters.

  • Midjourney AI

    Midjourney changed how I approach visual concepting. Instead of spending hours searching for reference images, I describe the mood and iterate from there. I use it as a starting point, not a final product.

  • Adobe Premiere

    Video editing was not something I planned to learn, but a few projects needed it and Premiere was the obvious choice. Cut short-form content and longer recordings — enough to know my way around a timeline without getting lost.

//Audio

  • FL Studio

    FL Studio is where I make music. Started using it out of curiosity and it became a creative outlet that feeds back into everything else I build. Working on sound design taught me about timing and rhythm in a way that quietly improved how I think about UI animations.

  • RecordBox

    RecordBox is how I organize and perform my DJ sets. Having a proper library with analyzed BPMs and cue points makes the difference between a smooth transition and a trainwreck at the wrong moment.

  • Adobe Audition

    For cleaning up audio, removing background noise, or editing recorded sessions, Audition is the tool I reach for. The spectral display makes it easy to see and remove exactly the frequencies causing problems.

//3D

  • Unity

    Explored Unity to understand game development from the inside. Building small interactive scenes gave me a completely different perspective on real-time rendering and how much work goes into things that feel effortless to a player.

  • Autodesk Maya

    Maya is where I learned 3D modeling fundamentals — edge loops, UV unwrapping, rigging basics. Still learning, but the core concepts carry over into anything 3D related.

  • Three.js

    Three.js brings 3D into the browser and that intersection of frontend and graphics is genuinely exciting to me. Used it for interactive scenes and product visualizations — it always makes a page feel a level above what is expected.