Niko Heikkilä
↩ Back to posts


Some people are often puzzled about my setup – and the font I use – or just want to hear my recommendations for a given task. On this page I will describe the majority of tools I use to survive my day accompanied with links for the readers to try them out. I try to keep this page updated as often as possible.

This page was inspired by the works of Wes Bos and Ali Spittel. If you decide to make your own /uses page after reading this, please include me among the sources.

Hardware and Platforms

I develop mainly on two platforms – excluding the Linux servers which are only deployment targets – that currently are macOS and Windows 10.

I’m using AUKEY USB-C Hub to plug my peripherals to laptops when needed. I’ve mastered my setups so that there’s no hindrance to my productivity while switching from the operating system to another. Hence, I discard arguments about operating system superiority ridiculous and inane.

My keyboard is Logitech G413 mechanical keyboard which feels pleasant to type with and looks cool with its silvery brushed metal base. My mouse is Steelseries Rival 300 which I’ve programmed with one macro for taking screenshots quickly. I generally advise against buying consumer products targeted for gaming audience or any gamer brand related stuff but these two devices have been affordable and served me well for a couple of years.

Code Editor

Visual Studio Code Editor

My editor of choice is Visual Studio Code which I migrated to after using Atom and Sublime Text for some years. I dislike using full-blown IDEs as they are mostly resource hogs offering very little extra value to my workflow. All the posts and pages in this site have also been written with VS Code.

In the screenshot above I’m using a theme called Night Owl and a font called Operator Mono.

To synchronize my settings and extensions across machines I use an extension called Settings Sync.


Hyper for macOS Microsoft Terminal for Windows

I haven’t yet found a perfect terminal application so I’ve been hopping back and forth between Hyper and iTerm. The release of Microsoft’s new Terminal will change this when it becomes stable but for the time being, I’m satisfied with Hyper 3 which introduced some dramatic performance improvements for its latest release.

After years of cursing the allfathers while navigating in a clunky Bash shell, I came across the Friendly Interactive Shell (Fish). I have then supercharged my Fish shell with the Oh-My-Fish framework and the Spacefish theme.

While in the command line I use z to quickly jump to a project and fzf to remember the exact command I typed a few hours ago. These modifications let me swim in the command line like a fish in the sea. 🐟

Since Microsoft released their Remote Development Pack for VS Code which lets me access the files over SSH, WSL, or within a Docker container, I’ve largely given up on using Vim. However, on those rare occasions I need to use it I leverage the SpaceVim configuration.

Browser Setup

I’ve tried to live with virtually every browser made under the sun but the one I keep coming back to is Vivaldi. It’s a browser from the company founded by Opera co-founder Jon Stephenson von Tetzchner. I really love the customizable UI, tab stacks, web panels, reader view, and quick commands it ships with.

Another promising newcomer is the new Microsoft Edge built from Chromium (as is Vivaldi). It still lacks some core features but it’s interesting to follow the progress, nonetheless.

Desktop Apps

Although I consider myself an open-source advocate in most situations I have no problem paying and using commercial software when it’s good. This will be a mouthful so I’ll just list my used apps below.

I’ve marked apps I’ve purchased or subscribed to with a 💰sign. Most apps offer a limited free plan which I advise to check out as well if it covers your needs.

I use…

  • 1Password 💰 with a family plan for storing passwords, secure notes, software licenses, and even movie tickets. It’s the best password manager out there and using anything else would cause me a mental breakdown.
  • Alfred 💰 to boost my productivity with a variety of workflows and snippets.
  • Backblaze 💰 to back up my two computers and HDDs. It does everything silently on the background which means I usually forget its existence and that’s definitely a good feature from a backup manager.
  • CloudApp 💰 to capture screenshots and videos to the cloud. Useful for reporting website issues.
  • Dropbox 💰 with a 2 TB subscription to dump all my random things into.
  • Fork for viewing commit diffs and solving merge conflicts in Git. Sometimes the native command line git just isn’t enough.
  • MindNode 💰 for drawing, exporting, and sharing mind maps.
  • Notion 💰 for writing notes, drafts, checklists, and keeping a personal micro-wiki around.
  • Postman for experimenting with REST APIs. If only it would support GraphQL.
  • Spectacle for organizing the windows in my desktop. Sadly, I haven’t found a good Windows alternative but using the WIN and arrow keys is efficient enough.
  • TablePlus 💰 for accessing relational databases, Redis caches, and more.
  • Todoist 💰 for reminding me to pay my rent each month and a heap of other stuff.
  • Toggl for tracking time spent while working because my current employer requires me to send in a report monthly.


This section is under construction. I plan to build my own remote office with a new chair, an adjustable electric table, a laptop stand, and a couple more USB hubs for connecting. Feel free to throw suggestions for me.