[ Developer · Freelancer · Web stack notes ]

About me

Freelance developer An Giang, Vietnam Online since 2010
Vultr VPS · WordPress · Astro · Affiliate publisher

My name is Đoàn Công Tuấn. Online, I go by Steven Doan. I'm a freelance web developer based in An Giang, Vietnam. I've been building websites for a living since around 2010 — not as a hobbyist, but as someone who needed the work to pay. Some projects worked. Some looked good on paper and made almost nothing. I learned from both.

I am not a content marketer who discovered WordPress last year. I'm a developer who has actually built things with these tools: affiliate sites, WooCommerce stores, client business sites, VPS setups, static site experiments, and a few messy projects that taught me more than the successful ones.

The journey, honestly

I started in web around 2010–2012, working at a small web design company in Vietnam. Client work. PHP. Sometimes Joomla. Nothing glamorous — mostly introduction pages for local businesses and organizations. That was where I learned that real clients have real opinions about button colors, and deadlines are not suggestions.

Around 2013, I discovered affiliate marketing and WordPress. Coupon sites, authority blogs, niche content sites. It worked well enough that I kept doing it through 2017. I survived several Google algorithm updates during that stretch — some of them cleanly, some of them not. That period taught me that internet income is real, but it is not stable.

After that, I spent a few years in the Print-on-Demand (POD) wave that was big in Vietnam around 2014–2019. That was the most financially successful thing I've done online. I still kept building WordPress sites alongside it: small client projects, private affiliate projects, and WooCommerce experiments that were sometimes useful and sometimes heavier than they needed to be.

Over the years I've used a lot of WordPress tools in real production: ReHub with Content Egg for affiliate product sites, WoodMart for WooCommerce client stores, WP Rocket for caching (it works, but it does not replace good hosting), Rank Math Pro for SEO, ACF Pro for custom fields, Elementor for client layouts, Simply Static for static exports, and Typesense for custom search on a site with thousands of product pages.

The project where I learned the most was docgia.vn — a content site I built using ReHub, Content Egg, and AI-generated structured content, then exported statically with Simply Static and paired with Typesense for search.

It was not financially successful. That part matters. I spent a lot of time trying to make the system cleaner, faster, and more scalable, but the business result did not match the technical effort. Still, that project taught me Nginx configuration, static site generation, Jamstack concepts, JavaScript fundamentals, and how to use AI as a technical teacher rather than just a content generator.

I keep it live today partly because it is useful, but also because it reminds me that building something technically interesting is not the same as building something that earns.

That's how I found Astro. I wasn't looking for the next framework to master. I just wanted one YAML file to show up on one dynamic [slug].astro page without a database. Astro did that cleanly. I kept going from there.

I currently run most of my main projects on a Vultr VPS (~$20/month), with a stack of Rocky Linux, Nginx, PHP-FPM, MariaDB, Redis for FastCGI cache, Let's Encrypt, and a custom deploy script. I manage it myself. With shared hosting, you ask support to change things. With a VPS, you become the support. It is more work. It is also more honest about what's actually running.

Nothing teaches you Nginx config faster than a 502 error at 11pm with a site down. I have learned a lot of Nginx config that way.

What this site is about

doancongtuan.com exists because I kept having the same conversations with people who were stuck between options: WordPress or something else, shared hosting or VPS, add another plugin or rethink the approach. A lot of advice online sounds confident because it is trying to sell one answer. Real projects are usually more annoying than that.

I mostly write from one question I ask myself before choosing a tool: would I actually use this on a real project, with real constraints?

  • Use WordPress when the dashboard matters — when clients need to edit, when WooCommerce is central, or when the plugin ecosystem solves the problem faster than custom code.
  • Use Astro when the structure matters — when you control the content, performance is a priority, and a database feels like more liability than asset.
  • Use a VPS when shared hosting stops being enough. Not sooner. Shared hosting is fine until it becomes the thing slowing you down.

What I actually use

For transparency, here is what is actually running in my current projects.

  • Hosting: Vultr VPS — this is what I personally run
  • Server stack: Rocky Linux, Nginx, PHP-FPM, MariaDB, Redis, Let's Encrypt
  • WordPress caching: WP Rocket (paid), FastCGI cache via Nginx
  • SEO: Rank Math Pro
  • Custom fields: ACF Pro
  • Affiliate content: ReHub + Content Egg for WordPress-based affiliate sites
  • Static site framework: Astro 5 with Content Collections, MDX, YAML, and Tailwind CSS
  • Search: Typesense on the docgia.vn project
  • AI tools: Claude Code for Astro development, ChatGPT for research and content strategy, and custom GPTs for structured content workflows
  • Deploy: Custom shell scripts over SSH

WordPress is free to install, but not always cheap to run well. Themes, plugins, caching, security, optimization, backups, and maintenance all cost money or time. I try to be honest about that in every review.

My bias

I should also be clear about my bias.

I like tools that are practical, controllable, and not too fragile. I tend to prefer boring systems that I can understand over beautiful systems that only work when everything goes perfectly. That is why I still respect WordPress, even when it feels heavy. It is also why I like Astro for certain projects, even though it asks more from the person building the site.

I am suspicious of tools that promise to fix strategy problems with one click. Most website problems I have seen were not caused by the lack of one magic plugin. They came from unclear content structure, weak hosting, too many moving parts, or choosing a stack before understanding the real job.

What I do not pretend to know

I have not done deep production work with Kinsta, Cloudways, Webflow, or GeneratePress. I can evaluate them through research, documentation, demos, pricing pages, and community reports — and I will label that clearly when I do. But I will not write "in my experience" when the experience is not there.

I am not an Astro expert. I am a developer who is using Astro in real projects and still learning by building. That is a meaningful distinction.

I use AI heavily — for coding, content structure, research support, and build workflows. But I do not believe AI can decide what I should build. AI can write a lot of code for me now. It still cannot tell me whether I actually need a static site or a CMS, or whether my client will update their own content or just call me every week anyway. Those judgments still require real context.

How I review tools

Every review and comparison on this site includes an experience level note. Hands-on means I've used it in production. Research-based means I've evaluated it through documentation, demos, pricing pages, and community sources — and I will say so explicitly.

I do not write "this tool will fix your site" because I do not believe that is true for any tool in isolation. Context matters: your hosting, your content volume, your editing workflow, your budget, and your tolerance for maintenance. I try to give you that context, not just a verdict.

I have affiliate relationships with some of the products I cover. That means if you click a link and buy something, I may earn a commission at no extra cost to you. Affiliate commission does not change my recommendation. If something is not worth it for your use case, I will say so even if I have an affiliate link for it.

Automation helps me publish faster. It does not make a recommendation honest. I still have to do that part myself.

Who this site is for

This site is for developers, freelancers, and solo builders who are making real decisions. Not total beginners who want to be told what to do without explanation. Not agencies with dedicated DevOps teams. Somewhere in between: people who are capable of running their own stack but want honest input before committing to one.

If you're still on shared hosting and thinking about VPS — this site is for you.
If you're managing five WordPress sites and it's starting to feel heavy — this site is for you.
If you're considering Astro for your next project and want a realistic take — this site is for you.

The rule behind this site

I only recommend tools I would genuinely use, have used, or can honestly evaluate from research. I label what is hands-on and what is research-based. I give WordPress its fair case in every comparison because it is a mature platform that solves specific problems extremely well. I also surface the real limitations of Astro when they matter, because there are real limitations.

Without that rule, an affiliate site becomes just another list of links.

Contact

You can reach me at contact@doancongtuan.com.

Disclosure: Some links on this site are affiliate links. If you purchase through them, I may earn a commission at no extra cost to you. This does not influence which tools I recommend or how I review them.