Skip to content
Back to home
Service

Web Applications

Dashboards, internal tools, and platforms with real users and real data, built to stay reliable when the network or the data is not.

Web application engineering illustration

Read the contract before writing the code

Every API integration starts with the response shape, not the fetch call. I define TypeScript interfaces that mirror the exact structure the server returns before a single Axios call is written. When the backend changes a field name or nests a new object, the compiler tells me immediately. I do not discover broken integrations at runtime in production.

TypeScript interface matching API response shape

Loading, success, and error are all first-class states

A fetch call has three outcomes and I design for all three from the start. Loading states get skeleton screens or spinner indicators so the interface never feels frozen. Error states surface actionable messages rather than silent failures. Success states render the actual data. Treating all three as equal citizens means the UI behaves predictably regardless of network conditions.

Three UI states: loading, success, error

Third-party services are wrapped, never called directly

EmailJS, Google Drive API, Groq, and SheetJS all sit behind thin abstraction layers in my projects. The component never knows which email provider is being used. It calls a function, gets a result, and moves on. Swapping providers means changing one file. This is not premature abstraction, it is the minimum structure that keeps integrations from spreading across the entire codebase.

Abstraction layer wrapping third-party services

One interface system across every screen

A dashboard has dozens of screens, and they should feel like one product. I start from a small set of named design tokens for color, spacing, and type, each with a light and a dark value, so a theme change is a one-object edit and no screen drifts away from the rest.

Design token system shared across application screens
Stack

What I build web applications with.

Framework
  • Next.js
  • React
  • TypeScript
Data
  • Supabase
  • PostgreSQL
  • MySQL
Integrations
  • Axios
  • Groq API
  • EmailJS
  • SheetJS
Platform
  • Vercel
  • Cloudflare
  • Docker

Other services

Taking new projects

Let's buildsomething together.

Or write to me directlyniconvedev@gmail.com