Writing
Working notes
What building 23 products alone actually teaches you.
Not tutorials. These are the decisions I had to make anyway, written down while they were still fresh — what the zero-cost constraint removes, where a free tier stops being free, and the failures that passed every automated check on the way to production.
- Published
- 25
- Most recent
- Sep 5, 2026
- Topics
- 4
Latest
Latest
How long does a web app, an MVP or a full product take?
Small features 1–2 weeks, an MVP 4–8, a full production app 8–16. Where those ranges come from, how each is delivered, and what makes one of them slip.
Engineering7 min read
Read the postAll posts
Newest first. Pick a topic, or search by title.
- EngineeringHow long does a web app, an MVP or a full product take?Small features 1–2 weeks, an MVP 4–8, a full production app 8–16. Where those ranges come from, how each is delivered, and what makes one of them slip.7 min read
- EngineeringWhat does zero-cost infrastructure cost you?Nothing paid sits in the critical path, so the product costs nothing to run. What that takes off your bill, what it forbids, and where a free tier ends.7 min read
- EngineeringHow much does custom software cost, and what is in a quote?$800 is the floor for a small, well-defined feature. Everything above it comes from a scoping call, in writing. What that quote contains, and what it omits.7 min read
- EngineeringCan one codebase ship web, Android and a browser extension?Yes. One React and TypeScript repository becomes a web app, a Capacitor Android app, and a Manifest V3 extension, packaged three times for three stores.6 min read
- CareerCan I hire a full-stack developer remotely?Yes. Pakistan Standard Time, UTC+5, asynchronous by default, with calls across US, UK, EU and Australian hours, and a first reply within one business day.6 min read
- EngineeringWhat is actually changing in web developmentNot predictions. Four shifts I have already had to design around: crawlers that do not run JavaScript, the platform absorbing dependencies, types as the primary gate, and the return of the constraint.6 min read
- EngineeringPricing and plans without a payment processorWhy my products take payment through a redirect and an admin grant instead of a checkout integration, what that costs, and the entitlement bugs that bite regardless of how you charge.7 min read
- EngineeringHow this site is built, and what I rebuilt to fixReact 19, Vite, TanStack Router, Supabase and a click dummy that is the visual specification. Including the outlet bug that made nine service pages render the wrong thing for months.7 min read
- EngineeringThe JavaScript features I actually reach for nowIntl for anything a person reads, structuredClone, at(), Object.groupBy, and the platform APIs that replaced dependencies. Plus the number formatting that is a bug in every locale including English.6 min read
- DesignMicro-animation: the 100ms rule, and everything else is optionalMotion that earns its place versus motion that is decoration. Why acknowledgement beats a toast, why the browser gives you two free properties, and the accessibility setting that is not a suggestion.6 min read
- CareerFrom junior to senior: what actually changedEight years from a frontend job in Lahore to running twenty-three products alone. The three shifts that mattered, and the one I was slowest to make.6 min read
- EngineeringA feature-request board on Firestore, and the rules that make voting safeVote counts that cannot be forged, a status workflow that means something, and the security-rule subtlety that makes a list query fail while the single-document read works fine.6 min read
- Case studyReflectify 3-3-1: a journaling app that deliberately has no AI in itThree gratitudes, three wins, one focus. Why the entries never leave the phone, why there is no model reading them, and what a constraint does to a product this small.6 min read
- Case studyPregnancyPal: building health software when the data is the sensitive partWeek-by-week tracking, vitals, fertility and a community — on a free tier, with no cloud functions. What health data changes about every architectural decision you thought was settled.6 min read
- Case studyFilesHub: building the storage backend instead of paying for oneA self-hosted Laravel platform that replaced Firebase Storage and every transactional-email vendor across an entire portfolio. What it took, and the API-key mistake I had to find with a probe.6 min read
- Case studyTrizlink: one React codebase as a web app and an Android appTwo surfaces from one repository, with a third planned. What actually got shared, what could not be, and the free-tier limits that shaped the data model.6 min read
- EngineeringRefactoring a monolith you cannot stop shippingThe rewrite that loses a third of your features, the seams worth finding first, and why "delete the dead code" is the highest-value refactor nobody schedules.6 min read
- EngineeringFirebase Auth and social sign-in: the parts that are actually securitySocial login is easy to add and easy to get subtly wrong. Custom claims that lie, rules that trust the client, and why an extension cannot use the Auth SDK at all.6 min read
- DesignAccessible design systems: what React Aria gives you that a component library does notMoving from a styled component library to headless primitives plus Tailwind. What accessibility work is genuinely free, what is not, and the rich-text rule that costs me every time.6 min read
- DesignAdmin panels: four failures that ship looking completeEvery one of these was found in a live admin panel, and none is visible in a code review or a green build. Plus why the screen list should be derived from your project, not copied from a template.7 min read
Everything, by year
The full run in one place — no filter, no pages.
2026
- How long does a web app, an MVP or a full product take?
- What does zero-cost infrastructure cost you?
- How much does custom software cost, and what is in a quote?
- Can one codebase ship web, Android and a browser extension?
- Can I hire a full-stack developer remotely?
- What is actually changing in web development
- Pricing and plans without a payment processor
- How this site is built, and what I rebuilt to fix
- The JavaScript features I actually reach for now
- Micro-animation: the 100ms rule, and everything else is optional
- From junior to senior: what actually changed
- A feature-request board on Firestore, and the rules that make voting safe
- Reflectify 3-3-1: a journaling app that deliberately has no AI in it
- PregnancyPal: building health software when the data is the sensitive part
- FilesHub: building the storage backend instead of paying for one
- Trizlink: one React codebase as a web app and an Android app
- Refactoring a monolith you cannot stop shipping
- Firebase Auth and social sign-in: the parts that are actually security
- Accessible design systems: what React Aria gives you that a component library does not
- Admin panels: four failures that ship looking complete
- One codebase, web and Android: what Capacitor actually costs
- TypeScript patterns I actually use, and one that cost me three minutes a build
- SEO for a single-page app, without pretending to have a server
- Why I reach for TanStack Router
- A zero-cost backend architecture that actually holds
Building something like this?
Most of what is written here came out of a real project with a real deadline. If you are making the same decisions, the first call is 30 minutes and free.