# Kamy Ewang - Full Portfolio & Site Content (AI Readable) > Kamy Ewang is a Software Engineer based in Uyo, Nigeria, specialising in AI-powered full-stack applications, real-time platforms, and modern web development with React, Next.js, Python, and Flask. ## About Kamy Ewang - **Name**: Kamy Ewang - **Role**: Software Engineer - **Location**: Uyo, Nigeria (Africa/Lagos) - **Email**: kamy.ngn@gmail.com - **Website**: https://www.kamy.name.ng ### Bio Kamy Ewang is a Software Engineer based in Uyo, Nigeria, specializing in AI-powered full-stack applications, real-time platforms, Cyber Threat Intelligence, and modern web development with React, Next.js, Node.js, Python, and Flask. ## Work Experience ### Full-Stack Developer at Freelance (2024 - Present) - [object Object] - [object Object] ### Software Engineering Student at University (2022 - 2026) - [object Object] - [object Object] ## Technical Skills - **Frontend Development**: React, Next.js, Tailwind - **Backend & AI**: Node.js, Python, MongoDB - **Version Control**: Git, GitHub ## Portfolio Projects --- ## Project: Aether - **Slug**: aether - **Published**: 2026-09-16 - **Summary**: A local-first AI development environment: a desktop IDE (Electron + React) with a built-in, permission-gated autonomous coding agent. Bring your own OpenAI-compatible model gateway — your code and keys never leave your machine. - **URL**: https://www.kamy.name.ng/work/aether - **Live Project Link**: /work/aether/download - **Source Code**: https://github.com/kamyCodes/Aether ### Content ## Overview Aether is a local-first AI development environment — a full desktop IDE with an autonomous coding agent built in. It runs entirely on your machine: an Electron + React desktop app paired with a TypeScript backend that drives an agent which reads and edits your code, runs shell commands, searches the repository, and operates git — always behind an explicit permission system, with every step streamed live into the UI. The agent talks to any OpenAI-compatible model gateway (Aether ships with support for OmniRoute, a self-hosted gateway), so you choose the models — local or cloud — and your code and API keys never leave your machine. ## Key Features - **Real desktop IDE**: Monaco editor, file tree, git panel, integrated terminal (node-pty), live preview, and code map — panels that resize and remember. - **Autonomous agent, permission-gated**: The agent plans, calls tools (edit / shell / search / git), and streams its work over WebSockets. Every tool call passes an allow/deny engine, and approvals persist across restarts. - **Local-first by design**: The gateway endpoint, ports, and data directory are the only configuration. Keys live in local settings, are masked in logs, and a "mock guard" refuses to run against fake gateways in production. - **Project memory & history**: Optional PostgreSQL backing for task history, usage dashboards, and project memory. Skip it and everything else still works. - **Setup that actually tests**: The first-run wizard write-probes the data directory, makes a real `/models` call, runs a real SQL query, and shows a per-item pass/fail checklist. - **Hardened by an audit gate**: CI scans every commit for hardcoded paths/ports, secrets, leftover mocks, and dead flags — nothing ships without an explicit, documented allowlist entry. ## Technologies Used - **Desktop shell**: Electron with an NSIS (electron-builder) Windows installer; runtime bundled, no Node.js required for users - **Frontend**: React 19 + Vite, Monaco editor, Zustand state store, WebSocket streaming - **Backend**: TypeScript (ESM) Express API server; agent runtime with a permission-gated tool surface (edit, shell, search, git) - **Models**: Any OpenAI-compatible gateway; ships with OmniRoute (self-hosted) support - **Data & QA**: Optional PostgreSQL (history, usage, memory), node:test suites, CI audit gate on ubuntu + windows runners ## Download Aether is available for Windows — grab the latest installer from [GitHub Releases](https://github.com/kamyCodes/Aether/releases) or head to the [download page](/work/aether/download). --- ## Project: Candid - **Slug**: candid - **Published**: 2026-09-04 - **Summary**: A quiet, local-first hiring pipeline. Drag candidates across a Kanban board or triage them in a sortable list, with notes, ratings, and full history. No server, no account, data stays in your browser. - **URL**: https://www.kamy.name.ng/work/candid - **Live Project Link**: https://candid-navy.vercel.app/ - **Source Code**: https://github.com/kamyCodes/Candid ### Content ## Overview Candid is a local-first hiring pipeline that assumes the opposite of most applicant trackers: one person, one tab, six stages. Drag a card, write down what you actually thought of the person, and move on. There is no server, no database, and no account. Candidates and activity are stored in `localStorage`, so the app works offline, loads instantly, and your data never leaves your machine. Live demo deployed on Vercel. ## Key Features - **One pipeline, two views**: A drag-and-drop board for running the funnel and a sortable table for triage; both share the same stage colors, chips, and type scale. - **Notes and ratings**: One-to-five star ratings plus timestamped notes, signed with your name or left anonymous. - **Search while you type**: Filter by name, email, role, or phone, combinable with a stage dropdown in either view. - **Activity log**: Every move, note, and rating, newest first, capped at the last fifty entries. - **Nothing depends on dragging**: Every card has stage arrows, every row has a dropdown, focus rings stay visible, and `Esc` and `Cmd/Ctrl + Enter` cover the repetitive bits. - **Slide-out detail panel**: Any card or row opens a full profile with notes, rating, and edit or delete actions, backed by an inline add form with live validation and duplicate checks. ## Technologies Used - **Frontend**: Next.js (App Router), React, TypeScript - **Styling**: Tailwind CSS v4 with a hand-rolled "ink and copper" token system in CSS variables - **State**: React Context plus a small `useLocalStorage` hook; state flows one way, with views deriving search, filter, and sort at render time - **UI**: Hand-rolled icons and primitives; no UI or state library - **Type**: Geist via `next/font` --- ## Project: Energy2Green - **Slug**: energy2green - **Published**: 2025-04-01 - **Summary**: A modern corporate demo site for a renewable energy company, featuring dynamic animations, responsive design, and a sleek dark-themed interface. - **URL**: https://www.kamy.name.ng/work/energy2green - **Live Project Link**: https://energy2-green.vercel.app/ ### Content ## Overview Energy2Green is a polished corporate website built for a renewable energy company. The site showcases the company's services, from solar grids to hybrid power systems, with a premium, modern design that emphasizes credibility, professionalism, and sustainability. ## Key Features - **Dynamic Animations**: Leveraged Framer Motion for scroll-triggered animations, smooth page transitions, and interactive UI elements that bring the site to life. - **Responsive Design**: Fully responsive layout that adapts seamlessly from desktop to mobile, ensuring a consistent experience across all devices. - **Dark Corporate Theme**: A sleek, dark-themed design that conveys professionalism and aligns with the brand's energy-forward identity. - **Performance Optimized**: Deployed on Vercel with analytics integration, optimized for fast load times and SEO performance. ## Technologies Used - **Frontend**: React 19, React Router DOM 7, Framer Motion 12, Lucide React, Tailwind CSS 4, Vite 8 - **Analytics & Hosting**: Vercel Analytics, Vercel - **Dev & Linting**: ESLint 10 (React Hooks + React Refresh plugins), PostCSS, Autoprefixer --- ## Project: Local Job Connect - **Slug**: local-job-connect - **Published**: 2025-08-01 - **Summary**: A dual-portal job platform connecting local businesses with nearby talent, featuring AI resume parsing, real-time messaging, and geolocation-based search. - **URL**: https://www.kamy.name.ng/work/local-job-connect - **Live Project Link**: https://github.com/kamyCodes/Local-Job-Connect ### Content ## Overview Local Job Connect is Nigeria's dedicated local job platform, a full-stack web application that bridges the gap between local businesses and nearby job seekers. It features a dual-portal system where employers can post jobs and manage applications, while candidates can search by location, apply with AI-parsed resumes, and communicate in real time. ## Key Features - **Dual-Portal System**: Separate dashboards for employers and job seekers, each tailored to their workflow: posting jobs, reviewing applicants, or browsing and applying. - **AI Resume Parsing**: Integrated intelligent resume analysis to automatically extract key skills and experience, streamlining the application review process for employers. - **Geolocation Search**: Leveraged `geopy` to enable location-based job discovery, letting candidates find opportunities close to home. - **Real-Time Messaging**: Built an in-app messaging system so employers and candidates can communicate directly without leaving the platform. - **Glassmorphism UI**: Designed a modern, dark-themed interface using vanilla CSS with HSL variables, glassmorphism effects, and micro-animations for a premium feel. ## Technologies Used - **Backend**: Python 3.12, Flask, Flask-SQLAlchemy, Flask-Login, Flask-WTF, Flask-Caching, Werkzeug, geopy, gunicorn - **Frontend**: Jinja2 templates, Vanilla CSS (HSL variables, glassmorphism, micro-animations) - **Database**: SQLite (with psycopg2-binary for PostgreSQL production-ready swap) - **Dev & Testing**: pytest, pytest-flask, Flask-Migrate, python-dotenv --- ## Project: Quizzly - **Slug**: quizzly - **Published**: 2025-02-01 - **Summary**: An AI-powered mobile quiz app that generates customized quizzes from any topic or uploaded document using Llama 3.3, built with React Native and Expo. - **URL**: https://www.kamy.name.ng/work/quizzly - **Live Project Link**: https://github.com/kamyCodes/Quizzly ### Content ## Overview Quizzly is a cross-platform mobile application that uses AI to generate personalized quizzes. Users can create quizzes by entering any topic or uploading a document (PDF/text), selecting the number of questions and difficulty level, and letting the AI generate a tailored knowledge check, all from their phone. ## Key Features - **AI Quiz Generation**: Powered by Groq SDK with Llama 3.3 70B, the app generates contextually relevant multiple-choice questions from any topic or uploaded document. - **Document Upload**: Supports PDF and text file uploads via Expo Document Picker, parsing content server-side with `pdf-parse` to generate quiz material. - **Customizable Parameters**: Users choose the number of questions (3, 5, or 10) and difficulty level (Easy, Medium, Hard) to tailor each quiz session. - **Cross-Platform**: Built with React Native and Expo for seamless deployment on both iOS and Android, with React Native Web support. - **Local Storage**: Quiz history and progress are persisted using React Native Async Storage for offline access. ## Technologies Used - **Mobile**: React 19, React Native 0.81, Expo 54, React Native Web 0.21, Expo Linear Gradient, Expo Document Picker - **Storage**: React Native Async Storage - **Backend**: Express 4, CORS, dotenv - **AI & PDF**: Groq SDK (Llama 3.3 70B), pdf-parse - **Runtime**: Node.js --- ## Project: Sentinel NLP - **Slug**: sentinel-nlp - **Published**: 2025-06-01 - **Summary**: An AI-powered fake news detection and cyber threat intelligence analyzer using zero-shot NLI models, fact-checking APIs, and malware database lookups. - **URL**: https://www.kamy.name.ng/work/sentinel-nlp - **Live Project Link**: https://github.com/kamyCodes/FakeNewsCTIAnalyzer ### Content ## Overview Sentinel NLP is a final-year university project that combines Natural Language Processing with Cyber Threat Intelligence to combat misinformation and online threats. Users can paste any article or suspicious content and receive an instant, multi-dimensional analysis, including fake news probability, news authenticity scoring, originality assessment, and cyber threat risk evaluation. ## Key Features - **Zero-Shot NLI Classification**: Leveraged Hugging Face's DeBERTa-v3-large model for zero-shot natural language inference, enabling the system to classify news credibility without task-specific training data. - **Multi-Score Dashboard**: Provides three core scores (Fake News Probability, News Authenticity, and Originality), displayed through custom SVG donut charts with color-coded risk levels. - **Cyber Threat Analysis**: A dedicated module that scans suspicious content for phishing indicators, malware URLs (via URLhaus), and social engineering patterns. - **External API Integration**: Cross-references content with Google Fact Check API and DuckDuckGo Search for real-time corroboration, plus GROQ API for advanced LLM-powered analysis. - **Glassmorphism Dark UI**: Built a sleek, professional dark-themed interface with glassmorphism cards and responsive design. ## Technologies Used - **Backend**: Python 3.12, FastAPI, PyTorch, Hugging Face Transformers (DeBERTa-v3-large zero-shot NLI), spaCy, NLTK - **Frontend**: React, Vite, CSS (glassmorphism + SVG donut charts) - **External APIs**: Google Fact Check, DuckDuckGo Search, URLhaus malware DB, GROQ API ## Blog Articles & Posts --- ## Blog Post: Create, edit and delete blog posts - **Slug**: blog - **Published**: 2025-03-17 - **Summary**: Create, edit and delete posts in the blog section of your Magic Portfolio. - **URL**: https://www.kamy.name.ng/blog/blog ### Content ## Manage posts You can create, edit and delete posts by adding, modifying or removing `*.mdx` files in the `src/app/blog/posts` directory. ## Frontmatter The frontmatter is used to set the post's metadata: title, description, image, and tags. It's used in the post's page and in meta- and open graph tags. ## MDX syntax You can use MDX to write the content of your posts. It helps you write rich and dynamic content with minimal code. Some MDX elements will be automatically transformed to Once UI components to integrate better in the design and add additional functionality. ## Custom components You can use custom components in MDX files, but you need to import them first in the `src/components/mdx.tsx` file. As you can see, the `Table` and `CodeBlock` components are already imported and available for use. You can add more by simply importing them to this file and passing them to the `components` object. ## Hot reload Hot reload of MDX files is currently not supported, but we're working on it. --- ## Blog Post: Using custom components in markdown - **Slug**: components - **Published**: 2025-04-20 - **Summary**: Every career is a journey, filled with challenges, growth, and those significant moments that mark a shift in our path. - **URL**: https://www.kamy.name.ng/blog/components ### Content Magic Portfolio will replace some default HTML elements to Once UI components to integrate better in the design and add additional functionality. Furthermore, many common Once UI components are already imported and available for use. ## Feedback The feedback component is used to display critical information to visitors. } codes={[ { code: ``, language: "tsx", label: "Feedback" } ]} />