Zach Leigh

I build robust, well tested web systems




A Japanese dictionary website that includes several tools for learning and using Japanese. Includes a Japanese to English dictionary, an English to Japanese dictionary, a kanji (Chinese character) dictionary, and an example sentence dictionary. Site tools use the dictionary data to parse Japanese text and convert between different Japanese writing types. screenshot



An on-line journaling website that allows users to write journals together. Designed for people who want to communicate in writing with friends/loved ones but not in a typical text message fashion. Users can have several journals and each journal can have an unlimited number of authors. Journals and membership are completely private. Members can set up a personal profile with pictures and other basic info. Site is fully bilingual. screenshot



An on-line Japanese date converter and emperor database. Database includes information on all Japanese emperors, periods, and eras. Date converter uses information in database to convert between Japanese and western style dates. Site also includes date conversion charts for easy date lookup. screenshot

Open Source


A Japanese text parser and analyzer. Provides a wrapper around MeCab to make it easier to use and to give it more functionality. It can:

  • Split Japanese text into individual, full words.
  • Identify parts of speech and dictionary forms.
  • Create readings and pronunciations for kanji words.
  • Build furigana for words.
  • Convert Japanese text into romaji using four different romaji systems.

It also has an event system and plugin capability for easy client usage and extension.


A Laravel package that gives models simple access to a property bag. Features include:

  • Multi-model support. Any number of models can use the same property bag.
  • Ability to set default settings and limit setting values for security.
  • Setting values can be validated in a number of different ways.
  • Simple to use. Simply install the package and use a trait in models that require access.


A Laravel package that creates translation bundles that can be reused project-wide and easily sent client side. Allows for pluralization, passed parameters in bundle values, and also string modification of the bundle items.


A simple Laravel package that allows developers to create Vue.js file templates using artisan commands. Users of this project can:

  • Create component or mixin files which can be optionally be filled with boilerplate.
  • Configure the path to which templates are stored.