arrow_back Back to Blog
person Dmitrii Bolotov

Why I'm Using Angular (And You Should Too If You're Tired Of Hype)

#angular #frontend #solo-founder #productivity #web-development
translate
Available in:

I didn’t pick Angular because it’s cool. I picked it because I’m tired: tired of chasing hype, tired of refactoring my frontend every 18 months, tired of 17 different opinions on how to do the same thing.

“The best framework is the one you forget you’re using.”

Three months ago I had a working backend, a product vision, and a blank create-react-app template. Everyone told me to use React, Vue, Svelte, Next.js. Only 1 team I surveyed was building what I needed.

I didn’t build my own framework. I used Angular. And it’s the most boring, correct technical decision I’ve made on this project.


The Decision Rubric For Solo Founders

I wasn’t optimizing for developer experience, GitHub stars, or DOM speed. I was optimizing for four things:

  1. I am one person. No 100 tiny decisions every day.
  2. It must work exactly the same in 3 years. No rewrites. No ecosystem collapse.
  3. AI coding agents must write correct code on the first try.
  4. Exactly one obvious way to do everything.

💡 Insight 1: Most framework comparisons measure the wrong metrics. For solo founders, decision velocity and stability matter 10x more than raw performance or GitHub stars.


Why Every Other Framework Failed Me

React: Perfect For Teams, Terrible For One

React is perfect for teams with 10 frontend engineers who need flexibility. But for one person? Every time I open a React codebase in 2026, I have to answer 12 questions before writing a single line: client or server components? TanStack Query or SWR? Zod or Yup? Zustand or Jotai? App Router or Pages Router?

Every choice has 1000 hot takes, and every one will be obsolete in 18 months. I don’t have time for this. I want to build my product.

Vue: Fine Until It Isn’t

Vue is fine. The documentation is good. But it has the same problem: 17 different ways to do everything (Options API, Composition API, <script setup>, Pinia, Vuex). Worse, the ecosystem is tiny—most libraries are abandonware or barely maintained. And version upgrades still break things.

Svelte / SvelteKit: Great Until You Hit The Wall

I wanted to like Svelte. It’s fast, clever, clean. But every time I build something non-trivial, I hit a wall: a missing feature, an unfixed bug, or everyone saying “just wait for Svelte 6”. I don’t want to wait. I want to build now.

💡 Insight 2: Framework hype cycles are designed for content creators, not builders. The most productive tools are usually the ones no one is tweeting about.


Why Angular Actually Works For Solo Developers

Everyone makes fun of Angular. It’s enterprise. It’s boring. It’s Google. That’s exactly why I picked it.

“Angular doesn’t solve your hardest problems. It prevents them from existing in the first place.”

The biggest win is the absence of decisions:

  • Forms: No npm install, no third-party libraries. Signal Forms are built in, type-safe, and fully reactive.
    productModel = signal({
      name: '',
      price: 0,
      description: ''
    });
    
    productForm = form(this.productModel, {
      validators: {
        name: [Validators.required],
        price: [Validators.min(0), Validators.max(10000)]
      }
    });
  • HTTP: No Axios, no interceptors to write. HttpClient just works.
    private http = inject(HttpClient);
    private entityService = inject(EntityService);
    
    entity = signal<BusinessEntity | null>(null);
    
    loadEntity(id: string) {
      this.http.get<BusinessEntity>(`/api/entities/${id}`).subscribe(entity => {
        this.entity.set(entity);
        // Pre-populate form directly from API response
        this.productModel.set(entity);
      });
    }
    
    async onSubmit() {
      if (this.productForm().invalid) return;
      await this.entityService.save(this.productModel());
    }
  • Routing: No magic, no surprises. Exactly one way to define routes.
    const routes: Routes = [
      { path: 'entities', component: EntityListComponent },
      { path: 'entities/:id', component: EntityDetailComponent }
    ];

And the kicker: Claude, GPT, and GLM write perfect Angular code. No clever abstractions, no invented patterns. I can type “build me a CRUD table with sorting, filtering, and pagination” and get working code in 30 seconds. No corrections needed.

The Good Parts

  • Dependency Injection: Everyone complains it’s overcomplicated. It’s not. Use inject() for services, and it just works—no context, no prop drilling, type safe, testable. I wasted 3 days last year debugging a React context provider that only updated half the components. I’ve never had that problem in Angular.

    private entityService = inject(EntityService);
  • Signals: Angular 17+ signals are perfect. No stale closures, no weird gotchas. They just update when they’re supposed to. Use signal() for local state, computed() for derived state, and always prefer update() or set() instead of mutate().

  • Modern Angular: All components are standalone by default, no need to set standalone: true. Use host bindings in component decorators instead of @HostBinding/@HostListener. Use input()/output() functions instead of decorators. Use ChangeDetectionStrategy.OnPush for all components.

  • Templates: Use native control flow @if, @for, @switch instead of structural directives. Use class/style bindings instead of ngClass/ngStyle. Signal Forms integrate cleanly with templates:

    <input type="text" [formField]="productForm.name" />
    <input type="number" [formField]="productForm.price" />
    <textarea [formField]="productForm.description" />
    
    @if (productForm.name().invalid && productForm.name().touched) {
      <p class="error">Name is required</p>
    }
  • Optimized: Use NgOptimizedImage for images, implement lazy loading for feature routes.

The Bad Parts

  • Custom form controls: ControlValueAccessor is madness. I spent 3 days on a date picker that should have taken 2 hours. But once I wrote it once, I never had to think about it again.
  • SSR: Good now, but setup was 2 days of fighting outdated documentation.

💡 Insight 3: The cost of learning Angular once is infinitely lower than the cost of re-learning React ecosystem best practices every 18 months.


Decision matrix comparing Angular, React, Vue, and Svelte across stability, decision fatigue, AI compatibility, and ecosystem maturity

The Real Tradeoffs No One Talks About

This isn’t a “everyone should use Angular” post. This is what works for me.

What I give up:

  • Social capital. Everyone hates it. It’s not a tech problem—it’s a social media noise problem. You’ll get made fun of on Twitter. Half the frontend community will call you a boomer. No one will write cool blog posts about your stack.
  • Bigger initial bundle (~100kb instead of 10kb). No one notices for B2B.
  • Less flexibility. Do things the Angular way, or have a bad time.
  • Occasional Google brain damage: random new features that get quietly deprecated.

What I don’t give up: sleep. I don’t wake up to framework deprecation notices. I don’t spend weekends refactoring. I don’t learn 3 new patterns every month.

Angular moves slow. That’s a feature, not a bug.


Timeline graph comparing time spent on framework maintenance versus actual product development for Angular vs React over 3 years

The Verdict For Builders, Not Tweeters

For me, right now, this is the perfect frontend framework.

I can build an entire CRUD interface with validation, error handling, and routing in 2 hours. Not 2 days. AI writes perfect code for it. It will work exactly the same in 2029.

This framework doesn’t optimize for 100 developers arguing about the best way to write a button. It optimizes for one developer who needs to ship 5 features this week.

That’s exactly what QuotyAI needs. I don’t need the fastest or coolest framework. I need the framework that gets out of my way and lets me build.

If you’re a solo founder tired of chasing hype, stop overthinking it. Use Angular. You can rewrite it later—if you’re successful enough to need to.


Frequently Asked Questions

Why choose Angular as a solo founder?

Angular eliminates decision fatigue with built-in solutions for forms, HTTP, routing, and dependency injection. It remains stable for years, requires zero ecosystem chasing, and AI coding agents write perfect, idiomatic code without corrections. The Angular documentation is comprehensive and maintained, with zero broken links or outdated examples.

What are the biggest downsides of Angular?

Everyone hates it. It’s not a tech problem—it’s a social media noise problem. You’ll get made fun of on Twitter. Half the frontend community will call you a boomer. No one will write cool blog posts about your stack. The actual technical tradeoffs are minor: slightly larger bundle sizes (~100kb), steeper initial learning curve, and occasional Google brain damage with experimental features. The Angular deprecation policy guarantees at least 6 months notice for breaking changes.

Can AI write good Angular code?

Yes. Claude, GPT, and GLM write perfect idiomatic Angular code on the first try because it has one obvious way to do everything, no clever abstractions, and a stable, documented API surface that hasn’t fundamentally changed in years. This predictability makes it ideal for AI-assisted development workflows.

Is Angular still relevant in 2026?

Absolutely. Angular powers enterprise applications at Google, Microsoft, and thousands of companies worldwide. The Angular roadmap focuses on stability, performance improvements, and developer experience rather than breaking changes.

Thanks for reading!
Read more articles