What We Learned from Choosing a Startup Tech Stack: uni‑app, egg.js, and Team Management

This article recounts a 2022 startup experience, detailing why uni‑app, egg.js, MySQL, and antd‑vue were chosen for rapid Android/iOS app development, the challenges faced during product pivots, later technical adjustments, hiring hurdles, team management practices, and key lessons to avoid common pitfalls.

ITPUB
ITPUB
ITPUB
What We Learned from Choosing a Startup Tech Stack: uni‑app, egg.js, and Team Management

Background

In June 2022 I joined a tiny startup whose founder lacked technical and management expertise, leading to rapid but unsustainable growth and eventual dissolution. The boss demanded low‑cost, fast delivery of an Android + iOS app and quick operation launch.

Initial Technology Selection

The initial team consisted of a fresh front‑end developer and a UI designer, with no dedicated QA or product staff. Based on my front‑end and Node.js background we selected:

Use uni-app for cross‑platform mobile app development, enabling fast 0‑to‑1 delivery and future mini‑program support.

Use egg.js + MySQL for the backend, offering rapid development and sufficient performance for a niche market, with a planned migration path to midway.js.

Use antd-vue for the admin panel to keep the front‑end stack consistent with uni-app and reduce conversion overhead.

These four components (egg.js, MySQL, uni-app, antd-vue) allowed us to build two apps and an admin backend quickly.

Why uni‑app for the app

We compared native iOS/Android, Flutter, and React‑Native/Taro. Native required separate teams and higher cost, Flutter demanded learning from scratch, while uni‑app leveraged existing JavaScript skills and delivered the fastest development speed.

Why egg.js for the backend

Although Java, PHP, or Go would be technically stronger, they were too expensive for the founder. egg.js was simple, familiar to the team, and lowered the learning curve, meeting all functional requirements.

Mid‑project Turbulence

Development proceeded on schedule, but the product never gained traction. The boss repeatedly invited unrelated experts, demanded UI changes, and overrode existing designs, causing constant interruptions.

Business and UI change requests from external “experts”.

New product lead forced a complete redesign.

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

Despite these disruptions, the original technical stack remained unchanged, and additional features such as system 1.1, UI 2.0, mini‑program versions, instant messaging, and various small upgrades were added.

Later Technical Adjustments

Adjusted the app packaging process.

Introduced midway.js for new services while leveraging the existing egg.js expertise.

Created internal npm packages and a component library for shared business logic.

Standardized code style and development workflow.

Hiring and Team Management

Recruitment

Hiring for a small startup is difficult, especially with limited salary budgets. Our stack allowed developers with solid JavaScript skills to work on both front‑end and back‑end, reducing resource waste.

Team Management Practices

Adopt a realistic, business‑driven approach for early‑stage companies.

Prefer full‑stack development to avoid coordination bottlenecks.

Define coding conventions based on the team’s existing habits.

Follow a clear development process: product evaluation → task assignment → technical assessment → development → testing → code review → deployment → post‑release monitoring.

Measure performance by deadline adherence, documentation quality, bug count, and careful database changes.

Encourage knowledge sharing and continuous learning.

Maintain timely communication about progress, challenges, and ideas.

Final Takeaways and Pitfalls to Avoid

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

A trustworthy founder can still create value even if a specific project fails.

Generating revenue is essential; without it, survival is doubtful.

Prioritize solving the core business problem; technology choices can be deferred.

Provide regular progress updates to the boss and keep open communication.

Extract learning from every experience; each step has value.

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.

team managementstartupuni-appegg.jsmidway.js
ITPUB
Written by

ITPUB

Official ITPUB account sharing technical insights, community news, and exciting events.

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.