Front-end engineer · 8+ years · New Delhi, India

Shahnshah

Developer

For eight years I have built Angular applications. Hand me a Figma file, a Photoshop file, a screenshot, or another design, and I will build the working product.

Scroll

The work

The job is usually the same. There is a design, and there is data that other people have to work with. I build the Angular application that joins the two: the structure, the states, and the behaviour, so the screen stays understandable.

01 Practice

This is the work I am hired for, starting with Angular, which runs through every role.

01 / 06

Angular

Every product on this page is an Angular application, from Estater to the Upwork contracts I hold now. At Appcarry I upgraded the application from Angular 12 to Angular 17.

Angular
Versions 2 to 20
TypeScript
The language I write it in
RxJS
Streams and live updates
Signals
State in current Angular
Standalone components
Structure of current Angular apps
Angular Material
Ready-made interface components
SASS
The styling system

02 / 06

Design to production

The format of the design is not what matters. I build the Angular application the picture describes, including its structure, its states, and its behaviour.

Figma
A design file, turned into the app
PSD
A Photoshop file, turned into the app
Screenshots
A screenshot, turned into the app
Other designs
Any other design, turned into the app
Storybook
Components reviewed on their own
Design systems
Theming for colours, type, and components
Tailwind
Utility styles, when the project uses them

03 / 06

Showing the data

I build dashboards, and tools for drawing on a floor plan, for people who work in the data every day. The view depends on the person’s role. Charts, filters, and forms stay readable when the dataset is large.

FabricJS
Floor plans you can draw and edit in the browser
GoodData
Dashboards that change with a person’s role
D3.js
Charts
Chart.js
Charts
Highcharts
Charts
REST
APIs for loading data
GraphQL
APIs for loading data
WebSockets
Live updates while the page is open

04 / 06

AI in the interface

I build AI into the product’s interface: chat, text that completes as you type, and recommendations. That includes models running on the user’s own machine, through Ollama. Some of this was in the Appcarry product.

Chat interfaces
A conversation inside the product
OpenAI-style APIs
Language-model integration
Ollama
Local models, on the user’s own machine
Recommendations
Suggestions shown in the product
Text completion
The product finishes what you type

05 / 06

Tests

At Appcarry, unit tests and performance work were in place before new features went in.

Jasmine
Unit tests
Karma
Runs unit tests in a browser
Jest
Unit tests
Cypress
End-to-end tests

06 / 06

Also in production

I have also built with React, and done server-side work in Laravel, CodeIgniter, Express, and LoopBack, when the product called for it. The centre of the work is still the Angular front end.

React
The interface, when the product is in React
Laravel
Server-side PHP, when the product uses it
CodeIgniter
Server-side PHP, when the product uses it
Express.js
Server-side JavaScript, when the product uses it
LoopBack
APIs, when the product uses them

02 Journey

Four chapters, from the first product to the work I do now. The dates overlap on purpose. Appcarry began as Estater was ending, ran alongside Prospecta, and continued into the Upwork years.

The scale runs from February 2018 to now. Move along the bars to see which roles overlapped in a given month.

Feb 2018 – May 2020

Estater

Senior front-end developer · Full-time · Based in India

I built property-analysis tools used in Kuwait and Bahrain.

Customers used them for catchment analysis of the surrounding area, for price trends, and for comparing properties. Survey results were still in documents and spreadsheets. I digitised those workflows, including CSV uploads from the old spreadsheet files, so the field data went into the product.

This is where the work started: tools that help someone else make a decision. The next role took that same kind of interface into much larger enterprise data.

Oct 2020 – Sep 2022

Prospecta Software

Senior front-end developer · Full-time · Based in India

I built data-governance screens on a platform that received its data from SAP.

The products covered bringing data in, checking its quality, and governing it, and they took in large datasets. I improved the screens so they stayed responsive, and so they followed the way the people using them actually move through a complete view of the data.

The scope widened here, to enterprise scale and to interfaces for people who spend the day in the data. Through this whole role, the Appcarry work continued part-time.

May 2020 – Oct 2024

Appcarry

Front-end engineer · Part-time · Based in India

I built ad-tracking dashboards, upgraded the app from Angular 12 to 17, and added recommendations and text completion to the interface.

The dashboards reported impressions, events, conversions, and installs. People could filter the reports, and the dynamic forms changed with the data. I split the application into modules so the parts stayed maintainable, and I kept tests and performance work in place so new features had a stable base. This was part-time from May 2020 to October 2024. Until 2022 it ran beside full-time employment. After that it ran beside the Upwork contracts.

This long run of dashboard work begins as Estater ends, continues through Prospecta, and overlaps my first independent years. I still build this kind of screen.

Sep 2022 – present

Upwork

Front-end engineer · Freelance · Independent

I now take long-running Angular contracts directly, as an individual.

I bid as myself, not through a firm. The contracts are front-end work on Angular products: floor plans you can interact with, analytics that change with a person’s role, and interfaces I take from a design through to the working product. I prefer clients in the United States and Canada.

This is the current chapter. The employed years are behind me, and the work is freelance, on contract.

03 Craft

What I do best, and what I love.

The list above is the range. Below is the work I most want to be hired for, and the work I want to keep doing.

01

From a picture of the product to the product.

Whether the design is a Figma file, a Photoshop file, a screenshot, or something looser, I build the Angular application. That means the components, the states, and the real data, until it behaves like the thing that was drawn.

02

Screens for people who work in the data.

Dashboards that depend on a person’s role, with charts, filters, dynamic forms, and floor plans. This is the governance suite at Prospecta and the tracking reports at Appcarry. The datasets are large, and the screens stay readable.

03

Faster screens, with tests.

I load only what the screen needs, and I fetch only the data it needs. Jasmine, Karma, Jest, and Cypress check the work before the next change.

What I love

Drawing on a plan

A floor plan is only a picture until you can add a zone, edit it, and style it. Changing the plan directly is the work I like most.

AI as part of the interface

I like building chat, text completion, and recommendations into a product. The model may be reached through an OpenAI-style API, or it may run locally through Ollama when the product should stay close to the user. The interface still has to be finished properly.

Finishing the interface

I care about the order of keyboard focus, the spacing, what the screen shows when it is empty or when something fails, and motion that shows what changed.

04 Contact

If this is the work you need, write to me.