# techpotions > Custom web apps and AI products, brewed to fit. Made, not generated: for founders who care about craft. techpotions is a software & AI studio. We ship production systems for founders: server-first Next.js web apps, AI products (agents, RAG pipelines, and automations with evals, cost dashboards and human-in-the-loop fallbacks), React Native mobile apps, legacy migrations, internal platforms, and growth experiments. Every case study below is a real, shipped client engagement — nothing is invented. To start a project, email info@techpotions.com. ## Services - [Web apps](https://techpotions.com/services/web): Server-first Next.js apps with type-safe APIs, sane data layers, and ships you can be proud of. - [AI products](https://techpotions.com/services/ai): AI agent development and automation for production: an AI automation agency that ships agents, RAG, and agentic workflows with evals, observability, and a fall… - [Mobile](https://techpotions.com/services/mobile): React Native apps that feel native. Single codebase, weekly releases, sane build pipeline from day one. - [Migrations](https://techpotions.com/services/migrations): Move off the legacy stack without losing data, traffic, or sleep. Incremental, reversible, boring on purpose. - [Platforms](https://techpotions.com/services/platforms): Internal tools, dashboards, and CMSes your team actually likes using. Boring tech, sharp UX. - [Growth labs](https://techpotions.com/services/growth-labs): Landing pages, A/B tests, and analytics that don’t lie. Quick experiments to prove what moves the needle. ## Free tools - [llms.txt generator](https://techpotions.com/tools/llms-txt-generator): Generate a spec-correct llms.txt file for your site, so AI assistants read you right. - [App development cost calculator](https://techpotions.com/tools/app-development-cost-calculator): Scope a web or mobile app and get an honest 2026 cost and timeline range. - [AI receptionist cost calculator](https://techpotions.com/tools/ai-receptionist-cost-calculator): Compare an AI receptionist against in-house staff and answering services, in dollars. - [LLM API pricing calculator](https://techpotions.com/tools/llm-api-pricing-calculator): Compare Claude, GPT, Gemini and DeepSeek token costs on your real usage. - [AI robots.txt generator](https://techpotions.com/tools/ai-robots-txt-generator): Block or allow GPTBot, ClaudeBot and 13 more AI crawlers with paste-ready rules. ## Free Claude Code downloads - [Claude Code skills pack](https://techpotions.com/products/claude-code-skills): Ten ready-made skills, plus the install and activation guide people actually search for. - [Claude Code hooks pack](https://techpotions.com/products/claude-code-hooks): Eight production-grade hooks with the missing documentation: events, stdin payloads, exit codes. - [Claude Code subagents pack](https://techpotions.com/products/claude-code-subagents): Six specialist subagents, with the frontmatter reference and delegation patterns explained. - [CLAUDE.md templates](https://techpotions.com/products/claude-md-templates): Five battle-tested CLAUDE.md files: Next.js, Python, monorepo, API service, and a lean starter. - [Claude Code statusline](https://techpotions.com/products/claude-code-statusline): A one-file statusline showing model, git branch, context left and session cost. Paste, done. ## Selected work (real client builds) - [Taqaddum — bilingual school assessments — Taqaddum](https://techpotions.com/work/taqaddum): A bilingual (Arabic / English) assessment, attainment and progress-reporting platform for schools. Unified exam builder across question types, baseline + mid-y… - [Ansari Law Associates — Lahore legal consultancy — Ansari Law Associates · Est. 1950](https://techpotions.com/work/ansari-law): A distinguished marketing site for a 75-year-old Lahore legal consultancy serving banking, corporate, ADR and overseas-Pakistani clients. Heavy editorial typog… - [AI Calling Agent — outbound AI voice ops — AI Calling Agent](https://techpotions.com/work/ai-calling-agent): An outbound AI voice product with a back-office dashboard for ops: Dashboard, Calls, Transcriptions, AI Agents, CRM, Users and Settings — the full operational… - [Chatberry — AI WhatsApp marketing platform — Chatberry](https://techpotions.com/work/chatberry): An Arabic-first WhatsApp marketing platform: AI-powered chatbot, bulk official-WhatsApp messaging, multi-agent shared inbox, interactive buttons and rule-based… - [ReadyShortlist — vetted tech talent in 72 hours — ReadyShortlist](https://techpotions.com/work/readyshortlist): An end-to-end product for Pakistan’s vetted tech-talent network — marketing site plus admin portal for managing candidates, employers, briefs, the candidate fu… - [Parcoursup Zen — AI orientation for French post-bac — Parcoursup Zen](https://techpotions.com/work/parcoursup-zen): A French-language guidance platform that helps post-bac students navigate Parcoursup. AI matches student profiles against 23,000+ formations, tracks applicatio… - [Ashpulp Technologies — AI / data / dev studio — Ashpulp Technologies](https://techpotions.com/work/ashpulp-technologies): A studio marketing site for Ashpulp Technologies — a digital partner combining data analytics, AI, marketing and web/software development. The site reports 40+… - [Satya Recs — Lisbon multidisciplinary label — Satya Recs](https://techpotions.com/work/satya-recs): A Lisbon-based multidisciplinary label showcasing cutting-edge electronic music, watercolour painting, landscape photography, short films and yogic teachings.… - [Altamar Charters — luxury yacht rentals in Cancún — Altamar Charters](https://techpotions.com/work/altamar-charters): A Spanish-language marketing site for a Cancún yacht-charter operator with a 20+ vessel fleet, captain-included pricing from $10,000 MXN, and booking handled d… ## Comparisons - [Next.js vs WordPress](https://techpotions.com/compare/nextjs-vs-wordpress): The framework behind custom web products versus the platform that runs a huge share of the web. Here is the honest call on which fits your project, from a stud… - [PostgreSQL vs MongoDB](https://techpotions.com/compare/postgresql-vs-mongodb): The default relational workhorse versus the document database that made schemas flexible. Which one should your app run on? Here is how we decide, a studio tha… - [Strapi vs Sanity](https://techpotions.com/compare/strapi-vs-sanity): Two popular headless CMSes with very different philosophies: self-hosted and API-first versus hosted and structured-content-first. Here is how they actually di… - [n8n vs Zapier](https://techpotions.com/compare/n8n-vs-zapier): The self-hostable automation platform that became the default for AI workflows versus the app-connector that defined the category. We run n8n in production and… - [n8n vs Make](https://techpotions.com/compare/n8n-vs-make): The two visual automation canvases people graduate to after Zapier. One is a polished hosted service priced by operations; the other is source-available and se… - [Vapi vs Retell AI](https://techpotions.com/compare/vapi-vs-retell): The two platforms most teams shortlist for AI voice agents. We have shipped a production outbound voice product on a custom LiveKit pipeline, so we know exactl… ## Writing (lab) - [Building an AI Support Agent That Reads Your Help Docs](https://techpotions.com/lab/building-ai-support-agent-from-help-docs): A practical how-to guide for building an AI support agent from help docs that stays current, cites sources, and dodges the hallucination trap. Lived detail fro… - [Escalate or Deflect: The AI Support Handoff Decision Framework](https://techpotions.com/lab/ai-customer-support-escalation-decision-framework): Knowing exactly when to escalate from AI to a human separates cost-saving automation from brand-destroying frustration. Here’s the 3-factor decision framework… - [8 Real AI Voice Agent Use Cases That Won’t Break Your Business](https://techpotions.com/lab/ai-voice-agent-use-cases-local-business): From booking to overflow, we tested these in production. Here’s what actually works—and where it cracks. - [AI Cold Calling: Laws, Tactics & What Wins Meetings](https://techpotions.com/lab/ai-cold-calling-laws-tactics-wins-meetings): AI cold calling can book meetings if you don't annoy prospects or break the law. Drawing from building a real outbound AI voice ops platform, here's how to bal… - [Automate Customer Support Calls with AI Without Losing Trust](https://techpotions.com/lab/automate-customer-support-calls-ai): A practical guide to automating the repeatable 60% of your support calls with voice AI—while keeping the human touch where it counts. - [How to Make an AI Phone Agent Sound Human](https://techpotions.com/lab/make-ai-voice-agent-sound-human): To make an AI voice agent sound human, you need to solve three things that instantly break the illusion: latency, turn‑taking, and barge‑in. - [How to Set Up an AI Receptionist That Never Misses a Call](https://techpotions.com/lab/ai-receptionist-setup): An AI receptionist isn't a phone tree — it's a conversation. This guide shows you how to connect a phone number to AI agent that answers, triages, books, and t… - [AI Voice Agents Called: Inside a Real Call](https://techpotions.com/lab/how-do-ai-voice-agents-work): How do AI voice agents work? Explore a plain-English walkthrough of a phone call from ring to hang-up, revealing the telephony, real-time AI, and back-office o… - [7 WhatsApp Bot Ideas for Local Businesses](https://techpotions.com/lab/whatsapp-bot-ideas-local-business): If you’re looking for whatsapp bot ideas local business owners can actually use to reduce no-shows and grow revenue, this list is built from the trenches — not… - [Build an Outbound AI Calling Agent That Actually Sounds Human](https://techpotions.com/lab/build-ai-calling-agent-outbound-sales): The real stack behind an outbound AI calling agent: telephony plumbing, lightning-fast STT/TTS, and the latency budget that makes or breaks a sale. Learn the e… - [WhatsApp AI Agents That Qualify Leads While You Sleep](https://techpotions.com/lab/whatsapp-ai-lead-qualification): Build a WhatsApp AI agent that screens leads against your BANT criteria in natural conversation, tags them cold/warm/hot, and routes the best ones to a human r… - [WhatsApp AI Customer Support Bot That Won’t Drop Context](https://techpotions.com/lab/setting-up-whatsapp-ai-support-bot): Practical, step-by-step guide to building a WhatsApp AI customer support bot that pulls answers from your help docs, decides what to escalate, and hands off to… - [9 WhatsApp Automations That Save Small Teams Hours](https://techpotions.com/lab/whatsapp-automation-for-small-business-9-workflows): WhatsApp automation for small business can reclaim double-digit hours each week. We share 9 battle-tested workflows from building Chatberry, each with an hones… - [How to Build a WhatsApp AI Chatbot for Your Business](https://techpotions.com/lab/how-to-build-whatsapp-ai-chatbot): The honest build path: WhatsApp Business API access, an LLM behind it, and the guardrails that keep it from going off-script. What it costs and where it breaks. - [How We Cut an LLM Feature's Cost 60% in Production](https://techpotions.com/lab/reduce-llm-api-cost-production): When our outbound AI voice agent's LLM bill started outpacing telephony, we stacked six architectural levers to reduce LLM API cost in production by 60%—withou… - [What We Automate With n8n and What We Refuse To](https://techpotions.com/lab/what-we-automate-refuse-n8n): Firewall between flow canvas and application code: n8n owns scheduling/fan-out. Business logic, auth, gates, anything that writes to a record stays in code. A… - [n8n Schedule Triggers and Daylight Saving: Set the Timezone](https://techpotions.com/lab/n8n-schedule-trigger-timezone-daylight-saving): The n8n schedule trigger timezone bug lurks silently. A hardcoded UTC cron feels right until daylight saving shifts your workflow by an hour—twice a year. - [n8n Webhook Authentication: Header Auth Done Right](https://techpotions.com/lab/n8n-webhook-authentication-header-auth): n8n webhook header auth is the first defense for public endpoints, but the docs overlook three critical mistakes: exposing credentials in source control, leavi… - [The One Field That Saves Your SEO When You Auto-Post to dev.to](https://techpotions.com/lab/n8n-auto-post-devto-canonical): Syndicate your blog to dev.to via n8n, but set the canonical_url field or risk duplicate content penalties. Practical gotchas and a working workflow. - [n8n Loop HTTP Request Until Done](https://techpotions.com/lab/n8n-loop-http-request-until-done): A concrete pattern for looping an n8n HTTP request until the API says “done” without double‑processing or timeouts, drawn from a real newsletter send pipeline… - [Two Scheduled Workflows Beat the n8n Wait Node](https://techpotions.com/lab/n8n-wait-node-long-running-workflow-split): Why the n8n Wait node is a liability for long-running jobs and how we replaced it with two scheduled workflows and a database row to build a resilient weekly n… - [RAG Pipeline Architecture, with Failure Modes](https://techpotions.com/lab/rag-pipeline-diagram-failure-modes): A RAG pipeline diagram is more than a workflow—it's a map of silent failure modes. This guide covers each architecture stage, from chunking to citation, with r… - [Custom AI Agents for Non-Developers: What’s Real](https://techpotions.com/lab/custom-ai-agents-non-developers-whats-real): A custom AI agent for non developers is entirely achievable—until you hit the four specific points where visual tools run out of road. - [Don’t Hash IPs Without Salt: The Math That Breaks It](https://techpotions.com/lab/hash-ip-address-analytics-gdpr-salted): The common trick to hash IP addresses for analytics and GDPR is broken by arithmetic anyone can do with a laptop. Here's the math that collapses the unsalted a… - [How to Create llms.txt](https://techpotions.com/lab/how-to-create-llms-txt): llms.txt is a plain Markdown file at your domain root that gives AI assistants a curated map of what matters on your site. - [SearXNG JSON API for LLM Grounding](https://techpotions.com/lab/searxng-json-api-ai-grounding): Replace paid search APIs with a self-hosted SearXNG instance that degrades gracefully. The real win isn't the cost—it's the resilience pattern that lets your a… - [When to Turn Off Next.js Image Optimization](https://techpotions.com/lab/when-to-turn-off-nextjs-image-optimization): Turning off Next.js image optimization looks like a mistake—until you trace the lossy pipeline. Here's when `images.unoptimized` is the right call and when it… - [AI Automation Agencies: Real vs Repackaged](https://techpotions.com/lab/ai-automation-agencies-real-vs-repackaged): How to spot the operators from the repackagers when you hire an AI automation agency — written by one who’ll tell you what our own pipeline broke. - [What Agentic AI Development Services Actually Ship](https://techpotions.com/lab/agentic-ai-development-services-what-you-actually-get): Deflate the marketing. The real deliverable of agentic AI development services is not the agent—it's the eval suite, the structured output contract, the handof… - [When Not to Use an AI Agent](https://techpotions.com/lab/when-not-to-use-ai-agent): When not to use an AI agent comes down to whether you can enumerate the steps. From our own publishing pipeline to our content generator's guardrail, we killed… - [Shiki in Next.js App Router: Zero Client JS](https://techpotions.com/lab/server-side-syntax-highlighting-shiki-nextjs): A how-to guide for zero-JS syntax highlighting in a Next.js App Router blog, built around Shiki’s server-side codeToHtml and a language allowlist that stops ed… - [What the Claude API Actually Costs](https://techpotions.com/lab/claude-api-cost): You're budgeting a Claude-powered feature, but the sticker price isn't your real bill. Our verified July 2026 pricing table, plus the two structural facts that… - [Next.js Hydration Mismatch: The SVG Gradient Trap](https://techpotions.com/lab/next-js-hydration-mismatch-svg-gradient-trap): If you've ever stared at a "next.js hydration mismatch" error with no obvious cause, an SVG gradient's id attribute might be the culprit. A single Math.random(… - [Getting Reliable JSON Out of an LLM in Production](https://techpotions.com/lab/reliable-llm-json-production-failures): Two production failure modes that break LLM JSON parsing—and how to detect and degrade gracefully. Includes exact code for 400 retries and a fence-safe parser. - [Block AI Crawlers: The 15 Bots That Matter](https://techpotions.com/lab/block-ai-crawlers-the-15-bots-that-actually-matter): Sorting the 15 AI crawlers by what blocking each actually costs you — not another copy-paste list. Corrects the two token mistakes nearly everyone makes about… - [Next.js Sitemap Not Updating? Here's the Real Fix](https://techpotions.com/lab/next-js-sitemap-not-updating-fix): If your Next.js sitemap is not updating after publishing new content, you're hitting a specific cache-coherence bug that isn't obvious from the docs. - [What AI-Assisted Posts Actually Do for a New Domain](https://techpotions.com/lab/what-ai-assisted-posts-do-new-domain): Do AI generated blog posts rank? We ran our own AI-assisted publishing pipeline on a brand-new domain (techpotions.com) for six months, and the honest answer i… - [We Sent 33 Cold Emails and Killed the Channel in Two Days](https://techpotions.com/lab/cold-email-reply-rate-benchmark-failure): We ran 33 cold sends across five segments, got zero genuine replies, and retired the channel. The real story isn't the 0% reply rate—it's what reaching statist… - [Handoff Is a Product Decision](https://techpotions.com/lab/human-in-the-loop-ai-agent-handoff): Handoff isn’t a safety disclaimer—it’s a product decision. Two shipped AI agents show how to place it at the point where mistakes are expensive, not where mode… - [The n8n Workflows We Actually Run in Production](https://techpotions.com/lab/n8n-workflow-examples-production): Not another gallery of demo templates. Two n8n workflows we depend on daily, the design split that prevents deploy hell, and the production bug that shipped br… - [WhatsApp as a Booking Channel, Not Just Support](https://techpotions.com/lab/whatsapp-booking-system-for-business): Booking over WhatsApp doesn’t have to mean leaking revenue. We built a luxury yacht charter’s website that de-loaded pricing and availability from chat, tripli… - [What an AI Feature Really Costs Per User](https://techpotions.com/lab/llm-cost-per-user-real-numbers): Token prices are public. Shipped unit economics are not. We published what a 12,000-user AI orientation product actually spent—and the architecture decisions t… - [What 380 Eval Cases Taught Us About AI Resume Screening](https://techpotions.com/lab/what-380-eval-cases-taught-us-about-ai-resume-screening): Off-the-shelf LLMs are unreliable resume screeners. We built ReadyShortlist with a rubric, evidence quotes, and a 380-case eval set—hitting 84% precision. Here… - [IndexNow for Next.js: Ping Bing the Moment You Publish](https://techpotions.com/lab/indexnow-next-js): Google ignores it. That’s exactly why you ship IndexNow — about 30 lines in your Next.js project will push your pages into Bing’s index, which feeds ChatGPT se… - [Caching Payload + Next.js Without Cache Components](https://techpotions.com/lab/payload-cms-nextjs-caching-without-cache-components): Opt-in caching with tags beats both force-dynamic-everything and the all-in Cache Components flag—which broke our admin. Here’s the architecture that keeps the… - [GFM Tables in Payload's Lexical Editor Without Data Loss](https://techpotions.com/lab/payload-lexical-gfm-tables-fix): Payload’s Lexical editor ships GFM table support behind EXPERIMENTAL_TableFeature, but markdown imports silently drop tables unless you wire the feature into t… - [The One-Route Payload CMS Live Preview Pattern](https://techpotions.com/lab/payload-cms-live-preview-nextjs-app-router): Wire draft preview in Payload CMS + Next.js App Router with one route, one secret, and a hard rule: preview stays uncached even when the whole public site is c… - [How to Stop an AI Blog Pipeline From Making Things Up](https://techpotions.com/lab/stop-ai-blog-pipeline-hallucinations): Build an AI blog automation pipeline that refuses to fabricate. This guide walks through a hard proof gate that skips any commercial post without a real case s… - [Drain Payload’s Schedule Queue on Serverless, End to End](https://techpotions.com/lab/payload-cms-scheduled-publishing-serverless): Payload’s queue is easy. Draining that queue without a persistent Node.js process is where every Vercel deploy falls over. Here is the route, the external cron… - [llms.txt Examples: 8 Real Files From Production Sites (2026)](https://techpotions.com/lab/llms-txt-examples): What does a good llms.txt actually look like? We pulled the live files from Stripe, Vercel, Cloudflare, Next.js, Supabase, Perplexity and more — here are the p… - [AI Agent vs Chatbot: The Real Difference](https://techpotions.com/lab/ai-agent-vs-chatbot-difference): Most founders searching 'ai agent vs chatbot' need a chatbot, not an agent. The line: chatbots answer and hand off; agents take actions and make scored decisio… - [How to Build an AI Agent with n8n](https://techpotions.com/lab/how-to-build-an-ai-agent-with-n8n): A step-by-step guide to building a working AI agent in n8n, using an LLM node, tools, and triggers. And the honest moment when n8n hits its ceiling and you nee… - [How to Build an AI Voice Agent That Doesn't Fall Apart](https://techpotions.com/lab/how-to-build-ai-voice-agent): A code-first guide to building production AI voice agents, covering the real-time telephony layer, STT/TTS pipelines, barge-in handling, and the ops dashboard… - [Claude vs GPT for Production Agents](https://techpotions.com/lab/claude-vs-gpt-for-agents): For production agents, pick GPT when sub-second latency matters (voice). Pick Claude when wrong tool args cost you money (back-office). We run an outbound voic… - [Best RAG Frameworks: What Broke in Production](https://techpotions.com/lab/best-rag-frameworks-what-broke-production): We tested RAG frameworks in real projects. Here's what broke in production—and which frameworks held up. No marketing fluff, just the scars. - [RBAC in Next.js: A Practical How-To](https://techpotions.com/lab/rbac-implementation-nextjs): A hands-on guide to implementing role-based access control in Next.js — from data modeling and middleware to server-side enforcement. Learn from our real-world… - [Next.js vs WordPress for Law Firm Sites](https://techpotions.com/lab/next-js-vs-wordpress-law-firm-site): We built a 75-year-old law firm's site on Next.js — here's the blunt comparison for professional service sites, including where WordPress still wins. Security,… - [Assessment Platform Development Schools Actually Keep](https://techpotions.com/lab/school-assessment-platform-development): Assessment platform development that stops at the question screen is wasted code. The real lift — and the part schools measure you by — sits in the reporting l… - [Custom Admin Dashboard Next.js Guide](https://techpotions.com/lab/custom-admin-dashboard-nextjs-guide): Building a custom admin dashboard in Next.js isn't about the UI—it's about owning role‑scoped data access, server‑side performance, and freedom from per‑seat p… - [How to Add Evals to an LLM Feature](https://techpotions.com/lab/how-to-add-evals-to-an-llm-feature): Stop guessing whether your LLM feature works. Here’s the exact eval workflow we used to ship an AI calling agent that actually books meetings — with code, metr… ## Company - [About techpotions](https://techpotions.com/about) - [All work](https://techpotions.com/work) - [Start a project](https://techpotions.com/start) - Contact: info@techpotions.com