Web and custom software1 November 2026
Web app vs mobile app vs PWA: what to build first
Web app vs mobile app vs PWA for founders choosing a first build: what an iPhone lets a PWA do since iOS 16.4, and the 8 questions we ask before choosing.
Web development
We build fast websites, web apps and the APIs behind them for businesses in the US, the UK, Europe and the Gulf, and here in Pakistan. You get a written plan with price and dates before any code, and a build to try every week.
Zoftaa is a small, fully remote web development company in Lahore, Pakistan. We build websites and web apps in Next.js and React, with backends in Node.js or Python (FastAPI) and data in PostgreSQL. The site you're reading is one of them: a static Next.js 16 export on Cloudflare Pages, and further down we show how it's set up. One thing up front: we don't build online shops, Shopify stores or WordPress sites.
Most web work falls into five kinds. The examples are briefs we'd take on, not past projects.
Company sites, service pages, landing pages and blogs, built as static Next.js pages that load quickly and are easy for search engines to read. Contact forms send enquiries to your email or WhatsApp. If your team changes text and images often, we add a content editor so that doesn't need a developer.
Example: a training company in Manchester wants 12 pages, a course list and an enquiry form that reaches both their inbox and their phone.
Web app development covers anything people log in to: customer portals, booking systems, dashboards and internal tools with roles and permissions. When the software is mostly about your own operations, see custom software development.
Example: a freight forwarder in Dubai wants customers to log in, see where each shipment is and download its documents.
The server side that a website, a mobile app or another system talks to: Node.js or FastAPI services, a PostgreSQL database, webhooks, and connections to tools you already use.
The web panel your staff use to manage an Android or iOS app's users, content and reports is a separate build. We can do both sides; see mobile app development.
Search over your own documents, drafting tools, a chatbot on your site. These need care with running costs and wrong answers, so they have their own page: AI chatbots and LLM features.
This first decision shapes the cost, the hosting and the timeline. We settle it on the scope call.
| What you need | What we'd build | Where it usually runs |
|---|---|---|
| Pages that change when you publish: company site, landing pages, blog | A static Next.js export: plain HTML files built ahead of time | Cloudflare |
| Users who log in and see their own data | A Next.js front end, an API and a PostgreSQL database (often Supabase) | Cloudflare, Supabase or AWS |
| Heavy work: reports, file processing, imports, AI calls | A separate Node.js or FastAPI service with background jobs | AWS, or a Docker container on your cloud account |
A static site has no server of its own. Next.js builds every page into an HTML file that any web server can host. Features that need a live server don't work in that mode, including server actions, cookies, redirects in the Next.js config, incremental regeneration and the built-in image optimiser (Next.js static export docs, checked 1 November 2026). For a company website that rarely matters. For a web app it decides the architecture.
Hosting is shifting too. Cloudflare's Pages documentation now says "Start new projects with Workers", and the Next.js adapter it recommends there, vinext, is in beta, with image optimisation only partly supported (Cloudflare Pages, Next.js on Workers, both checked 1 November 2026). So for an app with server features, we check what it needs against that adapter first. If something isn't covered, the server part runs on AWS.
If you're comparing Next.js development companies, look at a site each one runs. zoftaa.com is ours: a static Next.js 16 export served by Cloudflare Pages.
A website we build for you gets the same setup: a repository, checks on every change, and previews you can open before anything goes live.
Whichever web development company in Pakistan you're considering, ask who owns the accounts, what you see each week, and what you get at handover.
Everything below ends up in accounts under your name:
Where we can, we open these in your name from the start, or you add us to accounts you already have. If you later move to another developer, nothing has to come back from us first.
| Layer | Tools | When we use them |
|---|---|---|
| Front end | React, Next.js 16, TypeScript | Every website and web app |
| Backend | Node.js, Python with FastAPI | Node.js when the whole project is JavaScript; FastAPI for data work, AI calls and long-running jobs |
| Database | PostgreSQL, Supabase | PostgreSQL for almost everything; Supabase when you want sign-in, file storage and the database in one managed service |
| Shared with a mobile app | Firebase | When the web app shares users and data with a Flutter app |
| Hosting | Cloudflare, AWS, Docker | Cloudflare for static sites; AWS or Docker containers for servers that run all the time |
| AI and automation | OpenAI and Claude APIs, n8n | AI features, and moving data between your tools (workflow automation) |
You pay for hosting directly. Cloudflare Pages' free plan allows 500 builds a month and 20,000 files per site (Cloudflare Pages limits, checked 1 November 2026), enough for most company websites. Supabase's free plan includes a 500 MB database but pauses a project after a week with no activity; Pro starts at $25 a month (Supabase pricing, checked 1 November 2026). Once real users depend on an app, budget for the paid plan.
The Python backends behind apps we've shipped taught us rules we bring to every web project:
These ranges are for planning and assume content and decisions arrive on time. Your written plan sets the real dates.
| Project | Typical range | What moves it |
|---|---|---|
| Company website, up to about 10 pages, content ready | 2 to 4 weeks | How many distinct page layouts; whether copy and photos are ready |
| Website with a content editor, a blog or 2 languages | 4 to 8 weeks | Editor setup, moving content from an old site, translation |
| First version of a web app: sign-in, 2 or 3 user roles, a handful of core screens, an admin panel | 8 to 14 weeks | Number of roles and screens, integrations, how settled the requirements are |
| Larger platform with several integrations or a data migration | 3 to 6 months, in phases | Third-party APIs and their approval steps, cleaning old data, review rounds |
What speeds a project up most is on your side: one person who can make decisions, and feedback on each weekly build within a couple of days. What slows it down is content that arrives late and scope that grows mid-build. If the scope grows, we'd rather update the written plan than squeeze extra work into the old dates.
Pakistan Standard Time is UTC+5 all year, with no daylight saving (Pakistan Standard Time, checked 1 November 2026). We work Monday to Friday, 10am to 7pm PKT, and usually reply within one business day. Here are those hours in your city.
| Your city | Your offset | Our hours, your winter time | Our hours, your summer time | Overlap with a 9am to 5pm day |
|---|---|---|---|---|
| London | UTC+0, UTC+1 in summer | 5am to 2pm | 6am to 3pm | 5 hours (6 in summer) |
| Berlin, Paris, Amsterdam | UTC+1, UTC+2 in summer | 6am to 3pm | 7am to 4pm | 6 hours (7 in summer) |
| Dubai | UTC+4 all year | 9am to 6pm | 9am to 6pm | Your whole day |
| Riyadh | UTC+3 all year | 8am to 5pm | 8am to 5pm | Your whole day |
| New York | UTC-5, UTC-4 in summer | Midnight to 9am | 1am to 10am | None (1 hour in summer) |
| San Francisco | UTC-8, UTC-7 in summer | 9pm to 6am | 10pm to 7am | None |
For US clients we also take calls from 6pm to 10pm PKT, Monday to Friday. In New York that's 8am to 12pm in winter (EST) and 9am to 1pm in summer (EDT). In San Francisco it's 5am to 9am in winter (PST) and 6am to 10am in summer (PDT).
Summer time runs from the last Sunday in March to the last Sunday in October in the UK and the EU (GOV.UK, CET), and from the second Sunday in March to the first Sunday in November in the US (NIST). Pakistan doesn't change its clocks, so the overlap moves by an hour twice a year, on your side only. Gulf offsets: UAE, Saudi Arabia. All checked 1 November 2026.
In practice, the Gulf gets a full shared day, and the UK and Europe get your morning and early afternoon, which is when we'd put the weekly call. US teams get live calls and urgent replies in their morning, through the 6pm to 10pm PKT window, alongside the weekly build. On the West Coast that window falls early in your day.
Reach us by email at hello@zoftaa.com, on WhatsApp at +92 308 6475141, or through the contact form.
No. For a store with a catalogue, cart and checkout, a Shopify or WooCommerce specialist will serve you better.
A fast site with clean HTML, page titles, a sitemap and structured data gives search engines what they need, and we build all of that in. Rankings also depend on your content and on other sites linking to you, which no developer controls. Google's own guide to hiring an SEO says that if someone promises their changes will put you in first place, "find someone else" (Google Search Central, last updated 5 June 2026, checked 1 November 2026).
Yes. We add a content editor so text, images and posts change without code. For a site that changes a few times a year, we may suggest skipping it: one less account to pay for and keep updated.
Usually, if it's built in React, Next.js, Node.js or Python. We read the code before writing the plan, and the plan says what we'd fix first. If it's WordPress or a page builder, we're not the right team.
We don't publish prices, because scope drives them. The written plan after the scope call gives a fixed price, agreed before any code. Hosting is billed to you by the provider, and a static site on Cloudflare's free plan can cost nothing to host.
You have the code, the accounts and the documentation, so you can take the project to any developer. If you'd like us to keep going, a monthly product retainer gives you the same engineers every month for fixes and new features (hire developers in Pakistan explains how it works).
Usually within one business day. Our hours are Monday to Friday, 10am to 7pm PKT (UTC+5), and the reply comes from an engineer.
Tell us what you're building on the contact page. A few lines is enough: what it should do, who will use it, and any deadline.
Web and custom software1 November 2026
Web app vs mobile app vs PWA for founders choosing a first build: what an iPhone lets a PWA do since iOS 16.4, and the 8 questions we ask before choosing.
Contact
Tell us about the problem in a few lines. An engineer will reply, usually within one business day.