RSSAmplifier

Blog

David Mohl

Recent content on David Mohl

david.coffeeRSS feed ↗65 posts

Latest posts

So, I tried to build an Android app...

For a recent project, I wanted to also offer an Android app. I’ve never built anything for Android and have exclusively developed within the Apple ecosystem (you can find some of my recent projects here ), but figured it can’t be that different, right? Oh boy. The experience scarred me enough to write a blog post, that tells you the journey has been… something . This is my…

Trying Cloudflare Mesh: It's not Tailscale

A while ago I posted about how I’m using Cloudflare Zero Trust Warp tunnels as the backbone for all my private networking. Any SSH connection I do to any of my devices goes through Warp and I’m all in all pretty happy with it. Color me surprised when Cloudflare announced Mesh (currently in beta), their own mesh networking product for private connectivity between devices and services. I…

Grok, meet everything

Grok has slowly become my favorite day-to-day LLM and a big part of my daily workflow. It’s a joy to use and can do things others currently can’t. But what makes it so great? Don’t worry, I’m here to tell you with a way-too-long blog post on exactly this. (And no, it’s not the bikini thing 👙) My search for the perfect daily use LLM I play with a lot of AI tools:…

Kikuyo: Collect User Feedback for ALL Your Small Projects

https://kikuyo.app (聞くよ / Japanese / “I’m listening.”) is the newest addition to my portfolio, a quick and neat way to collect user feedback and feature requests for all your projects. Start with 2 projects for free, get unlimited for $8/month. User feedback across projects that doesn’t break the bank Kikuyo came out of a personal need: I wanted a place where users could…

I Still Prefer MCP Over Skills

I Still Prefer MCP Over Skills TL;DR: The AI space is pushing hard for “Skills” as the new standard for giving LLMs capabilities, but I’m not a fan. Skills are great for pure knowledge and teaching an LLM how to use an existing tool. But for giving an LLM actual access to services, the Model Context Protocol (MCP) is the far superior, more pragmatic architectural choice. We…

My 'Move Fast' Stack for 2026

My “Move Fast” Stack for 2026 TL;DR: Moving fast in 2026 isn’t just about the code, it’s about picking the right tools and letting AI handle the grunt work. My current go-to: Golang or Elixir (depending on what I’m building), SQLite + Litestream, and a 3-agent pipeline for code quality. In my last post, I reflected on the ups and downs of the past 14 months . One of…

ConfigMesh - A modern and encrypted way to manage your dotfiles

I’m excited to announce the release of ConfigMesh , a new macOS app I’ve been working on to solve a problem I’ve had for years: keeping my application settings and dotfiles in sync across multiple Macs. Check it out at configmesh.app . The Problem with Dotfiles If you’re a developer, you probably have a set of “dotfiles” - configuration files for your shell,…

Reflecting on 14 months of indie hacking - Building 7 projects and learning hard lessons

TL;DR: 14 months ago, I quit my job to build indie products. Built 7 projects, currently at ~$45 MRR total across all projects, 900+ active users. Most projects failed financially, but learned valuable lessons about building for broad audiences over niche tools. A little over 14 months ago, I made the drastic decision to quit my full-time job of 6+ years as Engineering Manager at Mercari to go my…

microfn - Your favorite toolbox for tiny, composable functions

I want to introduce a project I’ve been working on for the past few months. I think it’s finally in a good enough state that more people can get onto it. Here’s what microfn is about and all the cool stuff you can do with it! Tiny composable functions Microfn is all about small functions (hence the name micro ) - you have a small piece of functionality in the form of a function…

I finally understand Cloudflare Zero Trust tunnels

A while ago, after frustration with Tailscale in environments where it couldn’t properly penetrate NAT/firewall and get a p2p connection, I decided to invest some time into learning something new: Cloudflare Zero Trust + Warp. There are so many new concepts, but after way too long, I can finally say that I understand Cloudflare Zero Trust Warp now . I am a full-on Cloudflare Zero Trust with…

Release: Quickshot AI Editor for iOS

I’ve been working on a new app that has recently been released: Quickshot ! It’s available on iOS on the AppStore at https://apps.apple.com/jp/app/quickshot-ai-editor/id6744357427?l=en-US Editing photos with words Quickshot is an experimental photo editor powered by AI, that aims to make small photo edits quick, natural and fun - instead of using tools and apps to erase something, add…

Better Vibe Coding - Part 2, Multi-agents & Complex Tasks

This post is a direct continuation of Better Vibe Coding - Part 1, Foundation & Basics . If you haven’t read that yet, start there for the basics. 2. “Vibe Coding” complex tasks Phew, now that we got the basics covered, let’s go into more advanced territory. If you vibe coded in bigger codebases you’ll likely face issues with the agent’s quality going down the drain the more…

Better Vibe Coding - Part 1, Foundation & Basics

Today let’s talk about “Vibe Coding”, the current trend of writing code by chatting with autonomous AI agents. I see a lot happening around Vibe Coding, from people getting hacked because their site falls apart, to people bootstrapping entire apps in hours instead of weeks. I’ve been big into vibe-coding myself and wanted to share some tips and tricks on how to get the most value out of your AI…

What I shipped this year (so far)

Around October last year, I made the decision to resign from my Engineering Manager position at Mercari with the purpose of focusing on building something up on my own. I love Mercari and have only good things to say about this company, but the fire to go my own way was stronger. It’s been about 3 months now and while I am slowly chipping away at my projects, I thought it would be a cool…

FixMyJapanese - Let AI help you improve your Japanese

Japanese grammar can be very particular, especially when dealing with particles and the more polite forms, like in emails. To this day, I am still making mistakes without anyone ever correcting me!! I got frustrated so back then, before ChatGPT and all the fancy custom GPTs were a thing, I thought it would be a cool idea to hook up GPT3 (yes GPT3, not even ChatGPT) to an UI and ended up building…

Masked Email Manager 2.1 With Shortcuts Support

Here’s a fresh new release of my little Masked Email Manager app that I previously talked about . The major new feature is Siri Shortcuts integration, which makes it possible to create Masked Emails without even opening the app. Get the latest version on the App Store This was my first time working with Siri Shortcuts on the development side, so it was interesting to see what happens behind…

Which Japanese SIM to pick? An IT professional's opinion (Ahamo, Rakuten Mobile, Povo)

I was discussing Japanese SIM cards with a friend the other day and noticed that there aren’t really any English resources to help people choose the right SIM card. There is quite a big difference in what you get depending on the provider, so I thought I’d add my 2 cents. Not all SIMs are equal If we turn back the clock a couple years - the main carrier SIMs (docomo, softbank, AU) were…

Maskwire - Building the email service I always wanted

I am very happy to finally be able to talk a little about the pet project I’ve been hacking on for the past months while backpacking through Australia - https://maskwire.com , and the email service that I always wanted but didn’t exist. How I’m using email today I’m not going to talk about reinventing email into some chat messenger or something like that. On the contrary -…

The case for a travel router, feat. Beryl AX

Travel routers are a thing I didn’t know existed. It makes sense that they do when you think about it, but I was never in a situation where one might have been necessary. Recently, I started a months-long sabbatical in Australia, and part of my research of what to pack on subreddits like /r/onebag landed me on travel routers! After a bit of research, I went out and ordered the GL-Inet Beryl…

Building your own distributed CLI ChatGPT in Elixir with GenServer

I recently built an Elixir SDK for OpenAI APIs for a project I was working on to automatically fix and correct Japanese grammar ( https://fixmyjp.d.sh ). The SDK is actually fully auto-generated with metaprogramming which is something I wanted to do in Elixir for a while, but that’s not the topic of today’s post. Today, let’s use that SDK for something fun and build a smol…

On ChatGPT, GPT3 and Dall-E in my day-to-day life

You probably know what ChatGPT and Dall E are by now - AI exploded into mainstream with the recent releases (most notably ChatGPT) out of nowhere, and now even Bing out of all things is becoming the latest AI craze. As someone doing a lot of solo work, I became very grateful of the value tools like ChatGPT, GPT3 and DallE bring, and successfullly integrated them into my day to day work, both…

Refactoring code with ChatGPT

ChatGPT is really damn impressive and the more I read about it, the more it feels like withcraft. I see people using it for game development, coming up with titles, improving prompts for MidJourney and and and. It’s shaping up to be one of those universally useful tools that are great to keep around. Here’s one thing I had on my mind: Can it help me when I code? I was working on a…

Release - Syncing app configurations with unisync

tl;dr : unisync is a little tool I wrote that diffs and syncs your application settings across Macs, powered by unison Config management across machines is kind of a PITA. Some apps luckily natively support syncing settings, but most don’t. There are some solutions like the excellent Mackup that try to fix this issue by moving all config files into a shared folder (like Dropbox), then…

On Crypto Burnout

What a week, right? FTX, one of the biggest exchanges in the world, went from a reputable player that innovates the crypto space, to now rumors floating around that its ex-CEO is on the run, joining folks like Do Kwon and the guy from 3AC. What happened made me incredibly sad. I am a big proponent of cryptocurrency (after all, I built a wallet for Solana with Saifu) and am pretty active in the…

Why and how I use k8s for my personal stuff (and love it)

I’m one of those odd nuts that love kubernetes. I like it so much that it’s currently powering a lot of my personal stuff and hobby projects. So instead of the usual “k8s is bloated”, “k8s is overkill” or “why you don’t need k8s” posts, today let’s talk about why k8s is actually great for personal stuff, and why you should maybe also…

App release - Masked Email Manager for Fastmail

Happy to announce that my app for managing Fastmail Masked Emails is now available in the AppStore ! The app is available for free, but I might change it to the lowest price tier soon, to cover development cost (or maybe some hybrid one-time in-app purchase solution) What it is and what it does The app is a small utility for managing Masked Emails, Fastmail’s take on one-time /…

Venturing into WASM with React Native and Golang

I recently had the idea to create a little react native app for FastMails MaskedEmails, to quickly add new ones on my device, so I don’t have to open the FastMail app all the time. I wanted to do this with as little code duplication as possible, so instead of rewriting a client from scratch, I decided to re-use my maskedemail-cli somehow. I could have probably compiled it down to a shared…

Sending emails through Apple’s Hide My Email

I’m a big fan of one-time-use emails (as you can probably tell by previous posts on this blog). However, one thing that iCloud’s Hide My Email is still unbeatable at compared to my own domain is full anonymity. When I sign up for a junk site to get free WiFi, or order at a restaurant, I don’t even want to expose my domain to them, because that domain is, well, registered to my…

Teaching my UniFi UDM how to IPv6

I recently ventured into IPv6 territory with one goal: Get rid of the router my ISP gave me. I am a fan of UniFi gear and own an UniFi Dream Machine (upgraded from a UniFi Secure Gateway last year) which is more than capable of handling IPv6, so how hard can it be? I went into this not knowing a thing about IPv6 and just assumed it was identical to IPv4, just bigger, but boy was I wrong. This is…

My custom molded attenuating earplugs

A little backstory - Like most people I didn’t really take hearing protection serious until around my mid-twenties, when I realized that the faint high-pitched sound I hear when it’s very silent isn’t just my blood or body noises, but actual tinnitus. Luckily it’s so silent that I never actually notice it unless I actively try to focus on the sound. I also started doing…

Some tiny personal programs I've written

There was this post on HN the other day titled Some tiny personal programs I’ve written that I enjoyed a lot. It resonated with me so much because I’ve been pumping out smaller programs left and right for a while as well, but never thought of sharing those with the public, so let’s change that. I love hacking on mini projects. Fixing a problem with programming feels like a…

Anybox: Productive little bookmark manager

Ran into this little app called Anybox the other day while I was hunting for bookmark managers to try and ended up liking this one a lot How I was doing things until now Up until now, my way to manage bookmarks was to, well…, just bookmark them in my browser (duh), then use Alfred Workflows like this one (or more recently, just Raycast) to give me a dialog that can fuzzy complete bookmarks…

How I manage my digital life in 2022 (feat. Obsidian, DEVONthink & Friends)

Today, let’s talk a little about my favorite time-sink: Productivity ! I can’t even count how often I re-invented my entire information management stack on the hunt for the perfect solution. Tweaks here, tweaks there - putting some new app into the center focus and building everything around it (again). Did I find the perfect solution? Nah, I don’t think it actually exists. On…

d.sh

Never expected to own a single-letter ccTLD/TLD (not gTLD), but it somehow happened anyway - yours truly is now the owner of d.sh ! A while back (must have been years by now) I scouted some short domain names to potentially use, one of them being d.sh. It’s a reserved premium name that became available and is now being exclusively handled by divido.org . It had one of those “ This is a…

VPN connections and local network traffic on Mac

These days I’ve been trying to be more conscious about my online footprint and privacy in general. I’ve been using one-off email addresses for years now (btw check out my recent post on masked emails if you haven’t yet), and have a bunch of little scripts that spit out things like random usernames when I hit “!” 3 times. But honestly speaking, IP addresses were one of…

Creating Fastmail Masked Emails without 1Password anytime and everywhere

I love Masked Emails, Fastmails take on one-time-use email addresses. I’ve been doing something similar myself for years now, but it is a bit of a shame that it’s so tightly coupled to 1Password. Sure you can create them through the webinterface now, but it’s still kind of a pain to use and not very convenient (unless you use 1Password). You can’t even manually trigger…

Thoughts on Metaplex, candymachine and NFTs on Solana

I have a few comments on metaplex, the batteries-included go-to solution for everything NFT related out-of-the-box, that I wanted to share with the world. These are mostly thoughts I had when dealing with metaplex during the lifetime of a few projects, from the perspective of someone who just joined the Solana ecosystem. About myself: I worked on a few production projects on Solana, am sometimes…

Getting SoftBank WiFi hotspots working on Mac

This was originally posted on my medium but has been backported into this blog. Here in Japan, every phone provider gives you access to their WiFi Hotspots when you sign up. They are great! They cover areas where your LTE might get a bit wonky and make sure you’re not eating all of your data right away. Sadly though if you’ve ever been to Tokyo, the free WiFi spots that are available here (be it…

Hello (Neo)Vim, good to see you again!

It’s weird that I am writing about editors so much but trying a new editor every few months kind of became a tradition. It spices things up and allows me to learn something new that I maybe didn’t know yet before. Or just discover a new tool that improves my workflow. When I wrote about spacemacs, I thought spacemacs would be the thing that I would use for everything. Then I ported it to atom with…

Sweet, sweet Elixir - the language of my dreams?

I like learning new languages, I think that’s no secret. It’s a fun task that teaches you new interesting takes on existing problems. A language can make your programmers life very easy but could also turn it into a living hell. In fact, I am always on the hunt to find the perfect language for me. That thing that I want to use for everything. Meet ClojureScript Lately I’ve been doing a lot of…

Spacemacs for atom - a few weeks later

I recently wrote about my attempt to bring spacemacs style editing to atom. A lot of stuff happened that I wanna tell you about! In review Since the last post, proton acquired 72 stars, 13 watches and 4 forks. We now have 3 people that actively contribute changes. Proton became a good amount more stable, removed a lot of the ugly hacks it had in the beginning and added some really cool stuff on…

Spacemacs for Atom

If you read my last posts you might notice that I really like editors. Something about finding better and better tools is very interesting and fun. Plus using a new tool for a couple of weeks is keeping things fresh even when you work on the same codebase. The problem is that since I started using spacemacs , I can’t really use anything else. It just… doesn’t work. The shortcuts…

Demand driven iOS apps with om and react native

I recently talked a lot about om and react native. Since people seemed quite interested in this topic, I decided to hold a little presentation at the last Tokyo iOS meetup in November. People were a bit overwhelmed (many never saw clojurescript before) but the general feedback was quite good. I am sure I convinced at least 1 person to give it a spin! In any way, here is my talk from that iOS…

Going native with om.next

I mentioned already earlier that I believe om.next will be the future. Not particular om itself but the idea it implements: demand driven applications. The component declares what data it needs and the server is just there for delivering it. Components don’t want to coordinate 20 ajax requests just to gather all the data they need to operate. Components also don’t need all of the data…

MarkRight - a markdown editor in om+electron

If you follow clojurescript development you might have already heard about the next iteration of om, om.next . om.next is David Nolens attempt to bring together what big companies like facebook with relay and netflix with falcor are doing at the moment. I will not go into detail but instead of REST, it implements a architecture in which components clearly declare what kind of data they need to…

My Dream Editor

Today, let’s talk about editors. Why? Because currently there are more editors than anything else. Microsoft decided to launch an editor, github decided to launch an editor - heck, even facebook suddenly invests into editors. We have closed source ones, open source ones, big full powered IDEs and of course the old school family. The good thing, I actually like playing with editors. Sometimes…

A new blog

I decided to create another simple blog based on jekyll next to my medium one . Why? let me explain. Medium is an amazing platform for writing . That’s what works really damn good on it. But writing doesn’t equal blog. Medium is a magazine - a collection of articles and columns from individual writers. When you see a post about ‘How to set up php’ with a big editorial…

(untitled)

About Hi, I’m David! I’m an engineering leader and builder currently based in Tokyo 🇯🇵. I’m an ex-engineering manager from Mercari with over 14 years of experience in the tech industry. I’m experienced in the full stack of application development and have helped businesses ship projects to millions of users. I have a deep passion for building strong, productive…

(untitled)

Privacy policy for Advanced AI Actions This app does not collect any or personal information. No personal data or information is explicitly collected by this app beyond necessary operational data. Third-Party Services This app may utilize third-party services for: Error tracking and performance monitoring (like Sentry) Subscription management (like RevenueCat) These services collect standard…

(untitled)

Privacy Policy for Quickshot AI Editor Last updated: 2025-05-02 Overview Quickshot AI Editor (“the App”) is designed with your privacy in mind. This policy explains what information we collect, how we use it, and what choices you have regarding your data. Information We Collect User-Provided Information Photos and Images : Images you choose to edit using the App Edit Descriptions :…