Web and mobile apps

Need an app, not just a website? With my in-house freelance team I build web apps and mobile apps alongside the sites I ship, from dashboards to customer-facing products.

What you get

  • Requirements and user flows
  • Web app in React or Next.js with TypeScript
  • Mobile app with my app partners where needed
  • API and data model
  • Auth, roles and admin screens
  • Testing and deployment pipeline
  • Documentation and handover

Who is this for?

Teams that need more than pages: dashboards, booking systems, customer portals or a mobile app that sits next to the website.

What do I build?

Web apps in React and Next.js with TypeScript, backed by REST APIs or Firebase. Mobile apps with my app partners, so iOS and Android are covered by people who build them every week while I own the web side, the API and the delivery.

How I build it

Next.js or TanStack Start for the web app, TypeScript end to end, Firebase or a REST backend for data and auth, and the same component library as your marketing site where that makes sense. Mobile work runs in parallel with a shared API so both clients stay in step.

What does it look like in practice?

mohitgoyal.in AI Portfolio is a full-stack app with an admin dashboard, chat and content store. Under1MB Image Converter is a browser app with no server at all.

What results can you expect?

One team for web, mobile and API, one point of contact, and a product you can keep extending.

Process

How this engagement runs

Discovery: who uses it and what it replaces.

Flows: screens and data model agreed.

Build: web app first, API shared with mobile.

Test: real data, real devices.

Launch: hosting and monitoring in place.

Iterate: ship improvements from usage.

Proof

Projects built with this service

Personal project

mohitgoyal.in AI Portfolio

2025 – Present

mohitgoyal.in is my AI portfolio site on TanStack Start and React, by Mohit Goyal with a chat that answers as me on the Anthropic Claude API and Firestore. It replaces the brochure portfolio with something a visitor can question, and it doubles as the place where I test the techniques I use for clients. The problem with most portfolios, including my earlier ones, is that they are static brochures. A visitor has to read every section to find out whether I have worked with their stack, and the content goes stale the moment a project changes. I wanted a portfolio that behaves less like a brochure and more like a conversation. A visitor can ask about my work and get an answer in first person, and updating a project updates everything downstream without me editing three places. The 2026 revamp is the version you are reading now. The site is a server-rendered React app on TanStack Start, hosted on Cloudflare. Visitors can read the usual sections or ask the chat about my work. The chat answers as me with structured replies, backed by the Anthropic Claude API and a system prompt built from my Firestore profile, so updating a project updates what the chat knows. Every project has a standalone SEO page at /projects/<slug>, 35+ of them live. Case studies at /case-studies/<slug> and posts at /blog/<slug> are rendered from markdown files in the repo. Service pages at /services/<slug> carry deliverables, a process and an FAQ. A site header and footer sit on a lined grid layout with Syne headings and Satoshi body type. Behind the public site is an admin dashboard where I edit every section. It has version history so I can roll back a bad edit, draft flags for projects, link health checks that flag dead client URLs, an SEO preview for each page and chat analytics that show what visitors actually ask. Search and answer engines get the same care as human readers. Each page carries its own JSON-LD structured data: Person, CreativeWork, BreadcrumbList and ItemList. Every project has an Open Graph image, and the site generates a sitemap and an llms.txt file so answer engines can read the profile directly. Every legacy WordPress URL from Search Console has a 301 redirect, so old links and rankings land on the right new page. TanStack Start was chosen for server-side rendering (SSR) with type-safe routing, which keeps the project pages indexable and the data loading explicit. Firebase Firestore is the content store, and Firebase handles the auth behind the admin, so there is no custom backend to host. Images are served from a dedicated assets subdomain. Cloudflare serves the whole thing at the edge, so the first byte is quick wherever the visitor is. Tailwind CSS and TypeScript round out the stack. The project list on this site is the same data that this very description is drawn from. The site is live at mohitgoyal.in. The main outcome is that I maintain one source of truth. A change in the admin dashboard updates the page, the metadata, the sitemap, the llms.txt and the chat at once. What I learned is that the editorial tooling matters as much as the public pages. Version history, link checks and analytics are what make it cheap to keep the content honest over time. Want a site that can answer questions about your business in your own voice? Send me a note about it and I will reply with a plan.

TanStack Start React TypeScript Tailwind CSS

Web app

Under1MB Image Converter

2026

Under1MB is a free browser-based image converter and compressor built by Mohit Goyal in plain JavaScript: 11 formats, no uploads, no signup and no server. I built the product, the site and the branding myself, and launched it in public on LinkedIn. Most online image tools upload your files to a server, put a signup wall in front of the download and cap how many images you can process a day. For anyone who just needs a product photo under a size limit or a batch of screenshots converted, that is a lot of friction. It is also a privacy question they should not have to think about. I wanted a tool where the whole job happens on the user's own device, so there is nothing to upload, nothing to sign up for and no limit to enforce. Under1MB does exactly that. You drop a file, the browser decodes and re-encodes it, and the result is downloaded from memory. Nothing leaves the machine. It supports PNG, JPG, JFIF, WEBP, AVIF, GIF, BMP, ICO, HEIC, HEIF and SVG, so it covers the formats that come off phones and cameras as well as the ones the web wants. A target-size mode hits a chosen file size, such as under 1 MB. That is the use case the name comes from: upload forms and marketplaces that reject anything larger. Batch processing takes a folder of images and returns a ZIP, and a resize option handles the dimension side of the same problem. Every step runs locally, so large batches finish as fast as the device allows rather than waiting on a queue. The stack is deliberately plain: JavaScript, HTML and CSS, with no framework and no backend. Doing the encoding in the browser was the whole point. Keeping the app dependency-free keeps it fast to load and simple to maintain. The target-size mode works by iterating on quality until the output lands under the requested size. That is only practical because the encode loop runs on the user's hardware with no round trip. The absence of a server is also what makes the no-limit promise honest, since there is no cost per image for me to recover. I launched it in public on LinkedIn, where the launch post drew 45 reactions as reported on the post. The product is live at under1mb.app, and a Pro tier is planned. What I learned building it is that a strong constraint, in this case no server at all, makes product decisions easier. Every feature either works client-side or it does not ship, and that discipline produced a tool that is simpler than the alternatives it replaces. Have an idea for a small browser tool that respects its users? Send me the brief and I will reply with a plan.

JavaScript HTML CSS

Related case studies and guides

Questions

Frequently asked

Do you build mobile apps yourself?+

I lead the project and build the web and API side. iOS and Android are built by my app partners in the same team, so you deal with one point of contact.

Which stack do you use for web apps?+

React with Next.js or TanStack Start, TypeScript, and Firebase or a REST backend. I pick the lightest option that fits.

What does it cost?+

Depends on scope. Send me the brief and I will reply with a quote.

Other services

Let's build

Have a site that needs to be fast, rank and convert?

Open to Work. Usually replies within a day.