Day 1: Creating SaaS to solve my own problem
Tags: googlemaps, saas, kyoto, ux
Published: 2021-08-16 02:32:57

## TL;DR

Solving your own problem is the best way to start creating a SaaS on your own. Here's how I've started creating _My Ideal Map App_, a web app that will improve the UX of Google Maps for my own personal use.

## A user experience

A while ago, I was visiting an eyewear shop in central Kyoto to replace the lenses of my glasses. 

After a consultation with the shop staff, I was told new lenses would be ready by 2:00 pm. I looked at the clock. It was around noon. So I needed to kill time for about 2 hours by having lunch and after-lunch coffee.

I picked up my smartphone and tapped the icon of *My Ideal Map App*. Across the screen, it showed the street map around my current location, that is, the eyewear shop:![The shop front of Paris Miki Shijo-Karasuma](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/88qbad393sa2d40pvoyi.png)**Paris Miki Shijo-Karasuma, the eyewear shop in central Kyoto I was visiting** (image source: [Paris Miki](https://www.paris-miki.co.jp/store/1293.html))

I tapped a button on the bottom right corner of the screen, which brought a series of checkboxes into view. After tapping the boxes for "lunch" and "cafes", the map showed a few flower-shaped placemarks indicating the locations of cafes and restaurants I had saved before.

Tapping one of these placemarks, I found my favorite lunch place run by [D&Department Kyoto](https://www.instagram.com/d_d_kyoto) within a few minute's walk from the eyewear shop. It's a canteen serving meals made of seasonal local produce. The location is what I like about the canteen: inside a historical Buddhist temple, where customers take off shoes to sit on a low-rise chair in a _tatami_-floored room with an altar:![Interior of the lunch canteen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z2y6fecdt1luopl1epua.jpg)**DD Shokudo, the lunch canteen run by D&Department Kyoto** (Photographed by the author)

I didn't know the canteen was very close from my current location. I decided to have today's lunch there.

The map on my smartphone screen also incidated that [Okaffe Kyoto](https://okaffe.kyoto/), a cafe that I always wanted to visit, was also very near my current location. Tapping its placemark showed the link to my [Notion](https://www.notion.so/) page on the cafe. I tapped the link, which launched the Notion app and opened my note. 

It reminded me of what's special about the cafe: an excellent cup of coffee chosen by the owner who won barista championship, served alongside a European-style pancake filled with *anko* red bean paste (an essential ingredient of Japanese traditional sweets). It sounded to me like a nice place to have after-lunch coffee with dessert.

So, while I was waiting for my pair of glasses to be ready, I had my favorite lunch plate at D&Department Kyoto's canteen:
![Lunch plate at D&Department Kyoto's canteen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iytnrdd2d1z9lyt3ljfq.jpg)**Seasonally-changing lunch plate at DD Shokudo** (Photographed by the author)

And then a tasty cup of *caffe macchiato* with the pancake: ![Pancake with caffe macchiato at Okaffe Kyoto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/61mvv45uhsvn7t6vnt18.jpg)**Pancake and caffe macchiato at Okaffe Kyoto** (Photographed by the author)

Thanks to *My Ideal Map App*, the waiting time for the new lenses of my glasses became a rich experience of living in Kyoto.

## Quest for My Ideal Map App

Unfortunately, _My Ideal Map App_ doesn't exist (yet), in case you feel like using it as I do. The above episode has long been my dream over the last 10 years or so. But no one has created *My Ideal Map App*. 

[Google Maps allows me to save places](https://support.google.com/maps/answer/3184808), but this feature has a big limitation: only plain text can be added as a note to each saved place. I want to add a link to my Notion page so I can save any information about the place (text, photos, videos, links to web articles, scanned images of magazine articles, etc.). Also, it seems impossible to choose which subsets of saved places to be shown on the map. Furthermore, the user interface is not optimized for saving a place and editing saved places, plus some inconsistencies in UI design between the mobile app and the desktop web app (I use both). Finally, Google Maps never gives up cluttering the map with the visually-distracting placemarks that I have no interest in. 

The only alternative that comes close to _My Ideal Map App_ is a web app called [Place.guru](https://place.guru), but it's meant for publishing the list of places to be seen by other people (like [this one](https://place.guru/l/9eowcjf-3gvozdf-fuxqqcj/p/gmw8qeq-08xktjz-jcm0cua)), not for customizing a map to the user's own interest. As a result, its UI design is not optimized (actually, quite annoying) for the purpose of using the app in the way I want to. Plus, it is no longer actively maintained (as of 16 August, 2021, its SSL certificate has expired...).

---

I cannot wait for someone to build _My Ideal Map App_ any more. So I have decided to create it on my own, with its design and coding done by myself. The image at the top of this article, reproduced below, is how the map will look like in _My Ideal Map App_:![A view of Google Maps whose style is customized in greyscale with pale green for green space and pale blue for waterways](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ly6rh0vndb221kmhymhx.png)

## A bit about myself

I'm at the age of 43, having left [my previous job as an academic researcher](https://sites.google.com/site/mkudamatsu/) a couple of years ago. After a lot of soul-searching, earning a living by creating [software-as-a-service (SaaS)](https://en.wikipedia.org/wiki/Software_as_a_service) on my own is the way of life that fits my personality and ability the most. 

One of my role models is [Hakim El Hattab](https://twitter.com/hakimel), the creator of a slide-making web app called [Slides.com](https://slides.com/) (which I used a lot for giving talks on my academic research and for teaching at colleges). He recently tweeted how wonderful his life is: {% twitter 1419738181390553089 %}

While learning UI design principles and coding skills to create a web app, I also keep reading the pieces of advice from those who've made successful apps on their own. There are two things that every one of them recommends doing: (1) solving your own problem with the app you're going to create; and (2) blogging to share your experiences of creating an app.

## Solving your own problem

The first piece of advice from every successful app developer that I know of is well-summarized in the following quote from [Chapter 5 of *Getting Real*](https://basecamp.com/gettingreal/02.2-whats-your-problem), a free online book written by [Basecamp](https://basecamp.com/about):

> “A great way to build software is to start out by solving your own problems. You’ll be the target audience and you’ll know what’s important and what’s not. That gives you a great head start on delivering a breakout product.
>
> The key here is understanding that you’re not alone. If you’re having this problem, it’s likely hundreds of thousands of others are in the same boat. There’s your market. Wasn’t that easy?”

—[Basecamp (undated)](https://basecamp.com/gettingreal/02.2-whats-your-problem)

One of the successful app developers that I've been following is Takuya Matsuyama, the creator of a markdown note-taking app called [Inkdrop](https://www.inkdrop.app). His starting point was his own frustration with the lack of pleasant-to-use note-taking apps:

> “About two years ago I was very frustrated with taking notes regarding software development. I tried numerous Markdown based applications over the years but I couldn’t find a keeper. Web-based services like Wiki are usually hard to find from lots of tabs and not usable in offline. Apps using cloud storage services like Dropbox are too slow to sync and consume many CPU resources because I’m storing lots of files on it. I couldn’t even adopt apps with lack of features, too complicated features, or not beautiful looking for my daily use. It looks like personal preference issues though these were very important for me. So I ended up making my own note-taking app because I was tired searching for the perfect one.” 

—[Matsuyama (2017)](https://blog.inkdrop.app/how-i-built-a-markdown-editor-earning-1300-mo-profit-inkdrop-ddf6ad702c42)

This strategy sounds great to me in that in the worst case scenario where no one subscribes to the app, at least my own personal life will be improved with the app I've built. 

So what's my own problem that can be solved with an app? This question led me to my decade-long frustration with Google Maps, as described earlier in this article.

## Blogging to share your experiences

The second piece of advice given by every successful app developer that I know of is well-summarized by the following quotes from, again, _Getting Real_, the book by Basecamp. This time, it's from [Chapter 70](https://basecamp.com/gettingreal/13.3-ride-the-blog-wave):

> “When you don’t have the time or money to go the traditional advertising route, consider the promote-via-blog route instead.
>
> Start off by creating a blog that not only touts your product but offers helpful advice, tips, tricks, links, etc.”

—[Basecamp (undated)](https://basecamp.com/gettingreal/13.3-ride-the-blog-wave)

And also from [Chapter 72](https://basecamp.com/gettingreal/13.5-promote-through-education):

> “As a promotional technique, education is a soft way to get your name —  and your product’s name — in front of more people. And instead of a hard sell “buy this product” approach, you’re getting attention by providing a valuable service. That creates positive buzz that traditional marketing tactics can’t match. People who you educate will become your evangelists.”

—[Basecamp (undated)](https://basecamp.com/gettingreal/13.5-promote-through-education)

The Inkdrop creater, Takuya Matsuyama, talks about his own experience to confirm the effectiveness of blogging:

> “3 months ago, I’ve managed to get a traction with an article describing my experience building the app in Japanese. It generated many user registrations and some of them fortunately became paid users.”

—[Matsuyama (2017)](https://blog.inkdrop.app/how-i-built-a-markdown-editor-earning-1300-mo-profit-inkdrop-ddf6ad702c42)

So while I'm creating _My Ideal Map App_, I've decided to commit myself to blogging to share my experiences, from which I hope the reader can learn something. 

Even if I miserably fail to earn a living from the app, this blog will be a very previous piece of information to share: an experience of failure. The media rarely reports the stories of failure; and most people don't share their own failing experiences. But what stops us from taking an action is the fear of failure, and this fear stems from the lack of knowledge about what will happen if we fail. My blog will supply this knowledge in the worst case scenario. 

## 100 Days in Kyoto to Create a Web App with Google Maps API

That's the name of this blog post series, chosen from more than a dozen of titles that I came up with.

I'm going to create a web app, not an iOS/Android app. And the app will be built on [Google Maps API](https://developers.google.com/maps), not [Mapbox](https://www.mapbox.com/). And the phrase "100 Days" pays homage to [#100DaysOfCode](https://www.100daysofcode.com/), which helped me build my first open-source front-end app with React (for detail, see [an article of mine on #100DaysOfCode](https://masakudamatsu.medium.com/100daysofcode-to-make-my-first-front-end-web-app-776e5fe29d64)).

But why "Kyoto"?

Each post in this blog series will start with an example of user experiences that the app will provide, based on my own life in Kyoto. This is essentially a sales pitch: what you can do with the app I'm creating. For the first timer to my blog, it will explain what kind of app I'm creating. 

But It also helps my own app-making process: I can imagine how the app I'm making will help my life, which will motivate me and help me easily remember what kind of features I need to develop. 

Plus, talking about Kyoto may attract those web developers who love to travel to Japan (once the pandemic falls under control), and such persons are likely to be the potential users of *My Ideal Map App*. 

Then, the second half of the post will share my experiences of developing a web app, step by step. I'll share what I have learned in the process of making an app. In the end, the blog series will list up every single step you need to take for creating a web app (which, actually, is a rare piece of information).

Watch this space!

## References

Basecamp (undated) [_Getting Real_](https://basecamp.com/gettingreal/), Basecamp.com.

Matsuyama, Takuya (2017) "[How I Built a Markdown Editor Earning $1300/mo Profit — Inkdrop](https://blog.inkdrop.app/how-i-built-a-markdown-editor-earning-1300-mo-profit-inkdrop-ddf6ad702c42)", _Dev as Life_, Sep 25, 2017.