What Real‑World Startup Lessons Reveal About Choosing a Backend Stack

This article shares a developer’s firsthand experience in a small startup, detailing why the team chose uni‑app, egg.js, MySQL, and antd‑vue for rapid 0‑to‑1 development, the challenges faced during product pivots, and practical advice on hiring, team management, and avoiding common pitfalls.

macrozheng
macrozheng
macrozheng
What Real‑World Startup Lessons Reveal About Choosing a Backend Stack

Background

In June 2022 I joined a very small startup whose founder lacked technical and managerial expertise, relying on enthusiasm and industry knowledge to launch a venture that eventually failed, leaving developers unpaid for the final months.

The founder demanded rapid cost reduction and fast delivery of an Android + iOS app to start operations.

Initial Technology Selection

The initial team consisted of a fresh front‑end developer and a UI designer, with no dedicated QA or dev‑ops.

Based on the company’s needs and my experience with front‑end and Node.js, we chose the following stack:

Use uni-app to develop the app, ensuring multi‑platform compatibility and future mini‑program support.

Use egg.js + MySQL for the backend, offering quick development and sufficient performance for a niche domain, with a later migration path to midway.js.

Use antd-vue for the admin panel to keep the technology stack consistent with uni-app and reduce conversion costs.

Thus the early stack was egg.js + MySQL + uni-app + antd-vue, enabling rapid 0‑to‑1 delivery of two apps and an admin backend.

Choosing the App Development Approach

We evaluated several options:

Native iOS/Android development required hiring separate developers and incurred high time and cost, which the founder could not accept.

Flutter required learning from scratch or hiring, offering only a modest advantage over native.

React‑Native/Taro and uni‑app were similar; considering familiarity, difficulty, and efficiency, we selected uni‑app.

Why We Chose egg.js for the Backend

Although mature backend solutions like Java, PHP, or Go would be technically superior, they were not economically viable for the founder.

Using established frameworks such as Java would be costly. egg.js is simple, fast, and familiar to the team, lowering the learning curve for new members with JavaScript experience.

Mid‑Project Turbulence

Development proceeded smoothly at first, meeting deadlines for development, testing, and launch. However, the founder’s expectations for rapid operation and profit were unrealistic, leading to constant product, UI, and code changes driven by unrelated experts.

Frequent redesigns and rewrites were demanded.

New product requirements forced a complete overhaul of existing designs.

Part‑time leadership insisted on hiring native and Java developers without clear justification.

Despite these disruptions, the core technical solution remained unchanged, and additional features such as system upgrades, UI updates, mini‑program versions, instant messaging, and other small enhancements were added.

Later Technical Adjustments

Adjusted the app packaging strategy.

Introduced midway.js for new business modules, building on the team’s existing egg.js expertise.

Managed internal npm packages and built a component library.

Standardized code and development processes.

Recruitment and Team Management

Recruitment

Hiring for a small company with limited budget is challenging, but the chosen stack allowed developers with solid JavaScript skills to handle both front‑end and back‑end tasks, reducing resource waste.

Team Management

Key practices for small teams:

Be pragmatic and business‑oriented.

Adopt full‑stack development to avoid coordination issues.

Establish coding standards aligned with developers’ habits.

Follow a clear workflow: product evaluation → task allocation → technical assessment → development → testing → code review → deployment → issue tracking.

Measure performance through task deadlines, documentation, bug counts, and careful database changes.

Encourage knowledge sharing and continuous learning.

Maintain open communication about progress and challenges.

Final Takeaways

Startup Pitfall Avoidance Advice

Ensure the founder is reliable and decisive; otherwise, the venture is unlikely to succeed.

A trustworthy founder can still create future opportunities even if a project fails.

Focus on generating revenue; without it, survival is doubtful.

Prioritize core business problems over technical choices like frameworks or code style.

Provide timely progress updates and maintain good communication with leadership.

Extract learning from every experience; each step adds value.

Author: qiuwww Source: juejin.cn/post/7257085326471512119
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Backendteam managementstartupuni-appegg.jstech stack
macrozheng
Written by

macrozheng

Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.