I use neovim or regular Vim if neovim is not available. I have a pretty good config to develop with javascript and typescript, mainly thanks to coc.nvim, which basically transforms your vim completion engine in VS Code. You can check out my latest config here.

Visual Studio Code

I don't really use it anymore cause I use Vim for everything but it's the one I would recommend to all of you.

Kitty terminal

Not really an editor, but it's my terminal of choice to use vim. The thing I like the most about Kitty is that it's config is a plain text file so I can include it in my dotfiles

Tech stack


For any web project that I start now, I use Next.js. This tool gives you an automatic hybrid setup of ReactJS (so, client rendering for browser navigation + SSR) with the file system as the router. I also use it to build lambda-based APIs as the client's backend.

Next also allows you to use a CMS to prerender all pages and use a CDN to quickly serve all files as static. That's what I use to build the site you're looking at right now.


In the server I use NodeJS but I rarely need it since I went serverless thanks to NextJS lambdas.

GraphQL, Fauna, DatoCMS

For data persistance I'm starting to like FaunaDB as it allows me to use GraphQL, my query language of choice. I also tried a lot of CMS and the one I only use is DatoCMS for a few reasons: graphql api + free account with 2 i18n locales + markdown translations to html on demand (I'm writing these lines right on their md editor).

As a graphql client I have used Apollo but I usually use http directly for small projects. I have also used Prisma and it works great but I hate to write twice everything I do and that's what it felt like when using apollo and prisma together.