Jhino: An App Publishing SaaS for HTML and AI-Made Apps
Jhino is a SaaS that publishes an HTML file or ZIP, made with Claude or any AI tool, as a live web app with sign-ins, sharing and live sync. I designed and built it as one TypeScript program in September and October 2026, and it is live at jhino.com with free and paid plans.
Upload a file, or generate an app from 45 features
AI tools now write useful single-file apps in minutes: a client portal, a photo-proofing page, a content calendar. Then the file sits on someone’s desktop.
Studios and freelancers in Nepal build small tools like these for each client: delivery pages for videos, proofing pages for photos, schedules and invoices. Hosting each one properly means a server, a database, logins and sharing, which is too much work for a page a client will use for a month. And AI-made apps save data in the browser with localStorage, so nothing a client types is shared with anyone else.
Jhino turns that file into a live, shared app with sign-ins, saved data and a real address.
02The solution
What I Built: From a File on Your Desktop to a Live App
With Jhino you either upload an HTML file or ZIP, or describe the client and tick features from a list of 45 and let Jhino write the app. It goes live straight away. You share it with named people who sign in with their own password, by a public link, or by a link with a password.
Jhino redirects the app’s browser storage to its own server, so everything a user saves shows up for everyone else, live. Sign-in, hosting, database, files and sharing all run in one program, a pattern I use across my software development work.
Three plans in rupees, with yearly billing at the price of ten months.
03Features
Jhino Features from Upload to Custom Domain
Everything a studio needs to hand a client a working tool: creation, sharing with the right people, and a real address. It is a SaaS product I designed, built and run myself.
Create and Upload
Upload an .html file or a .zip made with Claude or any other tool
Or generate an app from 45 features: video approvals, photo proofing, design proofs, schedules, invoices and more
Dates in Bikram Sambat with AD beside them
Older versions kept, with rollback
Share and Collaborate
Roles: Owner, Can edit, Can add, Can view
Single-use invite links that expire after 7 days
Public links and password-protected links
Live updates when anyone saves
Publish
App addresses like jhino.com/your-studio
Custom domains with automatic certificates
Each app installs as a PWA
A link-in-bio page with 40 designs
Plans
Free Forever: 2 apps
Plus: NPR 500 a month, 20 apps
Pro: NPR 2,000 a month, 100 apps and a custom domain
A year costs the price of ten months, paid by QR
The help centre, where new users start.
04Architecture
Jhino Architecture and Tech Stack
Jhino is one TypeScript program built on Fastify. It serves the dashboard, the public site, the uploaded apps and the API, and keeps everything in a single SQLite database under /data, so the rest of the container can be wiped on every deploy.
Uploaded appSandboxed iframeNo allow-same-origin; a per-launch handshake
ServerFastify 5 + TypeScriptAbout 50 server modules in one program
RealtimeServer-sent eventsEvery save pushed to everyone with access
DataSQLite under /dataWAL mode, daily backups, 14 kept
The Jhino Tech Stack
Uploaded apps run in a sandboxed iframe without allow-same-origin, and the same sandbox is sent as a response header. An app can only talk to Jhino through a per-launch handshake over a private message channel.
Migrations run at start-up and only apply what is new, so a deploy is a container swap with nothing to run by hand.
The four decisions that shaped Jhino, and why I made them. Each one solves a problem a real user would hit.
01
Live Sync That Merges Instead of Overwriting
Every saved key carries a revision number. When two people save at once, the server refuses the older write and the bridge merges both changes, item by item for lists whose items have an id. The page never refreshes while someone is typing. Eutaa uses WebSocket for the same kind of live updates.
02
Custom Domains for a Small SaaS
Pro users can put an app on their own domain. Certificates come from Cloudflare for SaaS, with Caddy on-demand TLS as a fallback. Status moves from Waiting for DNS to Issuing certificate to Live, with background checks that back off from one minute to six hours.
03
Videos That Clients Can Actually Stream
Files from 20 MB up are re-encoded to H.264 at a sensible bitrate and at most 1920 px wide. In testing, a 75 MB 1080p clip became 13.6 MB in about four seconds.
04
Tested in Three Browsers
The test suite runs in Chromium, Firefox and WebKit with Playwright. CI runs type checks, the build and the Chromium tests on every push, and all three browsers weekly. It is the same discipline I offer as QA testing.
Readable by Search Engines and AI Assistants
Public pages are server-rendered snapshots, so search engines and AI assistants read real content rather than an empty shell, as my guide to SEO in 2026 recommends.
Organization, WebSite, SoftwareApplication, Offer and FAQPage data on the home page
A help centre FAQ of 11 questions
robots.txt, sitemap.xml and llms.txt generated by Jhino
Per-domain robots, sitemap and llms.txt files for custom domains
06Screens
Jhino on a Phone
Every app published on Jhino installs as a PWA, and the dashboard works the same on a phone as on a laptop.
Jhino on a phone.
07Status
Where Jhino Stands Today
Jhino is live at jhino.com with free and paid plans. Its code is private, so this case study shows how it is built.
Live, with a free plan
It shows how I build software for real use: a single deployable program, data that survives redeploys, sync that handles conflicts, sandboxing for untrusted code, and tests in every major browser engine.
Jhino is a hosting and publishing service for small web apps. You upload an HTML file or ZIP made with Claude or any AI tool, or generate one from 45 features, and it goes live with sign-ins, sharing, saved data and its own address, such as jhino.com/your-studio.
How Much Does Jhino Cost?
Jhino has a Free Forever plan with 2 apps. Plus costs NPR 500 a month for 20 apps, and Pro costs NPR 2,000 a month for 100 apps and a custom domain. Paying for a year costs the price of ten months, and payment is made by QR.
How Does Live Sync Work in Jhino?
Jhino redirects an app’s browser storage to its own server. Every saved key carries a revision number, so when two people save at once the server refuses the older write and the bridge merges both changes. Updates reach everyone through server-sent events, and the page never refreshes while someone types.
Is It Safe to Host Untrusted HTML Apps on Jhino?
Uploaded apps run in a sandboxed iframe without allow-same-origin, and the same sandbox is sent as a response header. An app can only talk to Jhino through a per-launch handshake over a private message channel. Sessions use HttpOnly SameSite=Strict cookies, CSRF tokens and a strict CSP.
Which Technologies is Jhino Built With?
Jhino runs on Node 22 with TypeScript and Fastify 5, with a React 19 front end built by Vite 8. Data lives in SQLite in WAL mode, real-time updates use server-sent events, and Playwright tests run in Chromium, Firefox and WebKit. It ships as a Docker image deployed with Coolify.
Can I Put a Jhino App on My Own Domain?
Yes, on the Pro plan. Certificates come from Cloudflare for SaaS, with Caddy on-demand TLS as a fallback. The domain’s status moves from Waiting for DNS to Issuing certificate to Live, and background checks back off from one minute to six hours.
Planning a Product Like Jhino? I’ll Send a Fixed Quote.
Send a short note about your project and budget. I reply within one working day with questions or a first estimate.