Umar Draz

Umar Draz Contact information, map and directions, contact form, opening hours, services, ratings, photos, videos and announcements from Umar Draz, Web designer, D-Ground People Colony, Faisalabad.

Iโ€™m a Full-Stack Developer with 4+ years of experience building high-performance web apps using MERN, Laravel & WordPress, helping turn complex ideas into reliable solutions that drive business growth.

๐๐š๐ซ๐ญ๐ข๐š๐ฅ ๐๐š๐ฒ๐ฆ๐ž๐ง๐ญ๐ฌ ๐“๐š๐ฎ๐ ๐ก๐ญ ๐Œ๐ž ๐ญ๐จ ๐’๐ญ๐จ๐ฉ ๐“๐ก๐ข๐ง๐ค๐ข๐ง๐  ๐ข๐ง ๐๐ข๐ง๐š๐ซ๐ฒI kept approaching it like a simple yes or no. Either the payment w...
21/04/2026

๐๐š๐ซ๐ญ๐ข๐š๐ฅ ๐๐š๐ฒ๐ฆ๐ž๐ง๐ญ๐ฌ ๐“๐š๐ฎ๐ ๐ก๐ญ ๐Œ๐ž ๐ญ๐จ ๐’๐ญ๐จ๐ฉ ๐“๐ก๐ข๐ง๐ค๐ข๐ง๐  ๐ข๐ง ๐๐ข๐ง๐š๐ซ๐ฒ
I kept approaching it like a simple yes or no. Either the payment went through or it didn't. But this booking system didn't work that way. Some users were paying partially upfront and settling the rest at the venue.

Some were booking slots, others full classes. The payment state wasn't a single moment it was a sequence, and Laravel had to hold that sequence together reliably across different booking types.
The webhook issue surfaced there.

A partial payment would come in, Stripe would confirm it, but our system was listening for a full capture signal that was never going to come at that stage. So the booking would sit in a pending state it shouldn't have been in.

Once I understood that, the fix became clear. We needed to handle authorized and captured states separately, and track how much had actually been paid against what was expected not just whether Stripe fired a success event.

The real shift wasn't technical. It was realizing that payment logic should reflect how the business actually works, not how we assumed payments behave.
Laravel gave us the structure. But the clarity had to come first.

๐–๐ก๐š๐ญ ๐š ๐‹๐ž๐ ๐š๐œ๐ฒ ๐‚๐จ๐๐ž๐›๐š๐ฌ๐ž ๐“๐š๐ฎ๐ ๐ก๐ญ ๐Œ๐ž ๐€๐›๐จ๐ฎ๐ญ ๐–๐ซ๐ข๐ญ๐ข๐ง๐  ๐’๐จ๐Ÿ๐ญ๐ฐ๐š๐ซ๐ž ๐“๐ก๐š๐ญ ๐‹๐š๐ฌ๐ญ๐ฌA few days ago, I inherited a Laravel project from a d...
12/04/2026

๐–๐ก๐š๐ญ ๐š ๐‹๐ž๐ ๐š๐œ๐ฒ ๐‚๐จ๐๐ž๐›๐š๐ฌ๐ž ๐“๐š๐ฎ๐ ๐ก๐ญ ๐Œ๐ž ๐€๐›๐จ๐ฎ๐ญ ๐–๐ซ๐ข๐ญ๐ข๐ง๐  ๐’๐จ๐Ÿ๐ญ๐ฐ๐š๐ซ๐ž ๐“๐ก๐š๐ญ ๐‹๐š๐ฌ๐ญ๐ฌ
A few days ago, I inherited a Laravel project from a developer who had left the company. No documentation. No tests. Controllers with 800 lines of mixed logic database queries sitting next to email-sending functions sitting next to UI formatting helpers.

I spent the first three days just reading. Not fixing anything. Just understanding what someone had tried to build, and why it had become what it was. That experience quietly changed how I write software.
It wasn't a lack of skill that created the mess. It was pressure, shortcuts, and the belief that "we'll clean it up later." Later never came.

Since then, every time I'm tempted to skip an abstraction, ignore separation of concerns, or leave a comment that says "TODO: fix this," I think about the person who will open this file six months from now.
Sometimes that person is me.

Clean architecture isn't about aesthetics. It's about respect for the business that depends on this system, and for whoever has to carry it forward.

๐–๐ก๐š๐ญ ๐๐ฎ๐ข๐ฅ๐๐ข๐ง๐  ๐š ๐‘๐€๐† ๐’๐ฒ๐ฌ๐ญ๐ž๐ฆ ๐“๐š๐ฎ๐ ๐ก๐ญ ๐Œ๐ž ๐€๐›๐จ๐ฎ๐ญ ๐“๐ซ๐ฎ๐ฌ๐ญ๐ข๐ง๐  ๐ญ๐ก๐ž ๐€๐ซ๐œ๐ก๐ข๐ญ๐ž๐œ๐ญ๐ฎ๐ซ๐žA few months ago, I was staring at a search result t...
28/03/2026

๐–๐ก๐š๐ญ ๐๐ฎ๐ข๐ฅ๐๐ข๐ง๐  ๐š ๐‘๐€๐† ๐’๐ฒ๐ฌ๐ญ๐ž๐ฆ ๐“๐š๐ฎ๐ ๐ก๐ญ ๐Œ๐ž ๐€๐›๐จ๐ฎ๐ญ ๐“๐ซ๐ฎ๐ฌ๐ญ๐ข๐ง๐  ๐ญ๐ก๐ž ๐€๐ซ๐œ๐ก๐ข๐ญ๐ž๐œ๐ญ๐ฎ๐ซ๐ž
A few months ago, I was staring at a search result that was technically correct but completely useless to the person asking the question.

The system had retrieved the right document. The answer was in there somewhere. But because we were relying on a single retrieval method, the most relevant passage never surfaced. The user got noise instead of signal.
That moment pushed me to rethink how retrieval actually works in practice not in theory.

I ended up building a full-stack, multi-tenant RAG system from scratch. Here is what it does:
1- Upload PDFs and automatically extract and index their content
2- Hybrid search combining dense retrieval (FAISS + Gemini embeddings), sparse retrieval (BM25), and HyDE
3- Reciprocal Rank Fusion to merge and re-rank results intelligently
4- Streaming responses powered by the Gemini API
5- Multi-tenant architecture โ€” isolated users, bots, and document contexts
6- FastAPI backend with MySQL integration and secure API key management
7- React frontend with embeddable chatbot widget support

The multi-tenant layer was not an afterthought. It was the foundation everything else was built on. Each user operates in a fully isolated context their own bots, their own documents, their own conversation history.

That principle now sits at the start of every architecture decision I make.

๐๐ฎ๐ข๐ฅ๐ญ ๐š ๐…๐ฎ๐ฅ๐ฅ-๐’๐ญ๐š๐œ๐ค ๐€๐ˆ ๐‚๐ฎ๐ฌ๐ญ๐จ๐ฆ๐ž๐ซ ๐’๐ฎ๐ฉ๐ฉ๐จ๐ซ๐ญ ๐’๐ฒ๐ฌ๐ญ๐ž๐ฆ ๐…๐ซ๐จ๐ฆ ๐ญ๐ก๐ž ๐†๐ซ๐จ๐ฎ๐ง๐ ๐”๐ฉYesterday, I finished something I'm genuinely proud of. ...
17/03/2026

๐๐ฎ๐ข๐ฅ๐ญ ๐š ๐…๐ฎ๐ฅ๐ฅ-๐’๐ญ๐š๐œ๐ค ๐€๐ˆ ๐‚๐ฎ๐ฌ๐ญ๐จ๐ฆ๐ž๐ซ ๐’๐ฎ๐ฉ๐ฉ๐จ๐ซ๐ญ ๐’๐ฒ๐ฌ๐ญ๐ž๐ฆ ๐…๐ซ๐จ๐ฆ ๐ญ๐ก๐ž ๐†๐ซ๐จ๐ฎ๐ง๐ ๐”๐ฉ
Yesterday, I finished something I'm genuinely proud of. The idea was straightforward a system that could understand documentation, answer questions from it, and quietly escalate to a human when confidence ran low. Simple in concept. Demanding in ex*****on.

The backend runs on FastAPI with a clean modular architecture, MySQL for structured data, and OpenAI Embeddings for semantic search across uploaded PDF and Word documents. Every document gets chunked, embedded, and stored ready for cosine similarity matching the moment someone asks a question.

When the AI is confident, it answers. When it isn't, it opens a support ticket automatically and notifies the team in real time via WebSockets.
The frontend is built in Next.js with a floating chat widget, full admin dashboard, dark mode, and a UI that genuinely feels like a commercial SaaS product.

JWT authentication, role-based access, spam detection, conversation history, ticket management all production-ready.

๐“๐ž๐œ๐ก ๐’๐ญ๐š๐œ๐ค: FastAPI ยท Next.js ยท React.js ยท MySQL ยท OpenAI GPT API ยท OpenAI Embeddings ยท WebSockets ยท SQLAlchemy ยท PyMuPDF ยท python-docx ยท JWT ยท bcrypt ยท scikit-learn ยท TailwindCSS

This is what thoughtful full-stack engineering looks like when business needs drive every technical decision.

๐‡๐จ๐ฐ ๐–๐จ๐ซ๐๐๐ซ๐ž๐ฌ๐ฌโ€™๐ฌ ๐๐ž๐ฐ ๐๐ซ๐จ๐ฐ๐ฌ๐ž๐ซ ๐๐ฅ๐š๐ฒ๐ ๐ซ๐จ๐ฎ๐ง๐ ๐ˆ๐ฌ ๐‚๐ก๐š๐ง๐ ๐ข๐ง๐  ๐Œ๐ฒ ๐๐ฎ๐ข๐ฅ๐๐ฌRight after WordPress released my.wordpress.net, I opened it...
13/03/2026

๐‡๐จ๐ฐ ๐–๐จ๐ซ๐๐๐ซ๐ž๐ฌ๐ฌโ€™๐ฌ ๐๐ž๐ฐ ๐๐ซ๐จ๐ฐ๐ฌ๐ž๐ซ ๐๐ฅ๐š๐ฒ๐ ๐ซ๐จ๐ฎ๐ง๐ ๐ˆ๐ฌ ๐‚๐ก๐š๐ง๐ ๐ข๐ง๐  ๐Œ๐ฒ ๐๐ฎ๐ข๐ฅ๐๐ฌ
Right after WordPress released my.wordpress.net, I opened it during a quick break from a custom plugin project. Instead of the usual local setup dance, a complete site appeared instantly in my browser no hosting, no database, no configuration at all.

I started exploring the new features right away. I switched between block themes and classic ones in seconds, dropped in plugins to test compatibility, prototyped REST API endpoints, and even simulated real user flows with third-party integrations like Stripe. Everything ran smoothly inside the Playground sandbox.

What hit me was how this single release quietly removes every layer of friction Iโ€™ve fought for years. As someone whoโ€™s delivered 50+ WordPress projects, Iโ€™ve spent far too many hours just getting environments ready. Now the focus stays on clean architecture, performance decisions, and making sure the solution truly serves the clientโ€™s business long-term.

The deeper lesson for me is that the best platform updates donโ€™t just add speed they protect the thinking time that turns good code into lasting systems. Iโ€™m already applying this across every new build I lead.

๐–๐จ๐ซ๐๐๐ซ๐ž๐ฌ๐ฌ ๐Ÿ•.๐ŸŽ ๐๐ž๐ญ๐š ๐Ÿ ๐€๐ˆ ๐‚๐จ๐ง๐ง๐ž๐œ๐ญ๐จ๐ซ๐ฌ: ๐ˆ๐ง๐Ÿ๐ซ๐š๐ฌ๐ญ๐ซ๐ฎ๐œ๐ญ๐ฎ๐ซ๐ž, ๐๐จ๐ญ ๐Œ๐š๐ ๐ข๐œI spent the last couple of days testing WordPress 7.0 Beta ...
04/03/2026

๐–๐จ๐ซ๐๐๐ซ๐ž๐ฌ๐ฌ ๐Ÿ•.๐ŸŽ ๐๐ž๐ญ๐š ๐Ÿ ๐€๐ˆ ๐‚๐จ๐ง๐ง๐ž๐œ๐ญ๐จ๐ซ๐ฌ: ๐ˆ๐ง๐Ÿ๐ซ๐š๐ฌ๐ญ๐ซ๐ฎ๐œ๐ญ๐ฎ๐ซ๐ž, ๐๐จ๐ญ ๐Œ๐š๐ ๐ข๐œ
I spent the last couple of days testing WordPress 7.0 Beta 2, and the headlines calling it โ€œAI inside WordPressโ€ felt a little ahead of themselves. The new Connectors page is essentially a credential manager. You add your OpenAI, Claude, or Gemini keys once, and they become available to any plugin that wants them. Thatโ€™s it for now. No content generation, no automatic SEO suggestions, no instant features. Just clean, centralised plumbing.

It reminded me of the REST API back in 2016. Most people outside core development circles barely noticed it at first. A year later it quietly became the foundation for headless sites and eventually Gutenberg. The same pattern could play out here, or it could stay like the Custom Fields APIโ€”technically excellent yet largely unused. What feels different this time is the external momentum from the AI companies themselves.

For anyone managing client sites, the immediate difference is close to zero. But the medium-term payoff is clear: one secure place for each providerโ€™s key, no more pasting the same secret into multiple admin screens. That kind of quiet standardisation is exactly what lets good plugins and solid architecture grow on top.

๐“๐ก๐ž ๐‘๐ž๐š๐ฅ ๐•๐š๐ฅ๐ฎ๐ž ๐จ๐Ÿ ๐‚๐ฅ๐ž๐š๐ง ๐€๐ซ๐œ๐ก๐ข๐ญ๐ž๐œ๐ญ๐ฎ๐ซ๐ž ๐ข๐ง ๐‹๐จ๐ง๐ -๐‘๐ฎ๐ง๐ง๐ข๐ง๐  ๐๐ซ๐จ๐ฃ๐ž๐œ๐ญ๐ฌI once joined a project that looked solid from the outside....
15/02/2026

๐“๐ก๐ž ๐‘๐ž๐š๐ฅ ๐•๐š๐ฅ๐ฎ๐ž ๐จ๐Ÿ ๐‚๐ฅ๐ž๐š๐ง ๐€๐ซ๐œ๐ก๐ข๐ญ๐ž๐œ๐ญ๐ฎ๐ซ๐ž ๐ข๐ง ๐‹๐จ๐ง๐ -๐‘๐ฎ๐ง๐ง๐ข๐ง๐  ๐๐ซ๐จ๐ฃ๐ž๐œ๐ญ๐ฌ
I once joined a project that looked solid from the outside. Everything worked, but the moment we needed to add new features or fix something deeper, the cracks showed. Dependencies were tangled, naming was inconsistent, and every change carried unexpected risks.

What started as a time-saving approach in the early days became a constant source of friction. Debugging sessions stretched longer than they should have, and the teamโ€™s confidence took a hit. It was a clear lesson in how technical decisions made under pressure affect everyone months later.

That experience changed how I build now. I focus on clear boundaries between layers, consistent patterns, and modular structures that can grow without breaking. The upfront effort always feels slower at first, but it creates breathing room when the real demands of scale and change arrive.

These days, when leading teams, I treat clean architecture as quiet responsibility. Itโ€™s not about perfection. Itโ€™s about making tomorrowโ€™s work more predictable and less painful for the people who will inherit what we build.

๐Œ๐ž๐ฆ๐จ๐ซ๐ข๐ž๐ฌ ๐Ÿ๐ซ๐จ๐ฆ ๐๐š๐ฌ๐š๐ง๐ญ ๐’๐ค๐ข๐ž๐ฌ ๐ข๐ง ๐๐š๐ค๐ข๐ฌ๐ญ๐š๐งThis Basant, I went back to the rooftops in Pakistan, with colorful kites flying a...
10/02/2026

๐Œ๐ž๐ฆ๐จ๐ซ๐ข๐ž๐ฌ ๐Ÿ๐ซ๐จ๐ฆ ๐๐š๐ฌ๐š๐ง๐ญ ๐’๐ค๐ข๐ž๐ฌ ๐ข๐ง ๐๐š๐ค๐ข๐ฌ๐ญ๐š๐ง
This Basant, I went back to the rooftops in Pakistan, with colorful kites flying all around in the February sky. There was so much noise from people laughing and shouting, pulling on strings to keep their kites up. Each kite felt like a quick burst of fun and rivalry. I still think about my first Basant when I was a kid, holding a basic patang and figuring out how to go with the wind instead of against it.

Even now, after all these years, it's the same simple happiness in the middle of all the excitement. We got together with family, telling stories while grilling food on the roof, with the whole place buzzing around us. One of my kites went way up high, then got cut by someone else's, showing how fast things can change. But when one falls, you just send up another one.

Basant is more than a festival for me; it's a break from everything rushing by. It keeps me connected to old happy times and today's moments, and I always feel better after, looking at those wide open skies.

๐‘๐ž๐Ÿ๐ฅ๐ž๐œ๐ญ๐ข๐จ๐ง๐ฌ ๐จ๐ง ๐‚๐ฎ๐ฌ๐ญ๐จ๐ฆ ๐–๐จ๐ซ๐๐๐ซ๐ž๐ฌ๐ฌ ๐ƒ๐ž๐ฏ๐ž๐ฅ๐จ๐ฉ๐ฆ๐ž๐ง๐ญ ๐ข๐ง ๐‘๐ž๐š๐ฅ ๐๐ซ๐จ๐ฃ๐ž๐œ๐ญ๐ฌI've spent years diving into custom WordPress development, a...
01/02/2026

๐‘๐ž๐Ÿ๐ฅ๐ž๐œ๐ญ๐ข๐จ๐ง๐ฌ ๐จ๐ง ๐‚๐ฎ๐ฌ๐ญ๐จ๐ฆ ๐–๐จ๐ซ๐๐๐ซ๐ž๐ฌ๐ฌ ๐ƒ๐ž๐ฏ๐ž๐ฅ๐จ๐ฉ๐ฆ๐ž๐ง๐ญ ๐ข๐ง ๐‘๐ž๐š๐ฅ ๐๐ซ๐จ๐ฃ๐ž๐œ๐ญ๐ฌ
I've spent years diving into custom WordPress development, and one thing stands out: it's less about flashy features and more about creating systems that endure real-world use. Early on, I treated plugins and themes as isolated pieces, focusing on getting them to work quickly.

In a project for a mid-sized publisher, I built a custom theme with integrated plugins for content management. It launched smoothly, but as traffic grew, small oversightsโ€”like inefficient database queriesโ€”started causing slowdowns during peak hours. Debugging in production revealed how user behaviors, from bulk uploads to unexpected customizations, strained the setup.

This experience shifted my approach. I learned to design with WordPress's extensibility in mind, leveraging actions and filters not just for functionality, but for future-proofing. It means writing cleaner code, documenting assumptions, and testing against varied scenarios.

Today, I build custom WordPress solutions as adaptable foundations. They align with business goals, reduce long-term maintenance headaches, and let clients focus on growth rather than fixes. It's a quieter satisfaction, knowing the work holds up over time.

Address

D-Ground People Colony
Faisalabad
36300

Alerts

Be the first to know and let us send you an email when Umar Draz posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Share

Category