Work / Portfolio
I've been a solo / independent developer for 15+ years, developing & selling consumer applications for my company namesuppressed. I love all aspects of product, from design & development to e-commerce & support systems. I focus on making products easy to use.
In a past life I've also been a freelancer, most recently for an unconventional law firm and for a Bay Area web development company.
I'm based in Perth, Australia, but I prefer to work remote. I could be lured to Berlin for projects: buzz me if you'd like to work on something together.
Technologies I work with:
Platforms: Windows, macOS, Android, Linux
Languages: C, C++, Go, PHP, Xojo, Lua / Corona SDK, Delphi
Build Scripting: NSIS, InnoSetup Pascal, VBScript
Databases: MySQL, SQLite
APIs: Slack, Pushover, Open Exchange Rates, FastSpring E-Commerce
Portfolio: Commercial Software
The jewel of the portfolio, Softener was one of the first effects to create the dreamy look from wedding photos & glamour magazines. There are more sophisticated portraiture effects now, but Softener's popularity comes from its ease of use. It's still selling 20 years later.
A Photoshop filter effect that creates plaid patterns from photographs. Don't underestimate its simplicity - it is wildly popular with digital artists & scrapbookers, and has earned more than many B2B consulting projects.
A Mondrian puzzle game for mobile devices. Developed for One Game A Month. All the programming, game design & interface/graphics were developed by myself.
In the days before MailChimp, Constant Contact & TinyLetter, WebScriber let subscribers of ezMLM email mailing lists manage their own subscriptions (subscribe / unsubscribe) with a web-based interface. Webscriber was used by many interesting customers, including a print magazine, university medical department... and even a presidential candidate.
I maintain a list of conferences aimed at folks with indie values (solo software developers, songwriters, crafters, makers, digital nomads). Indie Conference features a free monthly email newsletter. Right now the project is a playground for experimenting with email marketing / MailChimp and practicing audience acquisition / traction techniques (for example, automated alerts when a conference is mentioned on Hacker News, in case I can jump in and promote Indie Conference in an organic manner.)
Eurovision Euroclub Perth
Together with Kate Hansen, I helped organize a nightclub event in Australia in 2014 playing songs from the Eurovision Song Contest. Australia hadn't yet joined the contest at the time, but we still convinced 120 local fans to buy tickets. I helped design a mystery teaser campaign, ran Facebook ad campaigns, remastered the song mix using Deckadance & helped Kate setup and manage the Eventbrite account. Despite it being our first event, we made a small profit which was put towards funding later events.
Freeware / Fun Projects
Translates ordinary text into what Kenny from South Park would say and back again. Developed in the back row of a boring university lecture about Java programming, and nearly 20 years later is still being used by teens across the world to send secret messages to friends. It ended up going viral and resulted in a live radio interview on the BBC in Ecuador, translated in real time.
Namesuppressed Photo Editor
For customers who don't own Photoshop, I created my own Photoshop Plugin-compatible photo editor, that is included free with some plugins. The plan was to expand the addressable market beyond Photoshop users, and some customers say it's some of my best work: ("You knocked it out of the park with this one!") But I found that if customers haven't paid the $100 for Photoshop Elements or the $30 for Serif PhotoPlus already, then they're not in the market for $25 Photoshop plugins either.
Autointerlace was developed to measure demand for 64-bit Photoshop plugins in advance of developing Softener 2. The 32-bit version was developed in FilterMeister, while the 64-bit version was developed in C with help from Harald Heim of The Plugin Site.
A Chrome Extension that filters snarky comments, political stories and other generally negative content from the Daring Fireball website. It aims to preserve important tech-related news and avoid flamewars.
Prototype / Unreleased
Simple Schedule is an internal prototype which may become a commercial product. It is inspired by Joel Spolsky's Painless Software Schedules, and is a native cross-platform reimplementation of Mr Schedule, a discontinued Java program I used to use for scheduling and planning. The main feature is the keyboard-based outlining, while also keeping the Excel-like summation of project estimates.
A Mac menu-bar app to submit new tasks quickly to Toodledo, a To Do list service. It launches with a hotkey and can be controlled entirely via keyboard, so you can add tasks & reminders without interrupting your flow. I used this myself until Alfred added similar features.
The obligatory "load geopoints from a database & display them on a map" mobile app project. I considered making this a commercial product, using a combination of automated web scraping and manual verification to keep data accurate. I also spent a lot of time visiting cafes and measuring their WiFi speeds as a competitive advantage. It was mostly surpassed by Google's Map Editor when they made map changes instant by verified editors.
Together with Martijn van der Lee, I've been creating an installer that Photoshop plugin developers can use to distribute plugins. There are hundreds of Photoshop-compatible applications, and our installer automatically detects & configures them with no customer interaction.
I've been one of the more frequent contributors to the documentation for the FilterMeister programming language, earning me a credit on the FilterMeister Development Team page.
A syntax highlighting package I created for the FilterMeister programming language in Sublime Text.
Namesuppressed Sales Database
The namesuppressed Sales Database is a Xojo / REALbasic front-end to a MySQL database. The software not only looks up customer orders & generates promotional unlocking codes, but also has dashboard and charting facilities for customer demographics & sales data. Xojo was chosen for having rapid development speed and easy deployment to Windows, Mac or Linux from the one codebase. It was critical in moving all our business systems from Windows to Mac in the late 2000s.
Robust is the name for namesuppressed's internal monitoring and notification system. It performs periodic checks for unexpected website changes (ie possible intrusions), system errors and more. Alerts are dispatched immediately to smartphones via Pushover, to the entire team via Slack, or routed to email. The same Robust code is also used for smartphone notification of customer support enquiries.
Lost Code Lookup Updater
To allow customers to retrieve their software purchases without storing customer data on live servers, we use a small Go / Golang program to query the MySQL database, hash the customer data, and automatically FTP the hashed data to the live server. A simple PHP script on the website matches hashes against data the customer provides before sending out unlocking codes.
©2011-2022 Kohan Ikin.