Migration: WordPress + MariaDB (MySQL) + PHP + EC2 + CoudFront

I previously wrote about how and why I was migrating away from Hosteurope to Amazon AWS. The basics steps sounded very simple:

  1. Backup databases and data directories on the old server
  2. Set up the new server including all software & services needed
  3. Restore all backups to the new server
  4. Change DNS setting to apply changes to all visitors

Sounds easy, right?

Everyone who’s done that kind of thing before, knows it’s never quite that easy. Doing the first step is quite straight forward. Not a big deal. For the second step I ended up using a combination of howtos to get everything set up properly:

  1. Official AWS EC2: Linux+Apache+MySQL/MariaDB+PHP
    Tutorial: Install a LAMP Web Server on Amazon Linux 2
  2. Official AWS EC2: WordPress
    Tutorial: Hosting a WordPress Blog with Amazon Linux
  3. Working CloudFront Config for WordPress:
    Setting up WordPress behind Amazon CloudFront
  4. General WordPress on t2.nano Instance:
    How I made a tiny t2.nano EC2 instance handle thousands of monthly visitors using CloudFront

My main goal was to run the smallest instance AWS has (currently t3.nano) which costs around $3.75 per month. It turned out, MariaDB (and for that also MySQL) does not start up properly at the nano instance with just 512MB of RAM. Therefore, I had to go at minimum with the t3.micro instance.

To ensure that load spikes are being handled properly and the server will not go offline during these peak times, a content distribution network (CDN) comes in handy. The great thing about AWS is that they’ve thought of all these scenarios and of course they’ve got a CDN solution ready to deploy. It’s called CloudFront. The tricky part here is, to have CloudFront kick in at the right time, because it caches content to deliver it from its own edge locations across the globe, but at the same time WordPress generates websites dynamically. So CloudFront needs to be able to work in that environment. Setting up CloudFront properly was the part that cost most time, but it works great now.

CloudFront Network Map

I have now deployed CloudFront with multiple sites all running on the same t3.micro instance. One by one I activated for CloudFront distribution and over the past couple of days the traffic handled by CloudFront is going up continuously.

CloudFront Cache Statistics

To run massive load tests I used Apache JMeter for the first time. It’s a monster when it comes to load testing and it took me about an hour to get it running the first time. You can literally configure everything on there.

As it is when you’re setting up new things, you’ll have many “new things” you’re working with. In my case, it was the first time I used MariaDB, which is a fork from MySQL. It was also the first time I worked with php-fpm, which “is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites”.

So far I’m quite happy with the current set up. Let’s see how this performs over time. My sites are constantly under attack from bots who are trying to figure out passwords and gain access otherwise to those sites. Yet, every site and server can and will eventually go down under just enough Denial of Service attacks. At the current attack level we’re doing OK, but let’s see how long this lasts and what adjustments I’ll have to deploy.

Please follow and like us:

Migration – Bye Bye Hosteurope – Hello Amazon AWS

I recently moved this blog from one old server to a new one. This is my first blog post on this new server. Let’s hope nothing explodes.

For many years I have been a more or less happy customer of Hosteurope. It is a hosting company headquartered in Germany (with hosting sites in other European countries). Many years ago I chose to sign up with Hosteurope for one of their so called “VPS” aka Virtual Private Server. That’s basically a virtual server running on one of their larger server clusters.

About a year ago I realized that my annual bill for that Hosteurope server was about €156 per year. That’s not a huge amount, but as I’ve been involved in cloud-hosting for many of our projects, I knew there are many other options that offer a way better price / value ratio.

Being lazy as humans are, I didn’t want to migrate my server away. In fact, it would have been enough for me if Hosteurope would have lowered my service charge to the price of the currently available equivalent VPS they are selling. Over the years, hardware has gotten cheaper and so has hosting gotten cheaper. In short: Newer VPS products of Hosteurope now cost less and provide more power.

I simply love attractive cost/value ratios.

So last year I reached out to Hosteurope and asked them wether they can offer me my old VPS for the new price (~€4 less per month or so). It’s not that much of a difference, but for the principle of it: I just like to be treated fairly. They did not agree to that and simply said: “You have to stick to your old product, or you may also terminate your contract.” Last year I missed that deadline — again, that wasn’t really a priority for me — and therefore, the contract renewed for another year. This year, though, I remembered and terminated on time.

AWS has almost unlimited capabilities

For over 10 years our businesses are now customers at Amazon Web Services. We’ve been with them from almost their first service. So I’ve been working with AWS for a long long time. We even had an incident where we literally spent $4000 USD in minutes — accidentally. That can happen if you “overdo” extreme automation 🙂

However, when using AWS properly, it can be very useful and cost-efficient. Especially, when we’re talking about hosting my small blog kozen.de as well as some other sites I run on this server.

AWS has some great services I was able to use for this move. That includes their S3 Simple Storage, EC2 Elastic Cloud, CloudFront Content Delivery Network, CloudWatch Monitoring Service and many others well.

AWS’s own Amazon Linux 2 is also a great Linux distribution I’ve grown to like and I’m quite confident it keeps getting maintained for the next 10 years. The old Debian that was running on my Hosteurope server wasn’t being maintained by Hosteurope – especially as they had some funky customizations and source settings in there, which for the past years seem to not have gotten the love they deserved. Hence, I ended up with an outdated system.

I’m confident this will be better now. And besides, instead of paying €156 I’m expecting to pay at most €60 per year. That’s a fluffy 60% savings and I haven’t even factored in discounts at Reserved Instance costs.

Let’s see how this goes. For now, I’d be happy if nothing crashes in the next few days after this migration 😂

 

P.S.: Monitoring capabilities are also quite neat. I can monitor the performance at all times. Have a look:

Please follow and like us:

Earning Money by Blogging: +1,000% Ad Income

From time to time I get to hear some criticism about having ads on my blog here. I can understand the dislike of advertising and I myself do click ads away or try to close them where ever possible and most importantly if they’re annoying. Yet at the same time, I do also have ads on my blog.

Having ads on kozen.de is in part an experiment to see myself if I can somehow be able to finance the hosting costs for this blog through such ads. Sure, I’ll have to create content that is interesting to people to come here, have a read and get some value out of it. While I believe there is an audience out there that might find my content useful, I am also sure that there is a rather large audience that finds my content not useful at all. And that is entirely fine with me.

Today when I logged onto my Google AdSense account to check on this blog’s recent performance, I noticed this little notification at the top right and after opening it, it showed me that my ad income performance went up by 1,000% per cent. Granted, I have started from low levels. This blog had not been updated for several years before I took up blogging again.

I’m not even constantly blogging right now. As you might have noticed (or not noticed :)) there are some weeks when no blog post is being published. There are just some weeks when I don’t really have a topic to talk about or when I simply don’t feel like blogging. More often though, I am just not in the mood to blog. It is a great luxury to have that choice, though.

Perhaps some day, I will be able to simply cover server hosting fees just through advertising income on this blog. Hopefully, some of my content will be valuable enough to my readers to keep coming back from time to time and be timeless enough that it is not outdated in the second it was posted here.

There’s a long way to go and blogging helps to get through that process.

Please follow and like us:

Spam is getting more – Why?

While back I wrote about this anti-spam plugin I’m using on kozen.de. In recent weeks the number of spam comments that plugin is flagging every day has increased dramatically. Have a look:

Spam comments flagged by Antispam Bee

I find this quite interesting and am wondering why that number goes up? Is it because my blog gets more and more indexed by search engines and therefore more spambots are finding it? For sure, the number of visits per day on kozen.de has not increased significantly.

Perhaps there are a bunch of people who don’t like what I write and they’ve submitted this site to spam databases. Yes that kind a thing exists. Or is it perhaps that the WordPress version I have installed is by a 0.0.1 version below the latest WordPress version. Thus, spam bots are finding it as an attractive target to leave their spam comments?

By the way: Most spam comments are detected as “honeypots“. So just in case one of such comments gets through: Before clicking on a link, please double-check that link in your browser’s status bar (when hovering over the link with your mouse) to ensure it’s the right destination you want to go to.

 

Please follow and like us:

Machine Learning to Stream “DeepFake” Videos in Real-Time

Machine learning is one of the major goals of the more general term of artificial intelligence. Earlier this year I read about so called “DeepFake” videos on the popular German computer science news service Heise. While the entire topic in that article is a bit sleazy, I was intrigued by the possibilities of that technology.

Basically, the “DeepFake” technology uses existing machine learning / deep learning algorithms to create models that can manipulate data in a certain quite predictable way. If you input a headshot photo of a random person, that “model” can make that person look like a very specific person. That sounds very abstract.

An example:

If I take a photo of myself, the “Nicholas Cage” model can make me look like Nicholas Cage!

In the case of those DeepFake videos, an entire video scene was processed by a certain model and basically made the actor look like a very specific different actor. So as a result, you would get a video where the actor looks very different from the one who was shot in the original film.

Real-Time is Key

For quite some years we’ve been working with streaming video for our Sky Drone products, which come in many different flavors. As a result, we have a bit of experience on how to stream video real-time. Then we thought further on how that technology of “deep faking” could work with real-time video chat. As a result, we used all the technology knowledge at hand and created a small web service that allows you to video chat with yourself. Yet, you won’t see your face, but the one of a person you choose to be. This is how it looks like:

The small website is not fancy nor is it easy to use. It just works — if you use it the right way. If you’d like to try it yourself, you can follow the instructions we posted on Reddit.

TRY HERE: Reddit – Video Live-Stream DeepFake Testing

Here is a video of a user in India who gave it a try:

How it works

You can see yourself through the webcam of your computer. That video is being streamed to a cloud computing cluster we operate. On that cluster, the “AI model” for the selected person is being applied. The resulting video is then being streamed back to your computer and shown on the screen. As a result, your face looks quite different from your actual face.

You can try to smile for example, and the model will modify the smile to a smile that celebrity would do. This includes the kind of teeth that celebrity has, the mouth and lip shape, etc.

For example, this is how it looks like when we smile while being Nicolas Cage:

Of course, a photo of a computer screen is not that nice and it does especially not show how movement in the video shows you as a “different person”. Yet, it can at least give you an idea on how that might be. Feel free to give it a try yourself.

The Future

We have some ideas on how this can be used in future – for legitimate purposes, of course. As I don’t want to spoil your thoughts … What do you think this can be used for?

Please follow and like us:

Fighting SPAM on kozen.de

I recently re-launched this blog and for quite some years I have been having problems with spam. This blog is powered by WordPress — probably the most popular blog software out there. It is a popular target for spammers and other attachers who want to spread their “news”. Since the inception of this blog 13+ years ago, I’ve been receiving a lot of spam comments.

Spam Comments on kozen.de

To fight off that spam, I’ve installed a plug-in called “Spam Karma” many years ago. It was working quite well, but for some reason it has stopped working. That’s probably related to the fact that the developer stopped maintaining it quite some years ago.

WordPress has its own spam fighting plug-in, which ships with WordPress by default. However, that’s built on top of an online service that you need to subscribe to. To have any significant spam fighting result, that subscription costs money. I can understand why they’re charging for their service as it keeps its database up-to-date with all the typical spam phrases, keywords, methods, etc. that those really creative spammers come up with.  Yet, I believe there are a lot of other techniques that can be deployed before having to look at those real-time databases to catch the latest spam.

In fact, almost all spam I receive is always the same kind of stuff. There’s pharmaceutical products, health product, online products/services/websites, etc. To the naked eye comments relating such topics can be easily identified as spam. It’s not just the content, but also the way how these comments are composed, how their authors are called, what their backlink links to, etc.

So I ended up using a different anti-spam plug-in called “Antispam Bee” and as a form of saying “Thank you” to the author, I’m writing this blog post. I hope they are getting more people using their plug-in. It seems to work fine for me so far. The chart above shows the number of spam my antispam bee is collecting by day. It’s not that many at the moment, but if you add this up over the year, I would end up with thousands of spam comments, which I simply don’t have the time to process manually.

So again, a special thanks to the developers of Antispam Bee. Great job!

If someone of you is in the need of a spam fighting plug-in. Give the Antispam Bee a try. It works well for me.

Please follow and like us:

Storing Large Amounts of Video Data Efficiently, Redundantly and Quickly Accessible

I am writing this down because I read about 50 blog articles and how tos on the web regarding this topic. Yet, I couldn’t find any good advise that fit my video data storage issue.

Like I mentioned before, I am also involved in Slate Takes Limited – a boutique video production company based out of Hong Kong. Slate Takes is currently finishing up the last touches of a 42 webisode travel series for The Vagabond Project (more info and the official trailer at their Vagabond Blog), working with clients like Red Bull at events, assisting in shooting movies, and helping international brands to turn their vision onto moving pictures. As all of our work is done at least in Full HD, you can imagine that there is a lot of data that needs to be handled, stored and backed up.

In matter of cost efficiency, nothing beats magnetic drives — still. The difference is not as big as it was some years ago, but it is still there. However, such “tapes” don’t really perform that well. Working video projects is not just about saving the final video somewhere. It is all about storing the “raw data” that comes from the camera consistently and easily accessible. If you need one day to find a tape, copy data from that tape to your computer, and then find out that the tape was damaged towards the end of it, you are f***ed. Yes, tapes do definitely provide a longer durability than hard drives or CDs, but in order to achieve redundancy, you would need to have at least two copies of each tape. We don’t even want to think about the speed if you need to access data quickly and get things done.

I have always been a fan of hard drives and RAID systems in general (about 8 years ago I had a server with 1 TB storage at home — I thought I’d never get that filled up!). We have been using a 4-bay Synology NAS loaded with 4x 2TB hard drives for about a year now. Running in RAID 5 they provide some data protection in case one hard drive has an hardware defect. On top of that, the system comes with a 1 GB/s LAN connection which allows fairly quick access. In fact, it is possible to edit videos using Final Cut Pro 7 on Mac connected to the NAS via a GigaBit switch — of course not as fast as accessing the data on a local hard drive nor on a local SSD drive; but it works. If that’s not fast enough, the GB/s connection allows quick data transfer to your local machine.

Now, one year after its incarnation, we had to look into expanding our storage again. 8 TB were filled up (from which about 6 TB were usable due to RAID5) and data kept flying in. All options were on the table, but I decided to stick with Synology and only upgrade to a 12-bay NAS which can easily be extended by another 12 bays to store up to 72 TB. Synology’s “DiskStation” software is easy to use, yet quite feature rich and low in maintenance. Furthermore, the same partitions that had been created on the first 4 TB could be kept; making the transition easier. The new setup looks like this:

The great thing is: this unit even has 2x 1 GB/s LAN connections which allows more than one user to access files with maximum data transfer rates. Two additional 2 GB hard drives were installed to increase our storage by 50%. The transition to the new system was pretty straight forward if you follow Synology’s Migration How To. This setup allows us now to expand the NAS by up to 6 hard drives at any time without worrying about needing to expand it to fit more drives. Now the “expansion process” is running and from the progress it shows so far, it might run for a while.

In case you are looking for a similar setup, here a quick wrap-up of the costs:

We will see how long this setup will last. At least for now, it comforts me that there is gonna be at least a year or two until we have to think about an alternative storage system. For now, this should be sufficient and price-wise it was well, required.

Please follow and like us:

Building a Company Targeting Consumers versus Targeting Businesses – From an Online / Social Media Perspective

A couple of years ago when we started building mobile apps for BlackBerry® smartphones the majority of BlackBerry® users were business people. They used their devices because they got them from their employer. The biggest BlackBerry® app buyer group back then were businesses who wanted to improve their business processes and bring more functionality to mobile. Obviously, we could have gone the way of building applications and services for those companies. As we weren’t the best B2B sales people, we were in not in the best physical location (Kunming, PRC) to meet up with business decision makers and we couldn’t be bothered to nurture business relations and attend ‘networking events’; we chose the path of targeting consumers directly. In a sense, it’s more fun anyway.

By targeting consumers we have to focus on moving at a faster pace. We need to bring updates of products very frequently, we need to publish new products often and we have to hit the sweet spot of what people really want, and so on. On top of that we have to establish a proper relationship with our users. This includes multiple communication channels like email, direct instant messaging, Twitter, Facebook, etc. Since the launch of S4BB’s Facebook page back in October 2011, we could grow our fan base to over 120,000 fans in less than 6 months. Most recently, we are pushing this a bit more and are seeing tremendous interest. To our marketing interns: Great job so far!

Building a huge fan base is usually one of the main goals of consumer companies when it comes to social media like Facebook for example. Every marketer you might want to hire, keeps telling you: you need a huge base (newsletter subscribers, Twitter followers, Facebook fans, feed subscribers, etc.) and later on you just need to “activate” them to sell products and services to them. That does sound good in theory, but let’s be honest here – what’s happening in the real world? In fact most companies spent a lot of money on building up huge online / social media properties with Facebook pages and communities way bigger than our S4BB Apps. Yet, most of those brands utilize their social media presence in the traditional “one-way direct marketing” kind of sense by kicking out a discount voucher once a week and publishing news about their products. Hoping these initiatives pay off. Yes, we do that too and yes, everything can be tracked to ensure proper ROI. But the truly big thing is: social media actually allows us to have a direct bi-directional communication with our brand’s audience. “Social Media Gurus” can talk you to sleep about that topic. Yet, nobody has an answer on how to manage bi-directional conversations with hundreds of thousands of fans and followers who have different views about different topics, products; speak different languages, live in different time zones and countries, and could all talk at the same time — to you.

At S4BB Ltd. and Skylab Mobilesystems Ltd. we are building products for consumers in a large scale. We target global audiences in any country in the world with any mobile platform they prefer. At TreeCrunch Ltd. we are actually building a platform for companies which have huge online properties with many customers, followers, fans; simply users, I like to call them. TreeCrunch’s direct customer-engagement platform allows us to overcome these challenges in communicating with our audiences at S4BB and Skylab, but it also allows any brand like yours to do the same. Is your company up for that?

More to come. Stay tuned and subscribe to my RSS feed.

Related posts:

Please follow and like us:

Scaling a Web Server to Serve 165 Million Ad Requests per Day


I am usually not the kind of guy who likes to boast with numbers, but in this case I believe it helps to put things into perspective. For over seven years I am in the mobile app business targeting consumers directly. Over the years we have created thousands of products, most of them paid, some completely free and some with ads.

For years, I did not believe in monetization of apps through advertising. Even today, I am still very skeptical about that because you need to have A LOT of ad requests per day so that any significant income can be generated from that. At the moment, our few (around 10) mobile applications that sport ad banners, generate up to 165 million (165,000,000) ad requests per day. That makes up to 5.115 billion ad requests per month. If you compare that to a fairly large mobile advertising company like Adfonic with their “35 billion ad requests per month” (src: About Adfonic) we are doing quite alright for a small app company. We are using a mix of different ad networks depending on what performs best on which platform. Besides that we are breaking it down into country/region to use appropriate ad provider that is best for that region. Part of that also involves ad providers who do not support certain platforms natively. So built server-side components to handle such ad requests in a “proxy” kind of way that still allows us to get ads shown in apps on a certain platform that is not officially supported by the ad provider. Basically, we have a mini website that just shows an ad; and we can have hundreds of thousands of mobile devices accessing this website from all over the world at the same time.

Using cloud service providers like Amazon AWS, Rackspace, SoftLayer, Microsoft Azure, or others any can serve a virtually unlimited number of requests these day. It all depends on your credit card limit. There are obviously usage patterns of programs of applications and over the course of the day, we have ups and downs. For example, at midnight GMT most people all over the world like to use our applications and therefore they request more ads. Five hours later, we experience the lowest traffic. Depending on application store release schedules, promotions, featured listings, user notifications, external promotions like on blogs or elsewhere, unexpected sudden spikes in traffic can occur any time. “Automatic Scaling” in combination with “Load Balancing” seemed to be the magic solutions for this.

After months of running a bunch of server instances behind a load balancer we were quite happy with the performance. It was easy for us determine usage patterns and see how many servers we need to serve the average maximum number of requests without our service to fail. We didn’t think that much about cost-optimization because our cloud computing bills weren’t that high; so we didn’t really work on such auto scaling components. That had two main disadvantages: Firstly, we spent more that we needed to as we probably didn’t need half of the server that were running while we had low traffic. Secondly, we were not prepared for sudden massive spikes in traffic. With TreeCrunch on the other hand, we are building a scalable system from the ground up.

So early this week I took three hours and looked into how to implement such auto-scaling. Actually, it took me two hours to install the tools properly. However, as you can see in the above charts, the current systems works in a way that if we hit a maximum amount of average traffic per server, a new server is being created and added to our load balancer — it then immediately starts serving ads. If the average traffic falls below a certain threshold, a server is being terminated and therefore stops serving ads. To minimize server load, we run really tiny PHP scripts that are extremely optimized just for the purpose of requesting an ad the desired ad company and delivering such ad to the client (mobile app). As web server we are currently using lighttpd which is very lightweight indeed. Interestingly, we noticed that there is not really a problem with “normal” system resources to handle a lot of requests. Our CPU usage is fairly acceptable (constantly around 50%), we don’t need any hard drive space as we are just proxy’ing requests and we don’t even run out of memory. The first limitation one of our ad servers hits, is the maximum number of used sockets which is by default around 32,000 (or something like that) on Debian-based linux. That’s more or less an artificial limitation by the operating, but we didn’t play with adjusting that one yet.

Summary: In a fairly short period of time, we managed to set up a proper auto scaling policy that allows to scale up to virtually unlimited numbers of ad requests. With fairly low budgets companies nowadays can setup proper data centers, serve millions of users and maintain their infrastructure with a few very talented people and without purchasing any hardware that would be obsolete a year or two later.

I love the time I am living in. Every single day something new and exciting pops up.

Please follow and like us:

Traveling the Silicon-Valley-Style Tech Startup Road

Though, I don’t find much time to write articles these days, I believe I should write down my experiences as long as I still remember them properly. My fellow regular readers might have noticed a slight change in logos on the right sidebar which now sports the TreeCrunch logo; a company I co-founded a couple of months ago. In a nutshell, TreeCrunch is a social, viral, open-ended customer engagement platform with an incredible potential to influence companies and society.

From the beginning, we wanted to form a company that accomplishes four major goals:

  1. Build a successful tech company with global reach based out of Hong Kong.
  2. Help companies understand their social media audience and improve their business.
  3. Create a workplace where coders are kings and everyone loves to come to work.
  4. Expand as quickly as possible by raising funds internally and externally.

Building a tech company in Hong Kong is not easy. Yes, infrastructure is incredibly good — super fast non-firewalled Internet connection (that’s actually all a hacker needs), according to OECD most economic freedom, considerably low tax rates, access to all kinds of conveniences in life, a very good life style and any kind of beer your can imagine (important for us Germans) over one hundred “AAA” rated beaches. Yet, there are disadvantages and obstacles to overcome: recruiting of the best programmers available (remember, we are in competition with banks, hedge funds and property companies that are loaded with cash), high cost of lodging, cultural differences (to most uni grads is not as “cool” to work at a startup as it is silicon valley for example).

Helping companies understanding their social media audience is not the big problem. Our technology is superior, our prototypes are working, our first clients have committed to enjoy our services and work with us; growing with us.

Creating a great workplace for hackers is also the easier part for us. Over the past years we have been gathering a lot of information about how to make a programmer’s life fulfilling and fun. It can be quite boring when you are cramped in a 2 sqm area behind a tiny desk right next to the guy who showers once a week. Let’s start with small things like free soft drinks and snacks, free Friday lunches, air hockey tables, going over to purposely not enforcing too harsh deadlines (taking off pressure) and ending up in private rooms for each developer with two 23 inch (or bigger) monitors and the fastest desktop computers money buy. It is a very “not typical HK style” workplace and it is obviously not the right place for everyone. We believe the ones who like to work without too much supervision, but a lot of responsibility and creative ownership – those will change the world and they will change other people’s worlds.

Expanding as quickly as we can is not easy either. With S4BB, Skylab and Slate Takes (the other logos on the right) we have always pursued the way of self-sustaining growth without external funding. So for years now, our strategy has been exclusively: get profitable first; then spend money. That came with a lot advantages like not being in debt, having complete control over the direction the company and its products need to go. For example, a couple of years back we decided not to do any contractual mobile development work with S4BB and Skylab which obviously had a negative effect on cashflow in the short term. We decided to spend our time (==money) to build our own products that became assets of our business and have helped us a lot over the long term to create sustainable constant income to fund the creation of an awesome hacker workplace. On top of that, I don’t like to bring someone else’s dream to life.

With TreeCrunch on the other hand, we are going down the typical “Silicon-Valley-Style Tech Startup Road” with a slight twist. We are three co-founders that invested their own money, have a unique vision, developed superior technology, come with over 30 years of combined industry experience and (most importantly) we have run companies before; without going bankrupt. Even though we had enough ‘internal’ funding that we wouldn’t need to raise more, we are still doing it. Everyone knows this, but sometimes it has to be spoken out loud: “You got to raise money when you don’t need it.” That is one of the reasons why we are about to close our first pre-seed funding round raising our cash reserves by about 50%. Furthermore, TreeCrunch just got awarded the Cyberport Creative Micro Fund which comes with a grant of HK$100k.

With TreeCrunch we joined several programs so far, these are two:

Fund raising in Hong Kong is an interesting challenge. There are plenty of semi-governmental funds (like CCMF), fully covered government schemes as well as private companies (like Microsoft) with their programs. These are great opportunities which we will look and enter into when it makes sense. There are also a lot of wealthy people and families around who made a fortune with properties, stocks and other businesses. The usual way of investing their wealth is not related with startups – and the sub-group of tech-related startups is even further away from that.

For example, you won’t believe how incredibly hard it seems to be to set up a simple thing like a “shareholder’s agreement”. In the U.S. there are templates for this, you can go to almost any lawyer in the bay area and you will get a template for a couple of bucks or shares. For those who don’t know: Hong Kong’s economy is built on two major pillars: the property and the stock market. Other major factors of Hong Kong’s economy include the financial industry, import/export and tourism/retail. Then, for quite a while there is not much coming along the list of important industries and at the further end of it some creative industries like movie production, media or IT are popping up. Hong Kong is an incredible place for business and life – yet it surprises me again and again that there are not that many companies actually creating assets like intellectual property for example. We want to create a successful tech company with global reach and along the way help transforming Hong Kong into a more diversified economy and create long-term highly qualified jobs.

We know that our biggest assets are our co-workers and we hire only the best we can find. This is where we put our money and it will help us fulfill our dreams and help our customers to solve their problems.

More information about TreeCrunch Limited: www.treecrunch.com

Please follow and like us: