Mobile Development 9 min read

What I Learned Building a Startup App with uni‑app and egg.js: Avoid These Pitfalls

A former developer recounts joining a tiny startup, choosing uni‑app, egg.js, and antd‑vue to quickly build Android and iOS apps, navigating constant product changes, team hiring challenges, and later technical adjustments, and shares practical advice to avoid common pitfalls in early‑stage ventures.

Java Backend Technology
Java Backend Technology
Java Backend Technology
What I Learned Building a Startup App with uni‑app and egg.js: Avoid These Pitfalls

Background

In June 2022 I joined a tiny startup whose founder lacked technical and management experience, leading to rapid but unsustainable development of an Android+iOS app and eventual dissolution.

Initial Technology Choices

With only a fresh front‑end developer and a UI designer, we selected a stack based on our Node.js and front‑end experience:

Use

uni-app

for cross‑platform app development, keeping future mini‑program support in mind.

Use

egg.js

+

MySQL

for the backend, with a later migration path to

midway.js

.

Use

antd-vue

for the admin console to share the same UI stack as

uni-app

.

Why choose uni‑app for the app?

Pure native iOS/Android would require hiring separate teams and higher cost.

Flutter would still need learning or hiring, not optimal.

React‑native/Taro are similar to uni‑app, but uni‑app matched our skill set and development speed best.

Why choose egg.js for the backend?

Although mature Java, PHP, or Go solutions exist, they were too expensive for the founder.

egg.js

was simple, fast, familiar to the team, and had low learning curve.

Java/Go would be better technically but not economical.

egg.js

development is quick, and JS‑savvy developers can pick it up easily.

Mid‑stage Turbulence

Development finished on schedule, but the product stalled. The founder repeatedly brought in unrelated experts, changed UI designs, and even considered hiring native and Java developers without clear justification. New requirements kept emerging, causing constant re‑work.

Later Technical Adjustments

Adjusted the app packaging process.

Introduced

midway.js

for new services while keeping the team’s

egg.js

expertise.

Managed shared npm packages and a component library internally.

Standardised code and development processes.

Hiring and Team Management

Recruitment

Small startups struggle to attract talent with limited salaries, but a unified JS‑centric stack reduces the need for specialised roles.

Team Practices

Focus on business‑driven goals.

Adopt full‑stack development to avoid resource waste.

Define coding standards based on common habits.

Follow a clear workflow: product evaluation → task allocation → technical assessment → development → testing → code review → release → incident handling.

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

Encourage knowledge sharing and timely feedback.

Final Takeaways

Startup survival tips

Ensure the founder is reliable and decisive.

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

Prioritise revenue; without cash flow a startup cannot survive.

Focus on solving core business problems before polishing tech choices.

Maintain transparent communication about progress.

Extract learning from every experience.

Image
Image
mobile developmentBackend Developmentteam managementstartuptech stack
Java Backend Technology
Written by

Java Backend Technology

Focus on Java-related technologies: SSM, Spring ecosystem, microservices, MySQL, MyCat, clustering, distributed systems, middleware, Linux, networking, multithreading. Occasionally cover DevOps tools like Jenkins, Nexus, Docker, and ELK. Also share technical insights from time to time, committed to Java full-stack development!

0 followers
Reader feedback

How this landed with the community

login 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.