whoami

Johnson A.
Full-stack engineer · AI builder · Solo founder

I ship products end-to-end — from infrastructure to interface. I built AI Agent Folio, a multi-app SaaS platform running entirely on Oracle's Always Free tier, hosting 12+ apps on a single ARM VM with local LLM inference, full e-commerce, s…

View work → Get in touch
8
Projects shipped
30
Tools & stacks
4
AI experiments
Cups of coffee
01 / about

The story behind the code

I ship products end-to-end — from infrastructure to interface. I built AI Agent Folio, a multi-app SaaS platform running entirely on Oracle's Always Free tier, hosting 12+ apps on a single ARM VM with local LLM inference, full e-commerce, social features, and a Singapore HDB price predictor trained on 12,000+ real transactions. I'm pragmatic about tech: SQLite over Postgres for solo projects, Ollama over OpenAI for cost control, plain Jinja2 over React unless interactivity demands it. My favorite kind of engineering is the kind that delivers more with less.
~/johnson_a
$ uptime
platform alive · 8 apps shipped
$ ps aux | grep apps
# multi-app SaaS on Oracle Always Free
$ echo $STACK
python · fastapi · ollama · sqlite
$ _
02 / stack

Tools I actually use

30 entries
FastAPISQLitePostgreSQLOracle Cloud (OCI)AWSLinux ARMNginxOllamaLLMsRAGscikit-learnStripeOAuthJWTCloudflareJavaScriptLeafletGradioJinja2BashsystemdcronDockerGoogle Places APIOneMapAgentcorePythonFastMCPFastAPIGeneral Hardening FastAPISQLitePostgreSQLOracle Cloud (OCI)AWSLinux ARMNginxOllamaLLMsRAGscikit-learnStripeOAuthJWTCloudflareJavaScriptLeafletGradioJinja2BashsystemdcronDockerGoogle Places APIOneMapAgentcorePythonFastMCPFastAPIGeneral Hardening
03 / work

Selected projects

8 shipped

AI Agent Folio Platform

A complete multi-app SaaS platform running on a single Oracle Always Free ARM VM (4 OCPU, 24GB RAM). 12+ subdomains, unified auth gateway, cross-app messenger, community forum, and local LLM inference via Ollama. Zero monthly hosting cost.

FastAPIOracle CloudOllamaSQLiteNginx
Open

HDB Price Map & AI Estimator

Singapore HDB resale price predictor trained on 12,000+ real transactions from data.gov.sg. MLP regressor with 95% confidence intervals, integrated with OneMap reverse geocoding and OpenStreetMap amenities. R²=0.789, MAE ~$50k.

scikit-learnFastAPILeafletdata.gov.sg
Open

Cross-app Auth Gateway

Single sign-on for all platform apps using JWT cookies signed at the apex domain. PBKDF2 password hashing, stateless CSRF tied to session, password reset via one-time tokens, 14-day free trials, admin panel.

FastAPIJWTPBKDF2SQLite
Open

Foodie & Travel Explorer

Singapore restaurant and attraction discovery, powered by Google Places API (New). Filterable by category, cuisine, dietary, price level. Map-based browsing with cost-controlled crawl staying under Google's free tier.

Google Places APILeafletFastAPI
Open

Conversational AAF Assistant

Floating chatbot on every authenticated page, powered by Ollama (qwen2.5:7b) running locally. Agent-style responses with markdown links that drive users to the right app. No third-party AI API calls.

OllamaLLMFastAPIStreaming
Open

Curated E-Commerce Store

Modern storefront with Stripe checkout, free-shipping threshold UX, image gallery, cart persistence via signed cookies, and an admin panel for product CRUD.

StripeFastAPIJinja2
Open

Multi-modal IDE Assistant

Code generation, review, and explanation tool with image-to-code (vision) support. Streams responses from qwen2.5-coder:7b and qwen2.5vl:7b via Ollama, with fallback to deepseek-r1:7b.

OllamaGradioVision LLM
Open

Nightly Disaster Recovery

Atomic SQLite backups of all 8 application DBs to Oracle Object Storage every night, with 2-day retention and gzip compression. Restore tooling included.

BashcronOracle Object StorageSQLite
04 / ai

AI experiments

4 recorded

HDB Price Predictor (MLP)

Click any spot in Singapore — get historical resale price ranges plus an AI-predicted value with 95% CI. Trained nightly on the freshest HDB transactions from data.gov.sg.

MLPscikit-learnProperty
Try it

Lecturer AI

Local LLM tutor — explains concepts at any depth from elementary to PhD level. Powered by qwen2.5:7b via Ollama, with conversation history in browser local storage.

OllamaEducationLLM
Try it

AI Trade Research

Equity research assistant combining market data and LLM analysis. Pulls fundamentals, generates research reports, simulates options strategies (educational use only).

yfinanceLLMGradioMarkets
Try it

AI SOC

Security operations chatbot for triage, log analysis, and incident summarization. Local-only inference for data privacy.

SecurityLLMOllama
Try it
05 / showcase

Work in Motion

7 recordings
Speech-to-Text (Whisper) Demo

Speech-to-Text (Whisper) Demo

OpenAI Whisper transcribing live audio to text in real time. Demonstrates automatic speech recognition (ASR) with multilingual support and word-level timestamps.

STTWhisperASRNLP
🔗 Open link
Large Language Model — RAG Pipeline

Large Language Model — RAG Pipeline

Retrieval-Augmented Generation pipeline: documents chunked, embedded with nomic-embed-text, retrieved by cosine similarity, then answered by a local LLM. No hallucination on domain facts.

LLMRAGEmbeddingsOllama
🔗 Open link
CLIP — Zero-Shot Image Classification

CLIP — Zero-Shot Image Classification

OpenAI CLIP matching images to text prompts with no task-specific training. Shows contrastive vision-language alignment: input any image, output natural language label ranked by confidence.

CLIPVisionZero-ShotMultimodal
🔗 Open link
GAN — Generative Adversarial Network Demo

GAN — Generative Adversarial Network Demo

StyleGAN2 generating photorealistic synthetic faces. Visualises the generator/discriminator adversarial training loop and latent space interpolation between identities.

GANStyleGANGenerativeComputer Vision
🔗 Open link
Reinforcement Learning — DQN Plays Atari

Reinforcement Learning — DQN Plays Atari

Deep Q-Network agent learning to play Breakout from raw pixels with no hand-coded rules. Shows reward curve convergence over 1M training steps on a standard gym environment.

RLDQNAtariDeep Learning
🔗 Open link
YOLO v8 — Real-Time Object Detection

YOLO v8 — Real-Time Object Detection

YOLOv8 detecting and tracking multiple object classes at 30+ FPS on standard video. Demonstrates bounding box regression, class confidence scores, and multi-scale feature extraction.

YOLOObject DetectionComputer VisionReal-Time
🔗 Open link
Semi-Supervised Learning — Label Propagation

Semi-Supervised Learning — Label Propagation

SSL label propagation on MNIST with only 100 labelled samples out of 60,000. Graph-based pseudo-labelling achieves ~94% accuracy, visualised with t-SNE cluster evolution across epochs.

SSLSemi-SupervisedLabel Propagationt-SNE
🔗 Open link
06 / lab

Research Notebooks

6 notebooks

Annotated code, experiments, and analysis — click any card to read inline.

🔵 Colab
Advance Feature Engineering, EDA and HDB Price Deployment

End-to-end ML pipeline: advanced feature engineering, EDA with correlation heatmaps, SHAP analysis, and HDB resale price…

EDAFeature EngineeringHDBMLPXGBoostSHAPDeployment
Open notebook ↗
🔵 Colab
Anomaly Detection — Isolation Forest & Autoencoder with MNIST

Comparing Isolation Forest vs LSTM Autoencoder on MNIST anomaly detection. Includes precision-recall curves, threshold t…

Anomaly DetectionIsolation ForestAutoencoderMNISTLSTM
Open notebook ↗
🔵 Colab
Reinforcement Learning — PPO on CartPole and MLP Policy on Lunar Landing

PPO agent solving CartPole-v1 in under 200 episodes, then MLP policy network on LunarLanding-v2. Covers actor-critic arc…

PPORLCartPoleLunarLandingStable-Baselines3
Open notebook ↗
🔵 Colab
NLP — Text Classification with BERT Fine-tuning and Embedding Visualisation with UMAP

Fine-tuning BERT-base on sentiment classification. Covers tokenisation, attention masks, learning rate warmup, confusion…

BERTNLPFine-tuningUMAPTransformersClassification
Open notebook ↗
🔵 Colab
XAI, Temporal & Price Elasticity on COE Data

Explainable AI on Singapore COE bidding data: SHAP values, temporal trend analysis, price elasticity modelling, and comp…

XAISHAPCOEPrice ElasticityTemporal AnalysisSingapore
Open notebook ↗
🔵 Colab
Computer Vision: Transfer Learning, CLIP, and GANs

Transfer learning from ResNet-50 on custom dataset, CLIP zero-shot classification, and GAN image generation. Includes Gr…

ResNetCLIPGANTransfer LearningGrad-CAMComputer Vision
Open notebook ↗

Notebook