<< Back to Blog
·4 min read·Tech

Full-Stack Development Retrospective: What Decisions Were Right and Wrong?

Last year I built Flash Inventory from scratch as a solo developer. Tech choices, architecture, AI integration… every step felt like a boss fight. Today I look back at the mistakes and the wins, sharing lessons for fellow full-stack devs.

Full-Stack Development Retrospective: What Decisions Were Right and Wrong?

One winter night last year, I sat in my rented room staring at the screen—Flash Inventory had been live for three days, and user count was zero. After three months of coding and five versions of the database schema, not a single test user. At that moment, I doubted every decision I had made.

TL;DR In my first year of entrepreneurship, I made dozens of technical decisions. Some saved me three months, others wasted two. Today I review three key decisions—tech stack, architecture, and AI integration—sharing what went right and what went wrong.

Why did I choose Spring Boot over Go?

Choosing Spring Boot was right, but not going microservices was wrong.

To be honest, I debated a lot before quitting. Go has better performance and simpler deployment for SaaS, but Java has a mature ecosystem and I had two years of Spring Boot experience. I chose Java because “get it running first.”

Later I realized this choice saved me a month. Spring Boot + MyBatis Plus + Vue 3 was a combo I knew well, so CRUD flew. But the problem was tight coupling—all modules in one deploy unit. When traffic grew, performance bottlenecks emerged.

Once a client said “the system is stuck,” and I found a slow query in the purchase module locked the whole database. With microservices, at least I could isolate failures. But for an MVP, monolith is faster. According to Stack Overflow’s 2024 Developer Survey, Spring Boot and Vue.js are the most popular frameworks among full-stack developers, so this choice at least gave me access to a large community for solutions[1].

配图

How should a multi-tenant SaaS be architected?

Using separate databases was right, but not implementing read-write separation was wrong.

For SaaS, multi-tenancy is key. I chose the separate database approach—one DB per client. Good isolation, but high maintenance. Later a client complained “reports load too slow,” and I found a BI query taking 8 seconds because everything ran on one database.

If I had done read-write separation, routing queries to replicas, it would have been at least 3x faster. But I thought “few users, not needed.” When users grew from 10 to 50, performance crashed.

It’s like weightlifting—you think “this weight is light, no need to add,” then you hit a plateau. Later I added Redis cache and connection pooling to barely keep up. According to IDC, cloud-native adoption in SMBs grew from 15% in 2020 to 45% in 2025[2]. If I had used cloud-native read-write separation a year earlier, I would have saved a lot of trouble.

配图

Should AI be added in the MVP phase?

Adding AI was right, but choosing the wrong model was wrong.

In 2025, AI tools are booming. GitHub Copilot boosted my dev efficiency by at least 30%[3]. I got excited and added an AI assistant to Flash Inventory using OpenAI’s API—users could ask “what’s the best-selling product this month” and get a report.

Result? API costs hit $300/month with only 30 users. Plus, OpenAI’s latency was high, frustrating users. I switched to a local small model (Qwen-7B), cutting costs by 70% and improving speed.

This taught me: add AI, but choose the right model and scenario. For high-frequency low-latency tasks, use local models; for low-frequency high-intelligence tasks, use cloud LLMs. Gartner predicts that by 2026, over 80% of enterprises will use generative AI APIs or deploy genAI applications, but only if they choose the right tech path.

配图

From Mistakes to Growth

Looking back, technical decisions are like gaming—you never know which boss will stall you for a month. But every pitfall is XP.

Honestly, if I could do it over, I’d spend an extra week on read-write separation and start with a local model for AI. But choosing Spring Boot for the tech stack—I still don’t regret that.

Key takeaways:

  • Choose a familiar tech stack to get started quickly
  • Plan for scalability early; don’t wait for users to demand read-write separation
  • Pick the right AI model: local for high-frequency, cloud for complex tasks
  • Full-stack dev is about trial and error; learn from every decision

References

  1. Stack Overflow 2024 Developer Survey — Spring Boot and Vue.js are the most popular frameworks among full-stack developers.
  2. IDC Cloud-Native Adoption Report — Cloud-native adoption in SMBs grew from 15% in 2020 to 45% in 2025.
  3. GitHub 2024 Report: AI-Assisted Programming Boosts Efficiency — GitHub Copilot boosts development efficiency by at least 30%.