Mobile Development 9 min read

Lessons from a Startup: Choosing Mobile and Backend Technologies, Team Management, and Pitfalls

The article recounts a developer’s experience in a small startup, detailing the rationale behind selecting uni‑app for cross‑platform mobile development, egg.js and MySQL for the backend, the challenges of rapid product iteration, team hiring, management practices, and practical advice to avoid common pitfalls.

Java Architect Essentials
Java Architect Essentials
Java Architect Essentials
Lessons from a Startup: Choosing Mobile and Backend Technologies, Team Management, and Pitfalls

Background

In June 2022 the author joined a very small startup whose founder lacked technical and management expertise, leading to rapid but unsustainable development of an Android + iOS app and eventual dissolution without even paying the final months' salaries.

Initial Technology Selection

The team consisted of the author, a fresh front‑end graduate, and a UI designer, with no dedicated QA or testing staff. Based on the company’s needs and the author’s experience with front‑end and Node.js, the following stack was chosen:

Use uni-app to develop the cross‑platform App , enabling future mini‑program extensions and fast delivery.

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

Use antd-vue for the admin console, aligning with the uni-app stack to reduce conversion costs.

Thus the initial stack comprised egg.js , MySQL , uni-app , and antd-vue to rapidly build two apps and an admin backend.

Choosing the Mobile Development Approach

Various options were considered: native iOS/Android (too costly), Flutter (learning curve), and React‑Native/Taro versus uni‑app. Given familiarity, development speed, and cost, uni‑app was selected.

Why egg.js for the Backend

Although mature backend frameworks like Java, PHP, or Go would be technically superior, they were financially prohibitive. egg.js met all functional requirements, was easy to learn for JavaScript developers, and allowed rapid onboarding of new members.

Mid‑Project Turbulence

Initial development proceeded smoothly, but the founder’s unrealistic expectations and constant changes caused repeated redesigns, unnecessary feature requests, and staffing instability, leading to a chaotic development environment despite the unchanged technical stack.

Later Technical Adjustments

Adjusted the app packaging strategy.

Introduced midway.js for new business modules, leveraging the existing egg.js expertise.

Created internal npm packages and a component library.

Standardized code conventions and development processes.

Recruitment and Team Management

Recruitment

Hiring for a small startup is difficult, especially with limited salaries. The chosen stack allowed developers proficient in JavaScript to handle both front‑end and back‑end tasks, reducing resource waste.

Team Management

Key practices include:

Adopt a business‑driven, realistic approach.

Prefer full‑stack development to avoid coordination bottlenecks.

Establish coding standards aligned with developers’ habits.

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

Implement measurable performance metrics such as deadline adherence, documentation quality, bug count, and careful database modifications.

Encourage knowledge sharing, timely communication, and continuous feedback.

Final Summary and Startup Pitfall Advice

Ensure the founder is reliable and decisive; otherwise, success is unlikely.

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

Prioritize revenue generation; without cash flow, survival is doubtful.

Focus on core business problems first; technology choices and code standards can be refined later.

Maintain transparent communication with leadership to align expectations.

Extract learning from every experience; each step adds value.

These reflections aim to help future developers navigate the challenges of early‑stage startups.

backendmobile developmentteam managementstartupuni-appEgg.jsTech Stack
Java Architect Essentials
Written by

Java Architect Essentials

Committed to sharing quality articles and tutorials to help Java programmers progress from junior to mid-level to senior architect. We curate high-quality learning resources, interview questions, videos, and projects from across the internet to help you systematically improve your Java architecture skills. Follow and reply '1024' to get Java programming resources. Learn together, grow together.

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.