Conceptra AI
An AI visual prototyping studio. Describe something that doesn't exist yet, and it writes a sharp brief, then draws the concept sketch, the 3D render, a real-life scene and the launch ad.
Content generator project
In the Studio you type one idea, say whether it is a physical product, an app, a service or a space, pick a visual direction, and press Forge Prototype. You can also start from a scenario such as Health, Mobility, Fintech or Education, or queue several ideas in a batch.
Prompt engineering case study
Goal: turn a rough one-line idea into four visuals that all describe the same product.
Approach: instead of sending the raw idea to every image step, an optimizer first rewrites it into a structured brief. The sketch, render, scenario and ad all start from that one brief, so they stay consistent.
SentimentScope
A sentiment analysis and data insights tool. Upload CSV or text files and see a full analysis of your data, including how positive, neutral or negative it reads.
Sentiment analysis project
Three steps, then scroll. Upload any CSV, TSV or TXT of written comments such as reviews, surveys or tickets, choose the text column, and every comment is scored positive, neutral or negative. Optional columns for groups, dates and star ratings unlock more charts, and themes are found automatically or taken from a preset.
Data insights report
Findings from the built-in fictional patient-feedback sample (12 comments), written by the app itself in plain English.
Technical explanation
- Upload: the user adds a CSV, TSV or TXT file, or ticks a built-in fictional sample.
- Choose columns: the user picks the text column, and optionally a group, date and rating column.
- Score: VADER, a rule-based sentiment tool built for short written text, scores each sentence, and the score becomes positive, neutral or negative.
- Find themes: themes are discovered automatically or taken from a preset, and a comment can speak to several themes.
- Visualise: charts are drawn on black panels in a custom dotted-art style, with plain-English insights beside them.
- Export: results can be downloaded as a scored CSV or a text file of insights.
- Deploy: the code lives on GitHub and runs on Streamlit Community Cloud.
Scoring is designed for English text. Project files: app.py, art.py, requirements.txt and config.toml.
AssetIQ AI
An AI predictive maintenance and asset intelligence platform for mining, energy, transport, telecoms and water. It predicts which equipment is most likely to fail, flags unusual sensor readings, ranks what to inspect first and suggests actions for a qualified person to approve.
Predictive maintenance project
Pick the industries to include and set the load-shedding stage, and the dashboard scores every asset in a simulated South African fleet for its chance of failing in the next 30 days. The riskiest asset appears as a thermal heat map, and the tabs cover the overview, anomalies, priorities and actions, a maintenance simulation and a weekly report. You can also upload your own sensor CSV, and a separate page tests the model on the public AI4I benchmark dataset.
Insights and anomaly detection
Findings from the built-in simulated fleet. The data is simulated, so the figures show how the tool works and not a real plant.
Technical explanation
- Data in: sensor readings (vibration, temperature, pressure, load and age) from a simulated South African fleet, or from a CSV the user uploads.
- Score: a Random Forest estimates each asset's chance of failing in the next 30 days, and a Gradient Boosting model estimates the days left.
- Detect: an Isolation Forest, trained on normal operation, flags readings that drift away from normal.
- Prioritise: failure risk is combined with the cost of downtime to rank assets, and the riskiest is drawn as a thermal heat map.
- Recommend: each asset gets a suggested action for a qualified person to approve, and a simulation compares maintenance strategies.
- Test: a model evidence page trains and tests on the public AI4I 2020 dataset, comparing a Random Forest with a logistic regression baseline using precision, recall and PR-AUC.
- Deploy: the code lives on GitHub and runs on Streamlit Community Cloud.
The demo fleet is simulated and AI4I is a synthetic benchmark, so the results show the workflow and not real-plant accuracy. Project files: app.py, the views folder, theme.py, art.py, train_ai4i.py, ai4i_features.py and requirements.txt.
KERMS #OOTD Chatbot
An outfit-of-the-day AI stylist, built with my KERMS team. Tell it the occasion and it builds an outfit from your own digital wardrobe, with a short note on why it works, so you know what to wear every day or for an event.
Outfit chatbot project
Users add their clothes, shoes, bags and accessories by pasting a link from the store or by taking pictures of what is in their closet. They then tell the chatbot the occasion, and whether to consider certain items, and it suggests an outfit. Past outfits are kept in a history and grouped by occasion, such as corporate, Parisian old money, influencer events and day wear. It is made for everyone, from new parents and influencers to corporate professionals and fashion fans.
Features
The sidebar holds eight features, each with its own job.
Prompt engineering case study
Goal: make the stylist give personal, consistent outfit suggestions that use the user's own wardrobe.
Approach: a prompt engineering layer sets the chatbot's personality, response style and behaviour, and structured prompt guidance keeps every answer in a predictable shape: a short opening, a weather note, a wardrobe combination and the stylist's rationale.
Technical explanation
- User interface: where the user chats with the stylist and manages their wardrobe.
- AI model: Gemini processes each prompt and generates the outfit recommendation.
- Prompt engineering layer: defines the chatbot's personality, response style and behaviour.
- User data inputs: style preferences, wardrobe items, occasions and weather conditions that personalise the result.
- Challenge, credits: the first models needed more credits than we had, so we tested several and chose Gemini, which worked without issues.
- Challenge, formatting: structured prompt guidance kept the responses consistent.
- Challenge, no chat input: the first version had no way for the user to type, so we refined and redesigned the concept using prompt engineering best practice.
The full write-up, including the system architecture, is in the project documentation on GitHub.
Skills
- HTML5
- CSS3
- JavaScript
- Kotlin
- React Native
- Python
- Streamlit
- Machine learning
- Prompt engineering
- UX/UI design
- GitHub
About me
I am an all-rounder technologist who wants to understand the why. With a foundation in web and mobile development, UX/UI design and IT support, I am focused on practical technology, thoughtful interfaces and meaningful digital solutions. I study, design and build websites, mobile apps and AI-powered products. I am always looking for roles where I can keep contributing, collaborating and learning on real products.
- Education
- Comp.Sci in Mobile Application and Web Development, Emeris (2025)
- My tech stack
- HTML5, CSS3, JavaScript, Kotlin, Python, C++, React Native, VS Code, Figma, Arduino IDE, Pandas, NumPy, scikit-learn, Altair, VADER, Matplotlib, GitHub, Zoho, Microsoft 365
- Looking for
- Software developer, UI/UX design and IT support roles
Let's build something useful.
If you'd like to connect, collaborate or view more of my work, find me on GitHub and LinkedIn.
GitHub profile LinkedIn profile Figma profile Email me