Home / Ideas edit
Try Documentalist, my app that offers fast, offline access to 190+ programmer API docs.

Online file management
Like https://github.com/shundhammer/qdirstat but for s3, dropbox etc. https://news.ycombinator.com/item?id=16189929
A series of Notepad For X projects. The same UI but using different backends.
Insipiration:
Maybe a windows/mac app. Maybe a web-based app.
Main feature would be speed and search.
See grokbit for inspiration.
Related / inspiration:
  • e each folder is in its own window, which is as small as possible
  • similar to list of files in http://gotools.org/github.com/PuerkitoBio/goquery#expandgo
  • can open as many folders as wishes
  • each folder could be it's own window or could try to arrange them inside a single window
  • handling multiple folders
    • each folder is its own top-level window
    • try to arrange inside a single top-level window (the problem is of intelligently arranging the pieces inside also leaves empty space vertically)
    • each folder is its own top-level window but we mark all but one as participating in the alt-tab etc. and we provide an illusion they're a single group (by moving them as a group when the window is being moved)
  • width can't get bigger than the biggest item
  • width can be smaller than the biggest itme, in which case there are few possibilities
    • use smaller font
    • shorten the string by replacing part of text (e.g. middle) with "..."
    • truncate right
  • height can't be bigger than the total length of items
  • height can be smaller, in which case do traditional scrolling
  • each folder has a search box to add a filter
  • content needs to auto-update
  • https://publist.app/
Documentation related
goalkicker.com PDF books
It's stupid they it's in PDF. Make it HTML and with decent UI for going to parts.
Could be a good advertising for offdocs app.
tldr.sh web ui
UI could be improved. list all commands at the top; add a search box at the top. drop-down at the top for list of commands. list all commands in a sidebar
tldr2.org is available
Inspiration:
https://github.com/AnthonyCalandra/modern-cpp-features
PDF related
shows detailed information about PDF files
A web service where peopel can upload a PDF and get a reader application for Windows that protects the PDF from being copied.
It would cost between $10-$100 to protect a single PDF, unlimited distribution.
Build the reader using pdfium, 32-bit only, maybe using WinForms for the viewer app.
Sequence of events:
  • compile pdfium library
  • write the simplest reader that uses external encrypted PDF file
  • write website that encrypts uploaded PDF file
For faster PDF rendering, re-compile it. PDF format is rather complicated, mostly text format. A PDF renderer first has to parse it into in-memory representation and then renders it.
Imagine a binary format that is designed for fast loading and one-time PDF => binary format compilation step. With the right format, parsing step could essentially be eliminated.
We could even improve rendering time with some additional optimizations.
For example, there are PDF documents with gigantic images (think 4000 x 4000 pixels) that could be resized to some reasonable value and saved in a format that is fastest to decode.
I’m sure there are optimizations possible for complex vector graphics (e.g. removing stuff that we know will be invisible).
A website that allows comparing of poppler vs. mupdf vs. pdfium vs pdf.js rendering. Upload a PDF, render each page in each engine in both native size and down-scaled to a reasonably sized thumbnail for overview. The baisc layout would be:
[page 1 mupdf] [page 1 pdfium] [page 1 poppler][page 2 mupdf] [page 2 pdfium] [page 2 poppler] …
Then one could click on the thumbnail to see comparison of the native size.
Bonus feature: some type of overlay comparison.
Electron (Windows/Mac) app for converting html to pdf. Sell for $29, free version can be limited to e.g. 100 free generations.
A textbox where users enter url, show html preview and pdf preview. Create PDF using chrome apis and allow downloading. Allow cmd-line usage. Use mupdf or https://github.com/gerhardberger/electron-pdf-window to host preview after it's generated.
Advanced features would allow customizing PDF (change background, fonts etc.; works by over-writing css).
Write a tool to extract text from PDF files.
Upload the file and get text in plain text file and json (augmented with position information) and maybe even xml.
Limit size of PDF files. Upsell to $19 mac/windows. Write a command-line tool, maybe even open-sources, also upsell GUI version.
Good example of upselling to a better version: https://www.spyfu.com
Cmd-line tool for windows, based on Pdfium. Many people use Sumatra for PDF printing but printing is not great there.
Pdfium should print well. Ship as a single executable which extract pdfium.dll on demand.
Make it free for personal use. Make it $99 for commercial use.
Mac to windows
Port one or more of the following utilities to Windows:
Useful code:
http://tapbots.com/software/pastebot/#sync i.e. an app that observes clipboard and remembers text/images that were pasted there. Could sync with the cloud. http://log.chrisbowler.com/post/308603065/pastebot
https://aptonic.com/, $10 mac app
http://sipapp.io/ to Windows
http://eternalstorms.at/yoink (better drag&drop) to windows, sell for $10
https://github.com/JadenGeller/Helium to Windows in C#/CEF
http://radiosilenceapp.com/ for Windows
http://radiosilenceapp.com/private-eye for Windows
https://github.com/rygorous/kkapture : video/audio capture library that uses minhook
http://www.ricciadams.com/projects/pixel-winch to windows
exe tools
http://bokken.re/ (reverse engineering UI in python powered by pygtk) on the web
https://github.com/endrazine/wcc on the web
Make a web front-end for this tool
https://github.com/google/bloaty
Could be a web app, desktop app using electron/native browser control wrapper.
Web-based program similar to http://ilspy.net/
Make a free web version, maybe even chrome extension. Upsell on $9-$29 mac/windows version.
Use insect code, which is JavaScript, and build native UI wrappers around it.
https://github.com/kornelski/giflossy on the web
Write a simple source code indexer for C++ code. Use it for Sumatra code.
Others:
Combines searching with browsing.
An easier way to do linux inspection/debugging tasks.
Start an agent written in Go on remote machine. It provides web-based UI either by talking to the server or to a local Electron app.
  • htop
  • browse, edit files
  • systemd info (status of processes etc.)
  • network information
  • disk information
  • view logs
  • view (and explain) configuration
  • recognize most commonly used software (nginx, apache, mysql, postgres etc.) and provide infor about them
Could start by making a server for https://github.com/yudai/gotty.
Then could write a windows GUI front-end that ssh to the server and runs a command.
https://www.atoptool.nl/index.php
Use web as a front-end. Mac and Windows native apps. Backend in Go. Mac uses thin Cocoa wrapper around webview. On Windows a C# thin wrapper around cef or C++ thin wrapper around the new project from awesomium. A remote agent is copied to a linux server and the UI talks to it using some simple protocol.
Like saw (https://github.com/TylerBrock/saw) but as a desktop app.
Allows to connect to various, local and remote sources of logs and stream them locally. Add a fast search, multiple tabs, combining multiple log sources into one stream.
Can stream any logs on remote ssh servers and whatever online services expose logs.
Crucial for success:
Local application where one can get browse-based shell/ide to a remote serve. Like nitrous.io or c9.io but as a local app which allows running on your own server. Works by deploying a Go agent via ssh to the server, agent talking back to local app or to the server.
Links:
Some ideas from DTerm: http://www.decimus.net/dterm.php
An improved ssh terminal. Improvements:
  • miniature windows for switching between terminals (instead of tabs)
  • built-in file browser of the remote system
  • on-the-side command execution with capture of stdout
  • log all commands and their stdout, per machine (ip address)
  • intellisense for typed commands i.e. remembers all typed commands and shows a pop-up with matches for the currently typed command
  • support for ec2 instances
Related:
Llike http://itunes.apple.com/us/app/coderunner/id433335799?mt=12 except on the web, Go on the backend, add social features.
Make it somewhat like StackOverflow i.e. people can tag a given code snippet with "Question" when it doesn't work or it doesn't behave the way they think it should. We would have a separate section on the website showing questions and basically replicate StackOverflow functionality (adding answers, accepting, uprooting etc.)
Add "critique my code" section where people can post working code and ask other people to improve. Other people could submit improvements, they could be upvoted, viewed as diffs, people would earn badges etc.
https://github.com/lieff/minimp3 to webassembly
A better visualization of how your stocks perform over time.
Links:
https://github.com/XhmikosR/perfmonbar in Go
It uses antlr for the grammar so should be easy
https://gdbgui.com/ hosted
Needs to be downloaded and run locally. Write a Go program that talks to a server. Maybe charge.
https://github.com/ShivamSarodia/ShivyC from Python to Go
It's a simple C compiler.
https://github.com/lunet-io/markdig (CommonMark parser) from C# to Go
Make pandoc as online tool.
Link:
the simplest program that launches gotop remotely via ssh and shows the output in xterm.js hosted inside a web browser
Start with remotetop (rtop ?) that simply copies gotop over ssh to a remote server and launches it
Then provide web version that does the same but acts as a web server and shows in locally installed web server.
Then a version that uses lorca to launch in chrome.
Then native mac app that uses embedded web view.
Then native windows version that uses cef (or maybe electron).
like https://github.com/sveinbjornt/Sloth but using web view (in a skeleton objective-c app or lorca) to display data. better ui
Probably not a pain big enough to make money, but the idea is to provide a server for gotty / tttyd - like program and charge people for use.
Online tools
Possibilities:
  • on the web using webassembly
  • a native mac/windows app, either paid (advertised from the web version) or as an advertisement for other software
  • fileoptimizer.io domain is free
  • write open-source, command line tool as a marketing for GUI version
Links:
https://github.com/libyal tools
http://wizard.ae.krakow.pl/~jb/ttf2woff/ for web
http://wizard.ae.krakow.pl/~jb/toico/ for web
https://gif.ski/ for web
https://github.com/activescott/lessmsi
Format description:
MSI file format reader:
https://github.com/rs/dnstrace
Allow people to drop a .pcap file and provide UI for viewing the files.
For web or desktop apps
Inspiration / competition:
Could be windows GUI for https://github.com/martinlindhe/formats
Inspiration / competition:
https://github.com/zavolokas/Inpainting on the web
A simple web service where you can upload an image, mark the area to be removed and download the result. Could re-write in Go or JavaScript so that it can be hosted on a webpage without a server component
https://angelmmiguel.github.io/svgi/
Like https://github.com/vividvilla/csvtotable but as a web service. Allows dropping CSV file, stores it indexdb, uses web service workers to convert to a table, allows sharing by uploading to a server and generating a url that would then download the file locally if not already present, using sha1
Names: ViewCSV, ShareCSV
Could then add excel etc.
Drop a file and it tells you what kind of file it is.
Resources:
SEO / analytics related
siterankmonitor.com is available
Competition:
Write free (and maybe open-sourced) cmd-line utility for windows/mac. Write GUI front-end for mac/windows and charge $29 for it. Cmd-line app is an advertisement for gui app.
Write web-based UI with limited functionality (number of pages crawled). Use it as advertisement for gui app.
Potentially have pro plan for web version which has no limits, allows running checks every day/week and e-mail if there are problems.
Can expand into web archiving utility.
Make it for myself. Only shows the basic info (most popular pages, most popular searches), yearly visitors. Open source, easy to host for free on firebase. Based on https://www.notion.so/Google-Analytics-ab8c1b1d6a3f4cc1a25e5349202407d3#c6a047492d7145acb9cfe8b29fc65047
A service that sends daily/weekly google analytics summary, where it shows only the most important information.
or maybe in Go, use https://github.com/dbalduini/smeago/tree/master/src as base for the crawler
Build a web service that builds google sitemaps (https://support.google.com/webmasters/answer/183668?hl=en&ref_topic=4581190). It crawls the website and builds .xml or .txt file with links, describes how to submit it to google etc. It should use chrome headless.
It should aggressively cache the results to avoid re-crawling websites. Url should be /tools/build-submit-google-sitemap.html. Maybe use a domain like webtools.io/build-submit-google-sitemap.html
To make money limit web service to N links (100? 256?) and up-sell a $10-$30 windows/mac desktop app build on electron.
Basically, https://www.xml-sitemaps.com but better.
Web publishing / editing tools
Better UI for GitHub Gist. Like gistbox/cacher.A web application for managing gists.
Gistbox got 10k users in frist few months, 75k in 5 years when it became Cacher (which is $6/mo for pro plan, $8/seat for team).
Competition / inspiration:
A notepad-like editor for taking notes quickly.
Uses Monaco editor. Saves notes in local storage.
Charge people $12/year if they want to persist notes e.g. in Drive, Dropbox etc.
Write a "New tab" Chrome extension that opens the editor like https://news.ycombinator.com/item?id=17506753
Optionally it's a markdown editor, but it's meant for plain-text notes first.
database
http://rickbergfalk.github.io/sqlpad/ is MIT-licensed app written in node. Package it as a desktop electron app and distribute via my website. Or maybe setup a public instance (after adding logging in or maybe storing credentials locally in the browser)
Port pgHero to Go and wrap as a Windows and Mac app.
Do the same for https://redash.io/ (they are $29/mo)
Based on https://github.com/simon-engledew/gocmdpev. Or make a web front-end, accessible for all (although that already exists: https://explain.depesz.com/s/uou7)
https://pgmetrics.io/ is a open-source cmd-line app that dumps postgres stats to stdout. Write a desktop app that shows the same thing.
Just wrap https://github.com/sosedoff/pgweb in a Mac and Windows app
A gui for analyzing sqlite database on a deeper level. Written in Go, windows front-end.
cmd-line to gui
https://github.com/soheilpro/mon
Write windows desktop app like https://github.com/soheilpro/mon. Do it either the hard way (pure win32) or C# or sciter.
mylg.io web frontend or Mac "native" app (multipe network tools in one)
http://mylg.io/ is in Go with MIT license. Write a web front-end for it that allows to access the utility via web interface. The idea is that an agent can be deployed on a host via ssh and it connects to a website via grpc. Alternatively, do a "native" Mac app, where UI is web view talking to a Go server
Like cd, but gui version. Like https://github.com/mattn/cho but with GUI.
Must be fully operable from the keyboard:
  • arrow up/down navigates current directory
  • enter or right enters the directory
  • ctrl-enter selects a directory (closes the window and prints the result to stdout)
  • esc closes the window (cancels the operation)
  • / or f or s : shows search ui where can quickly find any directory
  • a way to bookmark/unbookmark directories (F1? shift-8 i.e. '*' ?)
  • shows bookmarked directories e.g. at the bottom, for quick access. Allow e.g. Ctrl-<n> or Alt-<n> to select bookmarked directory
https://ranger.github.io/ (file manager) for mac or windows
https://github.com/orf/gping as a windows GUI app
Write a GUI front-end, possibly port to Go and also to Windows.
A simple program to wrap https://github.com/muesli/smartcrop
A GUI for aws, maybe can use https://github.com/wallix/awless for the backend (https://medium.com/@awlessCLI/aws-management-simplified-awless-io-0-1-0-2ec2d8810bcb)
https://github.com/johnkerl/miller
(awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON)
The weakness of such cmd-line tools is that they require writing of the whole sequence of operations up-front. There are 3 problems with that:
  • the syntax is rather arcane
  • the user doesn’t see the data he’s operating on
  • mistakes are costly i.e. changing the operations has to redo all computation from scratch
A better approach is to allow humans multi-step refinements of data in a UI that shows the preview of the operations.
For example, the operation:
$ mlr --icsv --opprint --barred \
  put '$tiv_delta = $tiv_2012 - $tiv_2011; unset $tiv_2011, $tiv_2012' \
  then sort -nr tiv_delta flins.csv
Would be done as sequence of steps
> load flins.csv
$1: 215 records
show first 10 records + headers

> add tiv_delta = $tiv_2012 - $tiv_2011
$2: 215 records
... 10 record preview

> remove tiv_2011 tiv_2012
$3: 215 records
... 10 record preview

> sort by tiv_delta
$4: 215 records
... 10 record preview

> save flins_sorted.csv
“add”, “remove”, “sort by”, “save” are operations that work on list of records. If argument is not provided, it’s implicitly the last result. The argument can be explicitly provided e.g.: > $2 save flins_sorted_2.csv
http://visidata.org/ is for tabular data interaction in the terminal. Make a web version.
https://remysharp.com/2018/08/23/cli-improved
Write GUI version of those tools. The simplest is a browser shell with xterm.js as front-end and just sub-launch the command and redirect output to xterm.js.
More sophisticated would be tools that do the functionality but re-imagined for GUI. Implemented with web UI.
git
Write a Mac and/or Windows GUI version of tig https://github.com/jonas/tig.
Tig has 4.5k stars on github, which implies a significant interest.
It could be implemented in JavaScript/HTML. It could have a web version that allows browsing any github repository and on desktop it could be done as Electron.
Maybe a paid desktop app for windows or mac or purely on the web (or both and use web version to sell desktop app)
Or it could be done with https://sciter.com/. Or Winforms on Windows and Swift/Cocoa on Mac.
It's a plugin for VS Code. Make it a stand-alone desktop app with Electron.
sumatra on-line + electron desktop app
Windows / Mac app that unobtrusively lives in background and shows the GCE spend. On Mac it would be menu bar app that expands to full window on demand and maybe even to a website where you can export the billing in various formats (csv, import as google sheets etc.)
https://www.sapien.com/software/wmiexplorer sells for $49 and has shitty UI. Write better UI in Go. For SEO build a website that has better UI than msdn and lists the same information (scraped). Also promote from my fork of wmi library for Go.
Instead of custom language, use chakra javascript engine
https://github.com/fuhsjr00/bug.n from AutoHotKey to JavaScript on win10
http://www.hammerspoon.org/ (mac automation in lua) to JavaScript/Windows
https://github.com/bourgesl/marlin-renderer to Go
This is a 2d renderer for Java.
https://github.com/forrestthewoods/fts_winsnap from C#/WinForms to Go
Rewrite in Winforms and sell.
Compile with webassembly, like https://github.com/rhysd/vim.wasm
https://github.com/jlfwong/speedscope
It's a tool for viewing sampling profiles, in the browser. Make it a Go backend/native app with embedded browser control for the frontend.
https://github.com/mapbox/flamebearer for Go
Implement the same thing for Go
https://github.com/Pwootage/deadfad
A better way to do common things in shell e.g.
> se `dir(.).where(globMatch(name, "*.Token.java")).sortBy(size).select(path)`
se is the name for the program (Shell Executor)
The breakdown is:
  • dir(path) is a stream of files with their attributes
  • where(cond) is a filter that rejects items that don't match condition
  • globMatch(attribute, match) returns true if attribute of the item matches match per glob algorithm (simple file name matching). we can also provide rxMatch() (or maybe for short just glob and rx)
  • sortBy(attribute) sorts by an attribute
  • select(attribute, ...attribute, ... attribute) selects only given attributes from the item
The big idea is that commands operate on arrays of items (attribute / value pairs) and the commands either transform the array (remove/rearrange/add) or the items (remove attributes.
It can be expressed quite well as plain JavaScript. We could make it a bit better with a custom parser (e.g. no need to quote attribute names as strings i.e. can write dir(.) instead of dir(".")
Add other sources of data, like netstat-like information about network connection
Alternative names:
  • jst (JavaScript Shell Toolkit)
  • sse Scriptable System Explorer
Could also make it a GUI app that would allow showing the results in GUI. The same scripts could show the results in a window.
A web-based REPL for enhanced Go. The simplest implementation just hooks up a process to xterm.js
Write a windows/mac app that allows accessing all the file storage services (Google Drive, Dropbox, S3, Google Storage, Digital Ocean Spaces, ftp, sftp etc.) as NSF. NSF because it allows user-space implementation and can be mounted on Mac and Windows.
Implemented as Go NFS server and a bit of UI to provide credentials and automate mounting on the client.
From UI perspective it would be better to write it as a samba server, but probably much harder.
Resources:
Samba resources:
It's an Electron app.
https://github.com/Microsoft/ProcDump-for-Linux
https://github.com/firemanjs/fireman : fireman is an electron-based GUI for firebase
https://github.com/jondot/goweight
implemented
https://github.com/miku/zek web hosted
add to online tools

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:

Share on        

Need fast, offline access to 190+ programmer API docs? Try my app Documentalist for Windows