Open to software developer and QA roles

I build the software people still do by hand.

I'm Azaz, a software developer and QA engineer in Ahmedabad. I work on a product that reads structural drawings, works out every steel bar in a building and plans how to cut it from 12 m stock. I write the code, try to break it, then ship it.

Hard problem 1

A drawing is written for people, not programs.

A structural drawing tells you the steel in a beam with a short label such as 2L-T8-150 C/C. An engineer reads it in a second. A program has to be taught every way it can be written.

1The problem

Someone reads each label off the drawing and types the bars into a sheet, beam after beam, floor after floor. It is slow, and one misread digit quietly changes the steel order.

2Why it is hard

There is no fixed format. 2L-T8-150 C/C, T8@150 and 8Φ @ 150 c/c all mean the same bar. Labels also leave things out, and a wrong guess looks exactly like a right answer.

3How I solve it

Treat the label as a small language: reduce every spelling to one form, read it into fields, then check each field against what steel actually exists.

When something is missing, say what was assumed. When it can't be read, flag it, never guess.

Try it: type a bar mark A small version written for this page. It runs in your browser.
Label on the drawing

The dashed ones are wrong on purpose.

Beam
Hard problem 2

Steel comes in 12 m bars. Buildings don't.

A schedule asks for hundreds of pieces in a dozen lengths. Every one has to be cut from a standard bar, and whatever is left at the end of a bar is steel that was paid for and thrown away.

1The problem

On site, bars are usually cut in the order the schedule lists them. That is easy to follow, but it leaves a long tail on bar after bar.

2Why it is hard

The number of ways to fill one bar grows very fast with each new length, and the best cut for this bar can ruin the next one. Trying everything is not an option on a real schedule.

3How I solve it

Search the ways to fill one bar, keep the one with the smallest tail, repeat it while the demand lasts, then search again.

A simple plan runs alongside as a floor, so the result is never worse than the easy way. Bad input is rejected before the search starts.

Try it: change the cut list The full product is live: POC Waste Optimizer
Stock
Cut list
Length, mmPieces

Try a length of 0, or one longer than the bar.

Hard problem 3

Right today is easy. Still right after the next change is the job.

People order steel from these numbers. A formula that is off by one bend is not a bug report, it is a truck of wrong bars. So I write the checks along with the code.

1The problem

The same bar length shows on the screen, in the Excel export and in the cutting report. Change the rule in one place and the three can silently disagree.

2Why it is hard

The failures are quiet. Nothing crashes. A number is simply a little wrong, and the first person to notice is standing next to a bending machine.

3How I solve it

Work each case by hand first, then pin it as a check. Test the edges on purpose: zero, too long, missing, written oddly.

Run every check on every merge, and deploy only when they pass.

Checks on the two demos above Running…
CaseInputExpectedGotResult
1PushA change goes up for review.
2TestAutomated checks run on their own.
3BuildOne container image, the same in every environment.
4DeployA passing merge goes live without hand steps.
5WatchLogs and monitoring say when something is off.

Other things I've built.

Smaller problems, same habit: find the manual step and remove it.

Excel Cleaner

Problem
Client spreadsheets arrive with hidden macros, objects and messy formatting that break whatever reads them next.
Built
A web tool that takes the raw XLSX and gives back clean, structured data.
Next.jsData processing
Live site

Safe & Secure Security Service

Problem
A security agency's enquiries stopped at "contact us", with no detail to quote from.
Built
A site whose request form asks about the situation first, then carries the answers into a full quote.
Next.jsQuote formsSEO
Live site

ShamGym

Problem
A strength gym had no single place for classes, trainers, plans and trial bookings.
Built
The gym's whole site, with membership plans, a blog and free-trial booking.
Next.jsResponsive UI
Live site

FastShipment

Problem
Orders, payment, tracking and partners lived in separate places.
Built
A logistics platform with ordering, checkout, live shipment tracking and partner tools.
PythonTracking
Private build

Multi-step AI agent

Problem
A chatbot can answer, but it can't finish a task that takes several steps.
Built
A stateful agent that uses tools, branches on results and remembers where it is.
LangGraphPython
Private build

StudySphere and AttendEASE365

Problem
Students shared books by word of mouth, and attendance lived on paper.
Built
A book-sharing platform and an attendance system with reports, both tested feature by feature.
ReactNode.jsMongoDB
College projects

How I work through a problem.

Find the person who does it by hand

Watch the real steps and write down the limits that never move: 12 m stock, a cover dimension, a code rule. Everything else obeys those.

Work one case on paper

If I can't get the answer by hand, I can't tell whether the code is right. The hand-worked case becomes the first test.

Use AI every day, and check what it writes

AI tools draft code, tests and docs with me daily. The hand-worked case and the checks decide what stays, not the tool.

Ship the smallest version that is real

One element working end to end, from input to export, beats four half-finished ones. Then widen it.

Try to break it

Zero, negative, too long, missing, written oddly. Each failure found here is one a user never sees.

Automation and AI

If it repeats, I automate it.

Same habit as the rest of this page: find the manual step, hand it to a machine, and keep a check on the result.

1Tests

Regression suites that click through the web app on their own, so a release is not held up by a person repeating the same steps.

2Releases

A pipeline that tests, builds and deploys every merge. Nobody copies files to a server by hand.

3Work that needs judgement

Where a fixed script is not enough, an AI step reads the input and decides: a chatbot that answers, or an agent that finishes a multi-step task.

Question Documents Tools Answer Task done A person Agent
The agent reads what comes in, decides, and either answers, finishes the task or hands it to a person.

How I build an AI chatbot

1One jobDecide what it answers, and what it must refuse.
2Its own sourcesIt answers from approved documents, not from memory.
3ToolsRead-only first. Anything that changes data comes later.
4Test chatsA fixed set of conversations, odd ones included, re-run after every change.
5Hand offWhen it is unsure it passes the chat to a person, with the context.

Experience.

QA engineer and software developer · BuniyadByte Digiinfratech

  • Wrote and improved the logic that pulls bar data out of drawing files, so rebar quantities come out right.
  • Planned and ran functional, regression and exploratory testing for the bbsteel.in web app.
  • Tracked defects to closure with the developers: reproduce, fix, verify.
  • Containerised the app and built the pipeline that tests and deploys each merge.
  • Set up and look after the cloud servers, proxy, TLS and monitoring it runs on.

QA intern, manual and automation · Maxgen Technologies

  • Automated regression suites for web apps with Selenium WebDriver in Java.
  • Wrote reusable positive, negative and edge-case tests and kept traceability matrices.
  • Tested REST endpoints in Postman for correctness, response time and data integrity.

B.E. Computer Engineering · Government Engineering College, Modasa (GTU)

  • CGPA 8.54

Tech stack and tools.

Each one is here because I've used it on real work. Point at a tool to see what I use it for.

Have a job that is still done by hand?

Send me the messy version: the spreadsheet, the drawing, the steps someone repeats every week. I'm based in Ahmedabad and work remotely too.