Projects
A collection of projects and experiments I have worked on.
Applications
Pdf Metadata Editor
DesktopJavaPDFBoxSwingMulti-platformAdvanced PDF metadata editor with a focus on usability and functionality.
Causelist
WebTypeScriptReactMUINodeJsNestJsMongoDBKubernetesCase and court information assistant for lawyers, tailored for the Kenya legal process.
Foggly Server
WebPythonDjangoCeleryDockerAnsibleHeroku style cloud app hosting platform built on top of Docker and Django. Builtin databases and email configuration.
Bochiar
MobileReact NativeJavaScriptVRA demo VR app build with React Native and ViroReact, for the Bochica Network.
Amasel
WebNodeJSCouchDBAngularAnsibleAmazon Seller tool with automatic repricing, inventory and order management, and label printing, built with NodeJs and CouchDB.
rentbot
WebNodeJSPythonReactScrappyAnsibleRental ad/post aggregator implemented with Scrapy and Nodejs/React.
Talking Hands
MobileReact NativeAndroidTTSTalking hands is a mobile app communicator for people with speech difficulties, autism, etc.
kenyalaw
DesktopPythonscrappyTkThis is a simple scraper for windows that allows you to download automatically documents from http://kenyalaw.org/
Net of Indra
WebNodeJSjqueryjquery-uiA facebook Application for generating mosaic images from your photos and your friends photos.
Tools & Libraries
POEditorial
NodeJSJavaScriptCli tool that allows working with poeditor.com translation files from command line for CI/CD integration
couchtool
NodeJSJavaScriptcouchtool is a simple backup/restore tool for Apache CouchDB and databases compatible with its API.
mws-rest-api
JavaVert.xmws-rest-api is a proxy that let's you use the legacy Amazon MWS API trough a modern UTF8 REST api.
Courses
Creating Smart Contracts with Solidity
SolidityEthereumJavaScriptweb3.jsMetamaskhardhatHands on course that teaches the basics of creating Smart Contract with Solidity and the Ethereum network. .
Creating Practical Applications with Solidity
SolidityEthereumJavaScriptweb3.jsMetamaskhardhatReactThe course is focused, on building a Land registry - interactive registry that shows lang ownership on interactive map, and allows buying/selling straight from the interface with transactions happening on Ethereum blockchain.
NPM/NodeJs
nestjs CRUD
NodeJSNestJSTypeScriptTypeORMMaintained and developed nestjs CRUD module for auto generating CRUD controllers and services based on provided entity and options. Forked from abandoned https://github.com/nestjsx/crud/
yarn-plugin-deploy-lockfiles
NodeJSTypeScriptYarnyarn Plugin that allows generating lockfile per docker image. While Yarn works with mono repos just fine, it doesn't works well with single parent repo that contains packages as submodules. This plugin fixes generating lockfiles for this scenario.
node-htmlstrip-native
NodeJSJavascriptC++A native Node.js module for stripping HTML tags from strings. It is implemented in CPP, and orders of magnitude faster than native JS solutions.
yaml-document-stream
NodeJSTypeScriptThis is parser/generator for YAML containing multiple documents and outputting a stream of single documents.
passport-telegram-login
NodeJSJavascriptPassport strategy for Telegram login, allows users to log in to your website using their Telegram account, leveraging Telegram's secure authentication system.
nodemailer-intercom
NodeJSJavascriptTransport for nodemailer that uses Intercom to send the message.
node-xmp
NodeJSJavascriptC++NodeJs bindings for Adobe XMP SDK, allowing to read and write XMP metadata from various file formats supported by the SDK, including PDF, JPEG, TIFF, and more.