Hello, I'm Rym, a developer with two years of programming experience who believes that great software should be both functional and visually meaningful.

I enjoy transforming ideas into digital experiences that balance clean aesthetics, thoughtful visual design, and intuitive functionality. For me, visual simplicity isn't just about appearance; it's about helping users feel comfortable, understand interfaces naturally, and accomplish their goals without unnecessary complexity.

Through my projects, I aim to solve real-world problems while paying attention to the details that make every interaction feel clear, seamless, and purposeful.

Because great software doesn't just work well, it should feel right to use.

Rym, full-stack

View my code on GitHub ↗
Pink cloud mascot waving hello

My projects

Games, tools and apps I've built. Open a tab to preview one, then open its folder.

Pink cloud mascot walking

Technologies & Tools

I work with a range of technologies to bring ideas to life, from building structured, responsive interfaces to developing interactive features and managing data.

My workflow involves HTML, CSS, JavaScript, React, Python, SQL, and Git, allowing me to explore different approaches to problem-solving and build functional, user-focused projects.

I'm always looking to deepen my understanding of the tools I use, improve my development workflow, and discover better ways to turn ideas into practical digital solutions.

Frontend
HTML, CSS, JavaScript, React
Programming
Python, C, Java
Database
SQL
Tools & Workflow
Git, GitHub, VS Code
  • HTML
  • CSS
  • JavaScript
  • React
  • Python
  • C
  • Java
  • SQL
  • Git
  • GitHub
  • VS Code

Engineering Approach

Beyond writing code: how I approach problems, structure solutions, debug issues, validate functionality, and improve software.

01

Understanding the Problem

I break problems into smaller, manageable parts, identify requirements and constraints, and consider possible solutions before implementing the functionality.

  1. Understand
  2. Break Down
  3. Design
  4. Implement
  5. Validate

In practice: BookWise turns "summarize a long document" into three parts: extracting text with PDF.js and Mammoth.js, ranking sentences by word frequency, position and diversity, and presenting the result.

02

Structuring Solutions

I organize code around clear responsibilities, aiming to make projects easier to understand, maintain, and extend.

src/paku/cli.pycommand entry point
ui/terminal · themes · mascot · animations
config/settings.pysaved settings
assets/ascii/mascot states (.txt)
Paku's layout, as documented in its README.
03

Investigating and Fixing Errors

I investigate unexpected behavior, identify possible causes, and verify proposed fixes instead of relying on assumptions.

  1. Reproduce
  2. Inspect
  3. Identify Cause
  4. Fix
  5. Verify
04

Verifying Functionality

I validate software behavior by checking expected outcomes, investigating edge cases, and using available tests or verification methods to detect problems.

Automated: Paku's repository includes a tests/ directory.
Input constraints: BookWise states its accepted formats (PDF, DOCX) and a 20 MB limit in the interface.

05

Building Through Iteration

I improve projects incrementally by implementing features, reviewing their behavior, identifying limitations, and refining the implementation as needed.

Public history: Paku's development is recorded in its commit history on GitHub.

Technical Evidence

Real implementation details behind the projects.

Paku

Packaging and entry point

The package defines a console command that points to the app object in paku.cli, and depends on Typer (command-line interface framework) and Rich (terminal formatting).

# pyproject.toml
dependencies = [
"typer>=0.12",
"rich>=13",
]

[project.scripts]
paku = "paku.cli:app"

Why it matters: installing the package creates the paku command, so the tool runs like any other command-line program.

View pyproject.toml ↗
BookWise

Extractive summarization pipeline

Text is extracted from PDF and DOCX files in the browser, then sentences are ranked and the highest-scoring ones form the summary. This version does not use an LLM and does not call a backend API.

UploadPDF or DOCX
Extract textPDF.js · Mammoth.js
Rank sentencesfrequency · position · diversity
Summary

Why it matters: an extractive approach selects existing sentences from the document instead of generating new text, so every line of the summary comes from the source.

Try BookWise ↗
Paku

Install and run

The README documents how to install the project in editable mode and which commands are available.

pip install -e .

paku            # interactive interface
paku --version
paku --help
paku theme      # theme selector

Why it matters: another developer can install and try the project from the repository without guessing.

View the repository ↗