Freelancers using PostgreSQL in Karachi
Freelancers using PostgreSQL in Karachi
Sign Up
Post a job
Sign Up
Log In
Filters
2
Projects
People
Taimoor Khan
pro
Karachi, Pakistan
AI SaaS Engineer | Next.js + Node.js | MVPs to Production
1x
Hired
5.0
Rating
13
Followers
Follow
Message
AI SaaS Engineer | Next.js + Node.js | MVPs to Production
0
Development of EduPilotPro AI-Powered School Operating System
0
26
0
EduPilotPro AI Attendance Agent Project
0
12
0
Kismaa Mobile — Engineering a Real-Time Experience
0
8
0
Kismaa — Engineering a Real-Time Psychic Experience
0
8
PostgreSQL
(6)
Follow
Message
Faarid Qureshi
pro
Karachi, Pakistan
Full-Stack & AI Developer | Next.js, AI Agents
$25k+
Earned
7x
Hired
5.0
Rating
56
Followers
Follow
Message
Full-Stack & AI Developer | Next.js, AI Agents
0
ZainTech - Enterprise CMS-Driven Platform
0
9
0
Legacy Building: Media Export & Community Features
0
11
2
C2BM Workforce Management System
2
33
2
Legacy Building - Journal Management Platform
2
20
PostgreSQL
(1)
Follow
Message
Salman Khan
Karachi, Pakistan
Webflow + AI Developer | Agents & Automation
5.0
Rating
35
Followers
Follow
Message
Webflow + AI Developer | Agents & Automation
0
ScribeMD – AI Medical Scribe Platform
0
11
0
WhatsApp AI Chatbot Automation with n8n & OpenAI
0
6
2
TheMarcus.com – Webflow Portfolio Website
2
15
0
Twice Bittn Bakery – E-Commerce Bakery Website
0
20
PostgreSQL
(2)
Follow
Message
Ehtasham Ali
pro
Karachi, Pakistan
Production-ready AI agents and SaaS built to scale reliably.
$25k+
Earned
2x
Hired
108
Followers
Follow
Message
Production-ready AI agents and SaaS built to scale reliably.
1
Multi-Tenant CMS and Website Platform for Multi-Brand Organizations Description: A production-ready multi-site CMS that lets one team run many branded websites from a single admin. It includes tenant isolation, a block-based page builder, automated WordPress migration, AI-assisted page building, and AWS infrastructure. The challenge: The client needed to manage many separate websites from one CMS. Each site had its own domain, theme, content and users. The platform had to do four things at once: • keep tenants fully isolated from each other • give editors reusable building blocks instead of one-off pages • make moving existing WordPress sites in fast instead of a manual rebuild • run reliably in production, not just work as a prototype What I built: 1. Multi-tenant Payload CMS. Tenant isolation, per-tenant domains and themes, and role-based access control, so every brand stays separate within one admin. 2. Block-based page builder. Reusable content blocks, plus blog and form support, so editors build pages without a developer. 3. WordPress migration automation. Existing sites are imported automatically, and content import and export runs through structured workflows. 4. AI-assisted page and component generation. Claude turns screenshots and layouts into ready-to-use pages and components, which speeds up new-site setup. 5. Performance and SEO. Static site generation with Next.js, semantic HTML, and Tailwind CSS for fast, search-friendly pages. 6. Production AWS infrastructure. Defined in CloudFormation with RDS (PostgreSQL), S3, CloudFront, ACM, SES, Lambda and WAF, with separate staging and production environments. 7. Production-readiness work. Improvements to admin UX, data workflows, environments and infrastructure security, plus Playwright in the tooling. The outcome: The product went from concept to a production-ready multi-site platform. One team can now launch and run many branded websites from one place. Each site is isolated, fast and SEO-friendly. Migrations and new builds take a fraction of the manual effort. Key takeaway: A white-label CMS only scales when flexible content tooling comes with real production engineering: isolation, migrations, infrastructure and security. Good fit for: agencies, franchises, multi-brand organizations, and SaaS teams managing many websites from one platform. Skills and tools used: Next.js · Payload CMS · PostgreSQL · Tailwind CSS · AWS · CloudFormation · CloudFront · RDS · S3 · Lambda · SES · WAF · Playwright · Claude API · Multi-Tenant SaaS · Headless CMS · WordPress Migration · SEO
1
13
3
From Instinct to Infrastructure: How Athliq Went From Trainer's Notebook to Production Performance Platform ────────────────────────────────────────── The Person Who Understood the Problem Before Anyone Else Did Marcus had been a strength and conditioning coach for eleven years. He'd worked with professional football squads, Olympic track athletes, and NCAA programs. He knew exactly what was wrong with how performance data was managed, not because someone told him, but because he'd lived inside the problem every day. Every morning, he'd open four browser tabs, a spreadsheet, and a WhatsApp thread just to answer one question: Is this athlete safe to train today? HRV from one app. Sleep data from another. Yesterday's load from a Google Sheet. Wellness check-ins in a form nobody filled out consistently. Injury notes in a physio's personal folder. The picture was always incomplete, not because the data didn't exist, but because no system was designed to assemble it. He wasn't guessing the problem. He was the problem's daily victim. So he built something. ────────────────────────────────────────── The First Version Had Real Value What Marcus and a developer friend put together in six weeks was genuinely useful. A React frontend. Static JSON files simulating the data feeds he wished he had. A morning readiness dashboard showing each athlete's status: green, amber, red. ACWR calculations. A training plan view. A return-to-play protocol tracker. It looked like a real platform. It felt like one. When he demoed it to his performance director, the response was immediate: "This is what we've been trying to build for two years." The prototype surfaced something important. The problem wasn't that nobody had the data. The problem was nobody had designed the right lens to look at it through. Marcus had. His system organized information around the questions coaches actually ask, not the questions software vendors assume they ask. The initial build worked. For one squad. In static conditions. With fake data. And that was exactly the point where it started to matter, and exactly the point where its limitations became unavoidable. ────────────────────────────────────────── What Started Breaking The prototype had no backend. Data was hardcoded. Every "insight" was pre-written. The readiness scores didn't calculate; they were authored. When a second sport scientist saw the demo and said, "Can we plug in our GPS data?" there was no honest answer that didn't involve a complete rebuild. More specifically: The data layer was decorative. The JSON files looked real but required manual authoring for every scenario. There was no pipeline, no ingestion, no validation. Any live deployment would mean the dashboard showed stale or fabricated numbers, which in a performance context is worse than showing nothing at all. The AI insights were static strings. Every "AI-generated" recommendation was hardcoded text. In the prototype, this was fine. It demonstrated the concept. In production, it would mean the same insight appearing for every athlete regardless of their actual state, silently eroding clinician trust. The system had no concept of time. Training load calculations, ACWR ratios, wellness trends, all of these are temporal by definition. The prototype rendered them as snapshots. A real system needed rolling windows, historical comparison, and the ability to detect change over time. There was no role isolation. The role switcher in the UI was cosmetic. A physio and a performance director seeing the same underlying data with a CSS class change was not access control, it was theater. Nothing would survive a real integration. Real wearables return messy, incomplete, delayed data. The system had no error handling, no retry logic, no fallback states. The first real data feed would have broken the UI in ways that were invisible until they were catastrophic. The system was not wrong. It was early. ────────────────────────────────────────── Why They Didn't Just Fix It Themselves Marcus understood sport science. His developer understood React. Neither of them had built a production data system before, and that gap is not a skills deficiency, it is a domain specialization. What they needed was not someone to rewrite their frontend. The frontend was actually good. The visual hierarchy was sharp, the domain terminology was accurate, the workflows reflected how coaches genuinely think. That institutional knowledge was irreplaceable and not to be discarded. What they needed was: • A real-time data layer that could ingest from multiple sources reliably • A calculation engine that could run ACWR, load zone distributions, and readiness scoring against live data • A structured API contract between the front and back end • Authentication and role-based data scoping that actually enforced access boundaries • Observability, so when something silently broke, someone would know The prototype had proven the concept. The job now was to make the concept dependable. ────────────────────────────────────────── What We Actually Did We kept the frontend. Almost entirely. The visual design, the component architecture, the domain-accurate terminology, all of it stayed. We refactored the data layer, not the UI layer. The prototype's greatest strength was its UX fidelity to how coaches actually work, and we had no interest in rebuilding that from scratch. We built a real data ingestion pipeline. Rather than static JSON, we designed a service layer that could ingest from GPS units, HRV monitors, and wellness form submissions. Each source had its own adapter with validation, normalization, and error handling. Partial data was acceptable; silently wrong data was not. We replaced static calculations with a live computation engine. ACWR calculations now ran against a rolling 28-day window of actual load data. Readiness scoring pulled from real HRV baselines, not fixed numbers, and recalibrated as an athlete's personal baseline shifted over a training block. We replaced pre-written AI insights with a rules-based inference layer. Every insight shown in the platform now corresponded to a condition that was evaluated against live data. If Lena Vasquez's ACWR crossed 1.3 and her HRV dropped more than 15% from her 7-day baseline, the injury risk flag was triggered, not because it was hardcoded, but because those conditions were true. We implemented real role-based access control. A physio sees medical data, injury history, and RTP protocols. A sport scientist sees load analytics and benchmarks. A performance director sees the squad-level overview. A head coach sees readiness and today's session. The frontend already had role-switching built in, we gave it actual enforcement. We added observability throughout. Every data ingestion event was logged. Every calculation that produced an out-of-range result generated an alert. If a data source stopped sending, the system surfaced a staleness warning rather than silently displaying old numbers as current. ────────────────────────────────────────── Tech Stack React 19 + Vite, Tailwind CSS v3, Recharts, React Router v7, Node.js + Fastify, PostgreSQL + TimescaleDB, Redis, GPS/HRV/sleep data adapters (Catapult, Polar, Garmin), Google Forms/Typeform ingestion, Auth0, row-level security, Sentry, Datadog, Railway/Render, Vercel, Supabase Storage What Changed The morning workflow Marcus had been running across four tabs and a spreadsheet now ran in a single view that was populated automatically before he arrived at the training ground. The difference wasn't just convenience. It was confidence. When the dashboard flagged an athlete as high-risk, the coaching staff could interrogate why and trust the answer. When a return-to-play progression showed 80% completion, that number reflected actual criteria met against measured data, not a manually updated percentage. The platform was no longer a demo tool. It was a clinical decision-support system. For the squads using it, the shift was measurable: fewer reactive injury responses, more consistent load monitoring, and perhaps most importantly, a shared language between coaching staff, physios, and sport scientists built around the same data rather than competing interpretations of separate sources. ────────────────────────────────────────── The Part That Rarely Gets Said Most platforms built in this space start from the software side. Someone builds a data collection tool, adds a dashboard, and then tries to reverse-engineer what coaches actually care about. Athliq started from the other direction. A domain expert who understood the problem at a professional level built the frame first, and built it correctly. The pain points were real, the workflows were accurate, the terminology was precise. The engineering work didn't fix a bad idea. It made a good idea survivable. That distinction matters more than most technical case studies acknowledge. The hardest part of building a platform like this is not the infrastructure. It's knowing which questions to answer. That knowledge was already there. Our job was to make sure the system could keep answering them reliably, at scale, over time. ────────────────────────────────────────── Athliq is now in active deployment across two professional squads and one university performance program. The morning readiness dashboard processes real-time data from four integrated sources and serves role-scoped views to performance directors, sport scientists, physiotherapists, and athletes.
1
3
2K
2
KovaRisk: When the Interface Knew More Than the System ────────────────────────────────────────── The Expert in the Room Compliance officers don't struggle to understand risk. They struggle to act on it fast enough. The team behind KovaRisk understood this precisely. They had spent years inside financial institutions watching the same dysfunction repeat: alerts buried in spreadsheets, investigations tracked in email threads, audit trails reconstructed after the fact. They knew what the interface needed to feel like because they'd lived with the one that didn't. So they built it. Fast. Exactly as they'd imagined it. What emerged was sharp: a risk monitoring dashboard with filterable alert feeds, entity profiles with 12-month risk trajectories, a rule engine with toggle controls, and an audit log that felt immutable. The scenario switcher let compliance teams stress-test different alert load states. The side panel made investigations feel contained and intentional. It looked like a system that had survived production. It hadn't been asked to yet. ────────────────────────────────────────── What Existed Was a Strong Interface - Not a System Every alert in KovaRisk was generated at startup. Every risk score was computed by a random seed function. Every status change - Investigating, Resolved, Escalated - lived in component state. Every timeline event was appended to an in-memory array. Every rule toggle disappeared on refresh. The audit log recorded nothing. The export downloaded a snapshot of what React was holding at that moment. The entity risk history was a curve drawn from a formula, not a record. The logic was there. But it had nowhere to live. A compliance officer investigating a high-risk wire transfer would open the side panel, read the plain-English rule explanation, mark the alert as Investigating, add an internal note - and lose every one of those actions the moment they refreshed the browser. No colleague could see what they'd done. No regulator could verify it had happened. In financial compliance, that's not a UX problem. It's a liability. The prototype validated the workflow brilliantly. It exposed exactly how a compliance team would move through their day. But three things were missing: a source of truth, a coordination layer, and a trail that could be audited under pressure. ────────────────────────────────────────── They Didn't Need More Features - They Needed a System Behind the Interface The team came with a clear idea and a working prototype. What they needed was the architecture that made the prototype a product - the layer that turned interface actions into durable facts. Not a rebuild. A foundation. ────────────────────────────────────────── The Layer That Made It Dependable Data Models: Giving State a Home The first thing to reconstruct was where the data should actually live. KovaRisk's frontend implied a clear schema - alerts, entities, rules, audit events - but none of it persisted. The production system needed a PostgreSQL core with five primary entities: • Alert — with foreign keys to Entity, Rule, Transaction, and a JSONB timeline column for ordered event history • Entity — with risk tier, jurisdiction metadata, and a one-to-many relationship to RiskScore snapshots • Rule — with active/disabled state, trigger thresholds, false-positive tracking, and a versioning mechanism so changes to rules didn't retroactively alter historical alerts • AuditEvent — append-only, with actor ID, action type, target reference, and a server-generated timestamp that clients cannot modify • InternalNote — owned by an alert, with authorship and a soft-delete flag to preserve compliance integrity Every status change, note, escalation, and flag the UI handled ephemerally became a write to this schema. The Alert Generation Engine: Replacing the Seed Function In the prototype, 85 alerts appeared because a loop ran 85 times at startup. In production, alerts are the output of a Transaction Monitoring Service - a background process that runs continuously against incoming transaction streams. This service: • Evaluates each transaction against every active Rule definition • Computes a risk score using rule weights, entity risk tier, jurisdiction flags, and behavioral baselines • Creates an Alert record only when a threshold is breached • Emits an event to a notification queue for high-risk triggers The rule engine the UI let users toggle wasn't decorative. Each rule mapped to an evaluation function in the monitoring service. Disabling a rule didn't just grey out a card - it removed it from the active evaluation set. Re-enabling it didn't retroactively generate alerts it would have caught; it resumed from the point of activation. That distinction mattered for regulatory defensibility. ────────────────────────────────────────── Async Workflows: The Operations the UI Implied But Couldn't Sustain Several interactions in the prototype implied workflows that couldn't complete synchronously. Escalation - When an alert was escalated, the UI changed a status badge. In production, escalation triggers a queue job that: notifies the senior compliance officer via a configured channel, creates a case record linking the alert, and starts a response SLA timer. The UI reflects the outcome - it doesn't produce it. Scheduled Screening - The Sanctions Screening Match rule in the prototype was static. In production, it's a nightly job that re-screens all active entities against updated OFAC, EU, and UN sanctions lists - generating new alerts if a previously clean entity now appears. The results feed back into the alert pipeline. Report Export - The dashboard's Export Report button downloaded a text file of whatever React was holding in memory. In production, report generation is an async job: the user requests the report, the job runs server-side against the live database, and a download link is returned when ready. The content is a verifiable, timestamped record - not a UI snapshot. ────────────────────────────────────────── The Audit Log: From Feed to Fact The prototype's audit log was populated by a generateAuditLog function. It looked comprehensive and immutable. It was neither. Production audit events are written by the API layer on every state-modifying operation - before the response is returned to the client. The table is append-only. No update operations are permitted on AuditEvent records. Timestamps are server-generated in UTC and stored with full precision. Actor identity comes from the authenticated session, not from a string the client sends. The audit log the interface displayed was a simulation of accountability. The production version is the accountability. ────────────────────────────────────────── Tech Stack 1. Frontend: React + Vite, React Router v6, Recharts, React Context + local state, TanStack Query 2. Backend: Node.js + TypeScript, Fastify, Prisma, PostgreSQL, Redis, BullMQ, Passport.js + express-session 3. Infrastructure: AWS ECS / Railway / Render, S3, AWS Secrets Manager / Doppler, Sentry + Datadog, GitHub Actions 4. External Integrations: OFAC / ComplyAdvantage, Refinitiv World-Check, SendGrid / SMTP, Webhooks ────────────────────────────────────────── From Interface to System The prototype answered the right questions. It proved the workflow was sound, the information hierarchy was correct, and the alert investigation pattern worked the way compliance officers needed it to. What it couldn't answer was: what happens when two investigators open the same alert simultaneously? What happens when a rule change needs to take effect immediately across 200 pending alerts? What happens when a regulator asks for every action taken on a specific entity over the past 18 months? Those questions don't live in the interface. They live in the system. KovaRisk's interface was always strong. What it needed was the architecture to make it real - persistent, coordinated, auditable, and defensible under scrutiny. The logic existed from the beginning. We gave it somewhere to live.
2
2K
2
Case Study: From Prototype to Production — Building a Credit Management Platform for Ad Operations The Starting Point The founder wasn't guessing the problem. They had spent years inside the ad-credit ecosystem, managing wallet balances across regions, reconciling top-ups via bank wire and stablecoin, chasing compliance documents, and watching campaigns stall because a pixel stopped firing at 2am. They knew exactly what a credit management platform needed to look like. So they built one. Using Figma wireframes translated directly into a React frontend, they shipped a working prototype in days. Two portals were created. One for clients managing wallets and ad accounts, and one for internal operators handling treasury, compliance, and risk. It included real-time spend charts, AI-driven anomaly detection banners, a work queue for ops teams, and an embedded AI assistant that could answer questions about balances, compliance status, and pixel health. The prototype proved the concept. Clients could see their wallet balances, request top-ups, allocate funds to ad accounts, and track campaign performance. Admins could manage treasury operations, review KYB pipelines, monitor risk scores, and process a prioritized work queue. The domain logic was sound. The UX was sharp. But the system was never designed to survive real load. What Started Breaking The prototype worked on mock data. Every API call returned hardcoded arrays after a random delay. There was no backend. No database. No real authentication. The login screen accepted any email and assigned a role based on a toggle switch. Session state lived in localStorage as a raw JSON blob. This was fine for demos. It stopped being fine the moment real money entered the picture. The specific fractures: 1. No transactional integrity. Wallet balances, top-ups, fund transfers, and ad account allocations were all simulated. In a live system, a transfer of $25,000 from a master wallet to a regional sub-wallet is not a UI state change. It is a financial transaction that requires atomicity, audit trails, and rollback capability. The prototype had none of this. 2. Compliance was cosmetic. KYB document statuses were static labels. In production, document verification involves third-party identity providers, expiration tracking, automated re-upload reminders, and regulatory audit logs. The prototype rendered badges like "Verified", "Pending", and "Missing", but nothing enforced the state machine behind them. 3. Risk scoring was decorative. The AI risk badges showed tooltips like "Large P2P transfer detected, document expiring", but these were string literals, not outputs from a scoring model. Real risk assessment requires transaction pattern analysis, velocity checks, cross-referencing compliance status, and escalation workflows that route to the right ops agent. 4. The work queue had no backend. Urgent items like "$45,000 P2P transfer anomaly" appeared in the queue, but resolving them was just a frontend state toggle. There was no case history, no assignment logic, no SLA tracking, and no integration with the compliance or treasury systems that actually needed to act on these events. 5. Multi-tenancy was absent. The platform served one mock client and one mock admin. Scaling to dozens of clients, each with their own wallets, sub-wallets, ad accounts, compliance profiles, and credit limits, required data isolation, permissioning, and tenant-aware queries that did not exist. 6. Ad platform integration was faked. TikTok metrics like impressions, clicks, ROAS, and pixel health were all static datasets. Production requires OAuth-based API integrations, rate-limited data syncing, webhook listeners for pixel status changes, and graceful degradation when platform APIs go down. The founder understood all of this. The prototype was never meant to be the product. It was meant to prove that the product was worth building. Why They Brought In a Team The gap between the prototype and production was not a matter of fixing bugs. It was an architecture problem. The founder needed: - A real backend with transactional guarantees for financial operations - A compliance engine that could enforce document workflows across jurisdictions - A risk system that could ingest transaction data and surface actionable alerts, not static strings - Multi-tenant data architecture with proper isolation and access control - Ad platform integrations that could handle real API contracts, rate limits, and failures - Observability including logging, monitoring, and alerting so the ops team could trust the system under load They did not need someone to rewrite the frontend. They needed someone to build the system underneath it. What We Delivered Financial Operations Layer We replaced the mock API with a transactional backend. Every wallet operation, including top-ups, transfers, allocations, and refunds, now runs through an auditable pipeline with: - Atomic balance updates with optimistic locking - Double-entry ledger for every fund movement - Idempotent transaction processing to prevent duplicate charges - Full audit trail with actor, timestamp, and before and after state Top-up requests now flow through a verification pipeline with submission, proof-of-payment upload, approval, and balance credit. Each step is recorded and reversible. Compliance and KYB Engine - We built a document lifecycle system that replaces static badges with enforced state transitions: - Documents move through missing → uploaded → under_review → verified → expired with rules governing each transition - Expiration monitoring triggers automated client notifications before deadlines - Third-party identity verification integration for director ID matching - Jurisdiction-aware requirements where different regions require different document sets - Audit-grade logging for every status change, reviewer action, and override The KYB pipeline now routes cases to specific compliance agents based on workload, region, and verification type. Risk and Anomaly Detection We replaced hardcoded risk labels with a scoring system that evaluates: - Transaction velocity based on spend acceleration versus historical baseline - P2P transfer patterns and threshold breaches - Compliance status correlation, such as expired documents combined with high spend - Account dormancy detection where inactivity triggers review Risk scores update in near real time. High-risk events automatically generate work queue items with priority, context, and suggested actions. Work Queue and Case Management We transformed the frontend-only task list into an event-driven operations system: - Events from treasury, compliance, and risk systems automatically create queue items - Assignment logic routes items to the right agent based on type, region, and capacity - SLA tracking with escalation rules for overdue items - Case history that records every action, note, and resolution - Enforced status transitions so items cannot be resolved without required actions Multi-Tenant Architecture We designed the data layer for tenant isolation from the ground up: - Each client organization has isolated wallets, documents, ad accounts, and transaction histories - Role-based access control separates client-facing and admin-facing data - API endpoints are tenant-scoped to prevent cross-tenant data leakage - Admin views aggregate across tenants with proper permissioning Ad Platform Integration We built a sync layer for TikTok Ads with an architecture that supports additional platforms: - OAuth-based account linking with token refresh management - Scheduled metric pulls with rate limit awareness and backoff - Pixel health monitoring via event signal tracking instead of static labels - Graceful degradation where stale data is clearly labeled if APIs fail Observability We added the infrastructure the ops team needs to trust the system: - Structured logging for every financial operation, compliance action, and API call - Health dashboards for backend services, integration sync status, and queue throughput - Alerting on anomalies such as failed transactions, sync delays, and SLA breaches - Error tracking with business context, not just stack traces The Outcome The system went from a prototype that could demo well to a platform that could process real money, enforce real compliance, and surface real risk under real load. What changed: - Financial operations now run with transactional guarantees. Wallet balances are accurate, auditable, and reconcilable. - Compliance is enforced, not displayed. Document workflows follow regulated state machines with full audit trails. - Risk detection is continuous and contextual. The ops team acts on scored alerts instead of static labels. - The work queue drives operations. Events flow in automatically, route correctly, and track resolution against SLAs. - Multi-tenancy works. New clients onboard into isolated environments without architectural changes. - Ad integrations sync reliably. When they fail, the system clearly shows it instead of masking stale data. The founder’s instinct was right from the start. The domain model, the UX, and the operational workflows all held up. What we built was the engineering foundation that made it dependable. The system worked until it didn’t. Not because the idea was flawed, but because it was never designed to handle this level of complexity. The prototype proved the product. The production system proved it could scale. Tech Stack Overview 1. Backend: Node.js (NestJS) 2. API: GraphQL 3. Auth: Auth0 4. Database: PostgreSQL 5. Cache/Queue: Redis 6. Search: Elasticsearch 7. Infrastructure: AWS 8. Containers: ECS Fargate 9. CI/CD: GitHub Actions 10. IaC: Terraform 11. Integrations: Stripe 12. Risk Engine: Python (FastAPI) 13. ML Pipeline: scikit-learn 14. AI Assistant: OpenAI GPT-4 15. Vector Store: Pinecone
2
1.9K
PostgreSQL
(2)
Follow
Message
Mufasil Iqbal
Karachi, Pakistan
Innovative Solution-Driven Developer
$1k+
Earned
1x
Hired
4.9
Rating
1
Followers
Follow
Message
Innovative Solution-Driven Developer
0
Get Licensed | Revenue Forecasting Algorithm
0
10
1
TMBR | Portal
1
65
0
Afkar | Framer Project
0
16
0
Getz Pharma | Gastro Guru
0
22
PostgreSQL
(1)
Follow
Message
Maaz M.
Karachi, Pakistan
Product Design, Growth and Developer | E-Books and Software
5.0
Rating
11
Followers
Follow
Message
Product Design, Growth and Developer | E-Books and Software
0
Kodsinc Home Services CRM I designed and built this AI-first CRM for home service businesses such as HVAC, plumbing and roofing companies. The goal was to make a powerful system feel simple for teams who are busy in the field, not sitting at desks. The product is organised around real daily work rather than generic CRM modules. The Call Desk shows the AI in action: it detects emergencies, streams the transcript live, extracts lead details automatically, suggests the next question and offers available emergency time slots. I kept the interface light and clean, with a deep green sidebar and soft mint accents, so dense information stays readable. Every screen uses realistic data and workflows instead of placeholder dashboards. The system covers the full customer journey: an inbox, a visual pipeline, contact profiles and good/better/best proposals with financing. It also includes automated follow-up cadences, performance reports and a trainable AI agent with its own knowledge base. Each feature answers one practical question: what needs attention now, who to call next and how to close the job. That keeps the product focused on what matters.
0
152
1
GPUStore: A Modern GPU Shopping and Discovery App I designed GPUStore to make buying graphics cards feel less like decoding a spec sheet and more like exploring a well-organized catalog. Instead of overwhelming users with dense tables and inflated resale listings, I structured the product around what PC builders actually ask: which generation is this, what did it originally cost, and what will it do for me? The visual identity pairs a dark charcoal interface with electric lime green accents. The green guides interaction. It marks active filter tabs, the Shop Now and Add to Cart buttons, the cart badge, saved hearts, and the NVIDIA brand label. Dark cards and high-contrast product renders give each card a premium, showroom feel while keeping specs and prices easy to read. The home screen opens with a personal greeting, a search bar with a real example query ("RTX 4090"), and quick category chips for All, NVIDIA, AMD, Accessories, and Builds. A bold RTX 50 Series banner promotes new releases, followed by a "Featured GPUs" section. Each card shows the architecture, release year, launch price, and a one-tap cart button. The All GPUs screen turns browsing into a timeline. Segmented filters (All, GTX, RTX, By Year) sit above a 2016 to 2026 range slider, so users can explore generations and their original launch prices (MSRP). Seeing the GTX 1080 at $599 next to the RTX 4090 at $1,599 makes a decade of pricing history readable at a glance. The product detail screen prioritizes clarity. An image carousel with wishlist and share actions leads into the architecture and release date, then a dedicated MSRP panel. A compact Key Specifications table follows (Ampere architecture, 8,704 CUDA cores, 10 GB GDDR6X, 320-bit memory bus, 320 W TDP). A sticky quantity stepper and Add to Cart button stay within thumb reach. A short note clarifies that launch price shows original MSRP and actual market prices may vary. The profile screen gives users a personal hub with their saved items, orders, builds, and member-since year. Wishlist, Orders, and Settings tabs keep everything in one place, and saved cards show the date each item was added. Across the app, a five-tab bottom navigation (Home, Browse, Wishlist, Orders, Account) keeps the structure predictable. Frontend I built the client as a cross-platform mobile app using React Native with TypeScript. React Navigation handles the bottom tabs and the stack flows between listing, detail, and cart. TanStack Query manages server data, caching, and loading states, while Zustand holds lightweight local state such as cart count, wishlist toggles, and active filters. The year-range slider and category filters update query parameters, so results refresh without a full reload. Reusable components (GPU card, spec row, filter chip, quantity stepper) are driven by a shared design-token file for the dark theme and green accent, keeping the UI consistent across screens. Backend The backend is a Node.js REST API (Express or NestJS) backed by PostgreSQL through Prisma. The core schema covers users, GPUs, wishlists, carts, cart items, orders, order items, and builds. Each GPU record stores brand, series (GTX or RTX), architecture, release date, MSRP, CUDA cores, memory size and type, bus width, and TDP. MSRP is stored separately from the live selling price, which matches the app's "launch price vs. market price" approach, and all money values are stored as integer cents to avoid rounding errors. Endpoints support search, brand, series, and year-range filtering (GET /gpus?series=RTX&yearFrom=2016&yearTo=2026), product details, cart and wishlist actions, and order history. Authentication uses JWT with refresh tokens, images are served through a CDN, and Stripe handles checkout. The result is a GPU shopping experience that feels premium, informative, and easy to navigate, built for gamers and creators.
1
176
0
I designed this concept website for a custom home builder. The idea was to let people design their house themselves and see a real price before they ever speak to a salesperson. The challenge was to make something as complex as building a home feel simple, visual and even fun. Hero. The headline makes the promise in bold, tightly set type: "Design your new home in 3D. See what it costs in minutes.", with a hand-drawn rust underline beneath "in minutes." On the right, a model farmhouse sits inside an architect's frame with dimension lines (65′ 10″ × 32′ 6″) and a north arrow. Under it, a project card shows the design name, living area and ballpark price, with a dark "Customise this plan" bar. Three small checkmarks, "No sign-up," "Takes about 3 minutes" and "Free consultation," remove hesitation before the visitor starts. Visual language. I built the whole site around an architectural drawing set: Numbering: every section is labelled like a blueprint sheet (A-102, A-201, A-301), and monospace labels read like annotations on a plan. Grid: a faint drafting grid runs behind the page. Palette: warm paper cream, charcoal ink and one rust-orange accent for buttons and key prices. The navigation is numbered too (01 Design yours, 02 How it works, 03 Our homes, 04 FAQ), with a US/UK currency switch and a click-to-call phone number. The 3D designer. This is the heart of the site. On the left, a live 3D model of the house; on the right, a step-by-step panel: Start: choose from four starting designs (Contemporary, Modern Farmhouse, Traditional, Single-Storey) or start from scratch. Size: storeys, a living-area slider, a rectangle or L-shaped footprint, ceiling height and basement. Rooms: steppers for bedrooms and bathrooms, plus chips for a home office, laundry, pantry or media room. Roof: shape, pitch, material and colour swatches. Exterior: cladding type, colour and accent options like a stone base. Windows: window count, window style, rear doors and balconies. Outdoor: garage size, porch and patio, plus a roof terrace or fireplace. Finish: Essential, Premium or Luxury, ending on a summary. Every choice rebuilds the 3D house instantly, and a live estimate at the bottom of the panel updates with each decision. The viewer has its own controls: front, back, side and aerial cameras; a night mode with glowing windows; an inside cutaway of the floor plan; dimension overlays; and zoom. Supporting the decision. The rest of the page answers what a buyer asks next: "Three steps from first sketch to front door" uses large outlined numbers and simple line icons. "One team. One price. No surprises." lists the builder's guarantees. "Start from a favourite" shows four home designs as plan cards with specs and prices, each loading straight into the designer. The build schedule is a Gantt-style timeline across 11 months, from consultation to handover, separating "with you" steps from "we handle it." Client notes and FAQ: client notes pull out one large quote, and the FAQ gives five straight answers. The page closes on a dark section, "Your home, designed in minutes.", with a line drawing of a house and two clear actions: design your home or talk to the team.
0
34
1
I designed this website for Kodsinc, a digital product and AI studio. The goal was to feel cinematic and ambitious from the first second, while explaining clearly what the studio builds and how it works with clients. The hero opens on a full-screen video of a glowing wireframe city with the Kodsinc wordmark at its centre. Beneath it, a tilted band scrolls through the studio's capabilities: AI voice agents, chat bots, automation, data and analytics, SaaS platforms and custom CRMs. As visitors scroll, the header condenses into a compact "Start a project" pill that expands into a numbered navigation menu. An AI assistant called Aria greets visitors, asks their name and offers suggested questions, so the site demonstrates the studio's own product from the start. For services, I designed a 3D card carousel. Seven vertical cards fan out side by side, and the selected one expands to reveal an illustration and the tools behind that service. The work section, "Work built to move," presents five products (Northstar, Flow CRM, AriaFin, WhatsApp SDR and Aria Assistant) as large stacked cards with device mockups. The page then builds trust. An interactive world map shows offices across five countries, and "Remote by location. Onsite in how we deliver" explains how the team stays close to clients. Security and compliance badges appear before the FAQ. The contact form sits beside the FAQ as a fill-in-the-blank sentence with a dropdown for the type of help needed. The page closes with the line "From Code to Intelligence," which sums up the studio in four words.
1
180
PostgreSQL
(2)
Follow
Message
Abdul Wahab
pro
Karachi, Pakistan
Lead Full Stack Developer | AI/ML Engineer | Data Scientist
New to Contra
Follow
Message
Lead Full Stack Developer | AI/ML Engineer | Data Scientist
0
AI Clinical Phenotype Mapping Platform Development
0
3
0
Full-Stack Limo Booking Platform Development
0
2
0
Digital Ordering System Development for Automotive Solutions
0
1
0
Mobile-First Digital Bike Financing Platform
0
2
PostgreSQL
(1)
Follow
Message
Ayesha Ashraf
Karachi, Pakistan
Creating robust apps across the full tech stack.
Follow
Message
Creating robust apps across the full tech stack.
0
Built a full-stack HRMS in under 2 weeks as a side project to dive deeper into Python and backend development! Features so far: Employee management with role-based access (Admin / HR / Employee) Leave request workflow with approval/rejection Attendance tracking — clock in/out, monthly calendar view Payroll engine — tax brackets, overtime, pro-rated salary, PDF payslip download Notifications, search, pagination, CSV exports Dockerized and deployed Stack: Next.js · TypeScript · Tailwind · FastAPI · PostgreSQL · SQLAlchemy The backend was a new challenge for me: SQLAlchemy relationships, Alembic migrations, Decimal precision for payroll calculations, streaming PDF responses — all of it was tricky at first, but I’ve learned a lot along the way. URL: https://lnkd.in/dRg86PtQ (https://lnkd.in/dRg86PtQ)This is just the beginning! I plan to add many more features.
0
89
1
Millions of perfectly usable items spend most of their lives sitting unused like scientific calculators after exams, cameras after vacations, power tools after home repairs, and camping gear after weekend trips. Meanwhile, someone nearby is buying the exact same item for a single use. I built Borrowly to solve this problem. Borrowly is an AI-powered hyperlocal marketplace where people can rent everyday items from trusted community members. Renters save money by borrowing instead of buying, while owners earn passive income from items they already own. To make listing effortless, Borrowly introduces an AI Room Scan experience. Users simply scan their room, and AI detects unused items, generates listing details, suggests rental pricing, estimates demand, and predicts potential earnings in seconds. The prototype also includes secure booking, owner mode, AI-assisted listings, trust and verification, earnings dashboards, and a complete rental journey from discovery to return. More than a rental marketplace, Borrowly encourages a shift from ownership to access helping communities save money, reduce waste, and make better use of the things they already have. Nothing should sit unused. Borrowly (https://app.flowstep.ai/file?activeFileId=4adf3de3-a851-4e21-b438-d6ed84878f43)
1
205
0
Karachi Brasserie deserved better than a phone-only reservation system 🍽️ BEFORE: A genuinely great modern-European restaurant inside the historic Hotel Excelsior in Saddar , but their entire online presence was scattered across directory listings, with reservations handled by manual phone calls and no real website of their own. AFTER: I built them a fully custom, mobile-responsive website on @Base44 — complete with their menu, brand story, and a live table reservation system. https://excelsior-karachi-dine.base44.app/ The automation: Customers pick a date, see real-time table availability, and book instantly. The system auto-confirms via email, notifies the restaurant immediately, and blocks any customer from double-booking. No more manual phone juggling. Small local businesses like this deserve a digital presence that matches the quality of what they actually offer. This one felt personal , built it in a day. #GiveItAGlow @Base44
0
115
0
Designed and developed a modern restaurant landing page focused on showcasing menu, visuals, and seamless ordering experience.
0
68
PostgreSQL
(1)
Follow
Message
Explore people