About me

Hey, I'm Sourav Khoso. I build software and occasionally write about what I learn along the way.

This blog is a place for me to think out loud — about code, tools, ideas, and whatever else I find worth putting into words.

You can reach me at souravkhoso1@gmail.com.

What I'm building

I like building small, single-purpose web tools: no sign-up, no install, nothing to configure. Open the page and it does the one thing it promises. Here's what I'm working on.

RichText.online

A free, browser-based rich text editor for formatting text, drafting HTML snippets, or converting between Markdown and rich text without opening a full word processor.

The editor runs entirely client-side. Your document is saved to localStorage as you type, so nothing is sent to a server and there's no account to lose access to.

Features

  • Full formatting toolbar — bold, italic, underline, strikethrough, headings, alignment, lists, indentation, sub/superscript
  • Tables, blockquotes, code blocks, and horizontal rules
  • Font family and size controls, plus foreground/background colour pickers
  • Links, images (from a URL or uploaded), and embedded YouTube/Vimeo videos
  • Find & replace with step-through highlighting
  • A Markdown mode with a live split-pane preview, and a raw HTML source view
  • Document sharing via a compressed URL or a GitHub Gist, with output sanitised through DOMPurify
  • Export to standalone HTML or a print-ready PDF view, plus dark mode and fullscreen
  • Works offline once the page has loaded

Built with

JavaScript HTML5 CSS3 Bootstrap 5 DOMPurify LZ-String Marked.js

It's a deliberately simple stack — vanilla JavaScript, no build step, no framework — because the whole point is a page that loads fast and just works. Source: souravkhoso1/wysiwyg-editor.

QuickDataFormat.online

A tiny, static JSON / YAML / CSV formatter, validator, and converter. Paste in structured data and get it pretty-printed, validated, minified, or converted to a different format — all in the browser, with no backend.

Features

  • Format — pretty-print JSON or YAML with 2/4-space or tab indentation
  • Validate — parse errors reported with line/column, for JSON, YAML, and CSV
  • Convert — between JSON, YAML, and CSV, flattening nested objects to dot-notation columns and rebuilding them on the way back
  • Minify — compact single-line JSON output
  • Auto-detects the input format, supports drag-and-drop or file upload, and lets you download or copy the result
  • Dark mode, and works fully offline once loaded

Built with

JavaScript HTML5 CSS3 js-yaml PapaParse

Same philosophy as RichText.online: plain HTML/CSS/JS, no framework or bundler. The two parsing libraries are vendored directly in the repo rather than pulled from a CDN, so the site has no external runtime dependencies. Source: souravkhoso1/data-formatter.