James Walker

James Walker

Web Developer

Projects

I build modern web technologies from the ground up in-house. Wherever possible, I work with vanilla languages to reduce the overhead incurred through the deployment of third-party frameworks and libraries. I tend to write in PHP for the backend, occasionally accompanied by Python, and pure JavaScript for the frontend, using native features rather than tacked-on polyfills and mixins.

I'm a fan of single-page web-apps and try to use them where possible. With progressive web apps right around the corner, the opportunity of building once and deploying to the internet and native app stores simultaneously is too great to miss. Toolchains such as Microsoft's Project Westminster are already allowing the web to seamlessly transition onto a user's device and take advantage of platform-specific features.

This web-focused, device-agnostic approach also enables my projects to be highly scalable. A JavaScript-based single-page app connects to a centralised API, completely abstracted from the code running on the user's device. This separation of concerns allows the JavaScript to be submitted to app stores and used natively in the web's progressive future. Web apps don't appeal to everyone but they offer a simple route to wide deployment that shouldn't be ignored.

Because I build most of my technology from scratch, I have an intimate knowledge of the internal workings of each entity, function and file introduced into any given project's codebase. This cuts down on development time and facilitates deeper integration with the underlying system, granting extra design versatility.

Ilmiont NET

Ilmiont NET is a platform for building and deploying multi-tenant cloud services, corporate intranet systems and standalone dynamic web apps. Its architecture targets the rapid distribution of online solutions to multiple customers, users and environments from a single installation and multiple databases.

Ilmiont NET is not a traditional PHP framework. Instead, it is a web platform that facilitates the agile creation and release of single- and multi-tenant web applications. Applications can then be individually enabled to multiple isolated tenant environments from a single Ilmiont NET installation.

Aside from its core focus on sandboxed cloud services, Ilmiont NET supports frameworks including an MVC system for the efficient generation of rendered output from dynamic data sources. Ilmiont NET can fulfil a variety of roles, becoming a centralised deployment and distribution platform for web agencies creating reusable solutions in the cloud for multiple tenants or public consumption.

View on GitHub >


Ilmiont CMS

Ilmiont CMS is a versatile content management system that runs atop Ilmiont NET. Designed to be both powerful for developers but also intuitive and easy to use, the base Ilmiont CMS installation includes support for all core features via CRUD API endpoints. External apps ranging from the official administration interface to third-party services can then connect to the CMS to add, edit and delete content.

Full support is present for objects typical to modern advanced content management systems, including static pages, dynamic news feeds, blogs and navigation menus. Ilmiont CMS also features its own revisioning system and a built-in templating engine, enabling object properties to be parsed directly from HTML template files that are compiled at runtime. This output is then combined to produce the rendered HTML displayed in the browser.


Ilmiont CMS Manager

Ilmiont CMS Manager is an official client companion app for Ilmiont CMS. Built as a single-page app in JavaScript, Ilmiont CMS Manager provides a complete management interface for Ilmiont CMS. It allows authorised users and system administrators to change the content, structure and appearance of Ilmiont CMS sites by adding, editing and deleting pages, news feeds, navigation menus and templating themes.

The app is designed to be fully responsive and capable of adapting to any ES5-supporting web browser, although more work needs to be done to meet this aim. It is intended that Ilmiont CMS Manager will eventually be decoupled entirely from Ilmiont CMS, enabling it to complete its transition to a true standalone progressive web app suitable for deployment to native app stores for use in commercial scenarios.


Ilmiont VCS

Ilmiont VCS is a lightweight CLI version control system built in a weekend in Python. It has support for multiple projects, stored as JSON files, and the ability to commit, pull and push the contents of an assigned working directory to an assigned repository. Commits are tagged according to the UNIX timestamp that they were created at and are logged in a plain text file that includes changelog messages specified by the user. While undeniably basic, Ilmiont VCS has the advantage of being fast and simple, making it suitable for use when organising small personal projects.


Ilmiont SQLite Database Manager

Ilmiont SQLite Database Manager is a simple database management and command utility for SQLite3 that allows you to define a set of SQL commands, save them and execute them on a database file on multiple occasions. It is designed to make repetitive database creation and population tasks experienced during the development of web projects less tedious. Ilmiont SQLite Database Manager includes a full GUI and support for logging both success and error messages. It is currently only compatible with Windows NT-based systems.


IlConsole

IlConsole is a Python3 package that facilitates the output of fully-formatted text to the system console. IlConsole allows you to customise text foreground and background colours, the background colour of the console and the size of the console window. You can also align text in the console and prefix or suffix outputted text with extra characters. To complement the formatting options, IlConsole includes built-in logging capabilities and styles, enabling you to print timestamped, colour-coded messages to the console with a single function call.

Aside from my main projects, I have also created several other simple apps, games and utilities in my coding career, some unfinished but most still usable.

The following are worth particular attention but don't merit credit as a fully-fledged project:

  • IlPyApp: A lightweight framework that simplifies the creation process of new Python CLI and GUI apps.
  • IlPyMod: A framework that makes it easy to create and document individual self-executable Python modules.
  • IlPyPack: A Python framework that simplifies the bundling of modules into packages, designed to complement IlPyMod.
  • AlwaysOnTop: A very basic Windows utility built using AutoHotKey that lets you force any window to always display above others.
  • QuickyPad: An AutoHotKey utility for Windows that allows you to make quick always-on-top notes on your desktop.
  • Ilmiont Snake: A simple Python interpretation of the classic Snake game, built using Pygame.
  • Ilmiont DDNS Alerter: A Python GUI app that periodically checks your computer's IP address and logs any changes.
  • Ilmiont Text File Line Reader: A simple GUI app that displays random lines from a specified plain text file at defined intervals.
  • Ilmiont FTP Server Contents Replacer: A basic utility that lets you overwrite an FTP server's root folder with the contents of a directory on your computer.

I am yet to commercialise any of my projects. However, it is anticipated that Ilmiont NET and Ilmiont CMS will see public releases in the next couple of years. This will enable third-parties to build on the scaffolding they provide for creating scalable web services, sites and apps, as well as giving me the opportunity to use them when taking on client work.

Looking for downloads? Unfortunately, I do not currently host my projects online. That will change soon so please keep checking back.