# Sovaid Shah > Sovaid Shah is a Software Architect in Lahore, Pakistan with 7+ years shipping Next.js, React, Ruby on Rails, and ASP.NET Core systems. Open to full-time Software Architect and Lead Full-Stack roles — remote or hybrid. Contact: sovaids@gmail.com. ## Hire - [Hire a Software Architect](https://sovaid.dev/services/software-architecture): architecture ownership plus hands-on delivery across .NET, Rails, and Next.js - [Hire a Next.js developer in Pakistan](https://sovaid.dev/services/nextjs-development): SSR, SEO routes, Stripe checkout, Core Web Vitals - [Hire a full-stack developer in Pakistan](https://sovaid.dev/hire-full-stack-developer-pakistan): remote from Lahore, UTC+5 - [Contact](https://sovaid.dev/contact): email, phone, and contact form ## Case studies - [ATC (Air Traffic Controller): Hangfire Job Scheduling in ASP.NET Core](https://sovaid.dev/work/atc): Centralized management hub for HR and intricate project handling across enterprise deployments. - [Cercle: Next.js Marketplace: 30% Less Cart Abandonment](https://sovaid.dev/work/cercle): SSR clothing rental and resale marketplace with Stripe checkout and SEO-ready dynamic routes. - [Go Green Together: Rails Energy Dashboard: 40% Efficiency Gain](https://sovaid.dev/work/go-green-together): Energy management platform with real-time dashboards, alerts, and a four-person delivery team. - [Legal Atoms: Legal Intake Portal: 60% Less Manual Input](https://sovaid.dev/work/legal-atoms): Legal case support portal with dynamic questionnaire logic for faster case intake. - [Natif AI: Vue.js AI Vision UI: 35% Higher Accuracy](https://sovaid.dev/work/natif-ai): AI vision frontend with real-time object recognition, heatmaps, and annotation overlays. - [MicroHealth LLC: Vue on Legacy Rails: 25% Fewer Release Bugs](https://sovaid.dev/work/microhealth): HIPAA-aware healthcare app modernization pairing Vue.js with legacy Rails views. - [Yatty: SSR Marketplace SEO: 45% More Organic Traffic](https://sovaid.dev/work/yatty): Tattoo artist marketplace with Elasticsearch proximity search and SSR portfolio galleries. - [NextFlag: React Native + GraphQL App: 50% More Engagement](https://sovaid.dev/work/nextflag): Mobile-first social discovery app with geolocation feeds and GraphQL. ## Writing - [AI Chatbot for Your Website: What Actually Works](https://sovaid.dev/writing/add-ai-chatbot-to-website): A useful website chatbot answers from your own content (RAG), says "I don't know" instead of guessing, hands off to a human when needed, and is protected against prompt injection and abuse. Start with one narrow job such as answering docs or pricing questions, measure resolution rate rather than chat volume, and expect ongoing work on content, evaluation and cost. - [AI Search Visibility: SSR, Schema and llms.txt](https://sovaid.dev/writing/ai-search-visibility-ssr): AI search engines can only cite what they can read. Serve real HTML (SSR or static), because many AI crawlers do not run JavaScript. Put a direct answer near the top of each page, add structured data, allow the AI search crawlers you want in robots.txt, and keep facts consistent across your site and profiles. llms.txt is cheap to add but is not a ranking factor, and Google has said it does not use it. - [How to Choose an LLM for a Product Feature](https://sovaid.dev/writing/choose-llm-for-product): Do not pick an LLM from leaderboards or launch posts. Write down what the feature must do, build an evaluation set of 30 to 50 real examples, and test two or three models on it. Compare quality on your examples, latency, cost per request, context size and the provider data policy. Start with the smallest model that passes, and keep the model name in configuration so you can switch later. - [Hangfire vs Sidekiq: .NET vs Rails Background Jobs](https://sovaid.dev/writing/hangfire-vs-sidekiq): Pick by stack first: Hangfire for ASP.NET Core, Sidekiq for Rails. Hangfire stores jobs in your database (SQL Server by default), so it is durable and easy to inspect but slower under heavy load. Sidekiq runs on Redis with threads, so it is very fast, but free Sidekiq can lose an in-progress job if a process dies; Sidekiq Pro fixes that. Both give you retries, scheduling and a dashboard. - [How to Hire a Next.js Developer in Pakistan (2026)](https://sovaid.dev/writing/hire-nextjs-developer-pakistan-guide): Pakistan runs on PKT (UTC+5) with no daylight saving, which gives EU teams a morning overlap and US East teams an early-morning one. Published Pakistan staffing rates for senior developers sit around $24–34/hour full-time through agencies; direct freelancers often quote higher. Hire on proof: ask for production numbers, a code walkthrough and a short paid trial. Pay through Wise, Payoneer or bank transfer, since PayPal does not operate in Pakistan. - [Designing Human-in-the-Loop AI Review Interfaces](https://sovaid.dev/writing/human-in-the-loop-ai-review-ui): A human-in-the-loop review interface should send people to the cases the model is unsure about, not make them check everything equally. Show model confidence visually, sort or filter by uncertainty, make each correction take one action, and store corrections in a form you can train on. On Natif AI, confidence heatmaps plus in-sync overlays raised reviewer interaction accuracy 35%. - [LLM Features in Rails and .NET With Background Jobs](https://sovaid.dev/writing/llm-features-background-jobs): Treat LLM calls like any slow, unreliable, metered external API: never call them inside a web request. Enqueue a background job (Sidekiq in Rails, Hangfire in .NET), retry on rate limits with backoff, push results to the browser over ActionCable or SignalR, cache repeat prompts, and log tokens and cost per feature. The job patterns teams already use for payments and imports apply directly. - [How to Integrate an LLM API in Next.js Safely](https://sovaid.dev/writing/openai-api-nextjs-integration): Call LLM APIs only from the server in Next.js: a Route Handler or Server Action that holds the API key, validates input, rate-limits per user and streams the response back. Never put the key in client code or a NEXT_PUBLIC_ variable. Cap input and output size, set timeouts, and log tokens per request so cost stays visible from day one. - [RAG With PostgreSQL and pgvector: Architecture](https://sovaid.dev/writing/rag-postgresql-pgvector): RAG answers questions from your own data by retrieving relevant text and giving it to the model with the question. If you already run PostgreSQL, pgvector lets you store embeddings next to your data and search them with SQL, so you may not need a separate vector database. Most RAG quality problems come from chunking and retrieval, not the model, so build an evaluation set of real questions first. - [Building Real-Time AI Vision UIs in Vue.js](https://sovaid.dev/writing/real-time-ai-vision-ui-vue): In a real-time AI vision interface, lag is an accuracy problem: if overlays draw late, reviewers correct the wrong object. On Natif AI, overlays built to track the live recognition stream, confidence heatmaps and a deliberately small Vuex state raised interaction accuracy 35%. Keep the raw model stream out of deep reactivity, store only what users act on, and render at the display rate, not the model rate. - [SSR for Marketplace SEO: A Practical Playbook](https://sovaid.dev/writing/ssr-marketplace-seo): Marketplaces win organic traffic when every listing and every search-intent page returns real HTML. On Yatty, a tattoo artist marketplace, organic traffic rose 45% after portfolio galleries were server-rendered, artists were indexed in Elasticsearch for proximity search, and routes were structured around city and style. The trap to avoid: thousands of empty city + style combinations that Google treats as thin pages. - [How SSR + Stripe Cut Cart Abandonment 30%](https://sovaid.dev/writing/ssr-stripe-cart-abandonment): On Cercle, a Next.js + Rails rental marketplace, cart abandonment fell 30% and time-to-interactive improved 20% after three changes: server-rendering product and category routes, cutting the Stripe checkout path to fewer steps, and lazy-loading heavy UI so the pay button was usable sooner. Checkout speed and trust beat clever UI. - [Adding Vue to Legacy Rails Views Without a Rewrite](https://sovaid.dev/writing/vue-legacy-rails-without-rewrite): You can modernize a legacy Rails app by mounting Vue components into specific ERB views instead of rewriting the frontend. Pass data from Rails through data attributes or JSON, migrate the highest-friction screens first, and guard each release with RSpec on the backend and Cypress on the changed flows. On MicroHealth this approach cut post-release bugs 25% in a HIPAA-conscious healthcare app. ## About - [About](https://sovaid.dev/about): background, education, skills, and career timeline - [Resume](https://sovaid.dev/resume): printable resume