blessing@portfolio: ~
$whoami
Blessing Hlongwane
$cat role.txt
Data Scientist · Full-Stack Developer
$cat status.txt
BSc Computer Science & Applied Statistics — UCT (2026)
Open to full-stack software engineering & development roles
$

Blessing Hlongwane

Data Scientist — looking for Software Engineering & Full-Stack roles

📍 Cape Town / Johannesburg · University of Cape Town

$cat about.txt

Data Scientist with AWS cloud experiencestudying Computer Science & Applied Statistics at the University of Cape Town. Looking for a full-stack software engineering or development role in Cape Town or Johannesburg.

My projects are the best way to see what I can do — I've built full-stack applications across data pipelines, web platforms, and systems engineering.

$cat experience.log
Slant Research / Cape Town2025 – May 2026
Data Scientist
  • Improved categorization algorithms and monitored AWS EC2 instances, CloudWatch dashboards, shell scripts, and Lambda triggers to keep data pipelines running efficiently
  • Conducted data analytics uncovering insights into customer spending behaviour and market share trends
  • Built operational dashboards in Streamlit and Metabase; maintained and iterated on a production forecasting model pipeline
  • Automated infrastructure tasks using shell scripts and Lambda functions; tracked anomalies via CloudWatch alarms and S3-backed data flows
University of Cape Town / Cape Town2024 – 2025
Computer Science Tutor
  • Evaluated student assignments and provided constructive, detailed written feedback
  • Supported students in understanding core CS concepts including algorithms and data structures
TomorrowTrust / Cape Town2024 – Jun 2024
Coding Facilitator
  • Designed and delivered lessons on HTML, CSS, and JavaScript fundamentals to high school students
  • Facilitated hands-on coding exercises to build foundational programming intuition
$ls -la projects/
calendar_site/
CalendarSiteshipped

Full-stack event calendar application with RSVP functionality, automated guest email invitations, AI-powered facts and quotes per RSVP, and confirmation email delivery.

  • Event creation with full details, automated guest email invitations via Gmail SMTP with unique RSVP links per guest
  • OpenAI integration serving personalized AI-generated facts and quotes on each RSVP confirmation page
  • SQLAlchemy ORM on SQLite with Pydantic data validation; deployed on Render
stack
PythonFastAPISQLAlchemySQLitePydanticOpenAI APIGmail SMTPJavaScriptHTML5CSS3
testingManual end-to-end RSVP flows · Email delivery verification · Edge case empty guest lists
vcsGit / GitHub
deployRender
BluetoothMesh.kt
Offline P2P Messengershipped

Android peer-to-peer messenger that routes messages over Bluetooth mesh connections — fully offline, no internet required. Final year group project at UCT, scored 80%+.

  • Bluetooth nodes relay messages through the mesh — works in areas with zero connectivity
  • Android app with chat UI; messages routed through intermediate devices acting as nodes
  • Collaborative group project with version-controlled development workflow
stack
KotlinJavaAndroid SDKBluetooth APIP2P Networking
testingDevice-to-device manual testing · Multi-hop relay tests across 3+ devices
vcsGit / GitHub
MedleySimulation.java
Multithreaded Concurrent Swimming Raceshipped

A concurrent Java simulation of a medley swimming relay race. Multiple threads represent swimmers racing in parallel through a shared grid — a coursework project exploring concurrency primitives, thread synchronisation, and shared-state management.

  • Threads represent individual swimmers; shared stadium grid managed with synchronized access
  • FinishCounter uses concurrent primitives to track and display race results in real time
  • StadiumView renders a live ASCII/graphical view of the race as threads update position
stack
JavaMultithreadingSynchronizationConcurrent ProgrammingMakefile
testingManual race observation · Multiple concurrent swimmer configurations · Race condition stress tests
vcsGit / GitHub
SandpileGenerator.java
Sandpile Image Generatorshipped

Optimized a sequential Abelian sandpile model image generator by introducing parallelization using Java's Fork/Join Framework. Achieved a 3× average runtime improvement on large datasets.

  • Fork/Join recursive decomposition of the sandpile stabilisation computation
  • 3× average speedup on large datasets via work-stealing thread pool
  • Visual output comparing sequential vs parallel execution across dataset sizes
stack
JavaFork/Join FrameworkParallel ComputingPerformance Benchmarking
testingBenchmarked sequential vs parallel across varying N values · Correctness comparison of output images
vcsGit / GitHub
main.py
Image Viewershipped

A Python desktop image viewer with a custom GUI — supports directory browsing, image editing, a favourites system, and keyboard navigation.

  • Directory picker for browsing local image folders with thumbnail preview
  • Image editing utilities: crop, resize, rotate, and filter operations
  • Persistent favourites list stored locally for quick access to saved images
stack
PythonTkinterPillowCustom GUI
testingManual testing across image formats (JPEG, PNG) · Edge cases for empty directories
vcsGit / GitHub
SuperDupaGame.py
Super Mario Gameshipped

A Python platformer game inspired by Super Mario — built to explore game physics, sprite animation, and tile-based level design.

  • Platform physics: gravity, collision detection, variable-height jumping
  • Sprite animation state machine (idle, run, jump) and tile-based level rendering
  • Featured on LinkedIn — received strong community engagement
stack
PythonPygame
testingManual gameplay testing · Physics edge cases (wall clips, ceiling collisions)
vcsGit / GitHub
email_summarizer.json
Email Summarizeractive

AI-powered email automation tool using n8n workflow engine and OpenAI GPT. Automatically fetches, processes, and summarizes daily emails into digestible highlights.

  • n8n workflow triggered on schedule to fetch inbox via Gmail API
  • OpenAI GPT condenses long email threads to key action points
  • Delivered summaries to configured notification channel automatically
stack
n8nOpenAI APIGmail APIJavaScriptWorkflow Automation
testingTested on varied daily email volumes · Edge cases for empty inboxes and large attachments
vcsGit
polymarket_bot.py
Crypto Trading Botactive

Live crypto trading bot for Polymarket 5-minute UP/DOWN binary markets. Integrates Coinbase WebSocket spot data, Deribit implied volatility, Polymarket CLOB order books, and Chainlink/Polygon resolution data into a single low-latency execution engine.

  • Strategies: probability signals, order-flow imbalance, microprice, dynamic position sizing, arbitrage, market-making
  • Execution layer: CLOB order signing, FOK/FAK/GTC order handling, pre-signed orders, latency-aware buy-path optimisation
  • Risk tooling: exposure limits, budget caps, automated merge/redeem workflows onchain, balance recovery, post-resolution settlement
stack
PythonasynciouvloopWebSocketsPolymarket CLOBChainlinkDeribit APIorjsonREST APIs
testingPaper/live mode toggle · Trade logging · Retry guards · Exposure limit checks
vcsGit / GitHub
research_pipeline.py
Market Data & Research Pipelineactive

Data collection and analysis pipeline for live Polymarket and Coinbase order-book data. Used to validate strategies before deploying to the live trading bot — simulation-first approach.

  • Tick data collection from Polymarket & Coinbase CLOB order books via WebSocket
  • Probes for lead-lag behaviour, fill quality, signal accuracy, flip detection, and latency-sensitive execution decisions
  • Results drove trading rules, order types, sizing logic, and risk controls in the trading bot
stack
PythonStreamlitpandasNumPyWebSocketsREST APIsSQLite
testingSimulation runs on historical tick data · Metrics logging · Visualised in Streamlit
vcsGit / GitHub
$cat coursework.md
CSC3002FOperating Systems
Process schedulingMemory managementFile systemsConcurrency & synchronisation
CSC3003SConcurrent & Parallel Programming
Multithreading (Java)Fork/Join frameworkShared memory modelsRace conditions & locks
CSC2002SData Structures & Algorithms
Trees, graphs, heapsSorting & searchingAlgorithm complexityDynamic programming
INF2011Software Development (Systems)
SOAP & REST servicesSystems sequence diagramsUML modellingService-oriented architecture
CSC2001FAndroid Development
Kotlin & Android SDKActivity lifecycleBluetooth & networking APIsUI components
STA3030FApplied Statistics & Modelling
Time series analysisRegression & forecastingHypothesis testingStatistical inference
CSC1016SProgramming in Python
OOP in PythonFile I/OData structuresIntroductory algorithms
CSC1015FProgramming in Java
OOP & inheritanceException handlingCollections frameworkBasic concurrency
$ls skills/
Languages
PythonRustJavaKotlinC# .NETJavaScriptSQLShell ScriptingHTML/CSS
Data & ML
pandasNumPyStreamlitMetabaseSupersetMatplotlibscikit-learnpytest
Cloud & Infra
AWS EC2AWS LambdaCloudWatchS3AthenaRedshiftDockerLinuxCI/CD Pipelines
APIs & Protocols
WebSocketsREST APIsSOAPPolymarket CLOBChainlink Data FeedsPolygon Alchemy RPCFastAPIasynciouvloop
Databases
MySQLSQLiteSQLAlchemyPostgreSQLPydantic
Deployments
VercelRenderCustom DomainsEdge CachingNext.js ISRDocker Containers
Tools & Workflow
GitGitHubDockern8nLLMs / AI APIsWiresharkMakefile
Certifications
LinkedIn Python Data Analysis (2024)
$cat contact.txt
locationCape Town, South Africa
referenceBafana Makondo — Data Scientist, Absa — Bafana.Makondo@gmail.com