hi, i'm mark ocampos — nice to meet you

Data should be safe. Code should be clean. And light is worth chasing.

I build privacy-first web apps with Python and JavaScript for the backend, alongside Django, and craft modern frontends using Vite and Vue. I enjoy the quiet logic of cryptography, and keep a camera close for when the light gets interesting. Your data is treated like my own.

arms folded · calm · ready

01

what I do

six things, no filler

data protection

Encryption in motion and at rest, the least data collected, and safe defaults. I design so that leaking is the hard thing, not the default.

cryptography

Hashes, key exchange, one-way functions. I genuinely love the maths that keeps a secret — and the discipline of proving it stays that way.

logic & systems

Correct by construction, auditable, boring in the best way. Clean Python, JavaScript, and Django backends with behaviour you can reason about.

modern frontends

Fluid, reactive, and snappy interfaces. I pair Vite and Vue to build user experiences that feel instantly responsive without bloating the bundle.

performance

Every byte matters. I optimize payloads, caching layers, and database queries to ensure the applications feel incredibly fast in every condition.

photography

A second pair of eyes. Composition, light, restraint — the same discipline that keeps my code minimal finds its way into my frames.

02

selected work

a few endpoints i'm proud of
01

Task Manager

A full-featured task management web app with user accounts, project boards, and drag-and-drop cards. Built with Django and a PostgreSQL backend.

django · postgresql · javascript

view →
02

Portfolio Site

This very site: a responsive portfolio and blog built from scratch with Django, SQLite, and hand-written CSS. No frameworks beyond the standard library.

django · sqlite · css

view →
03

Weather API Dashboard

A small dashboard that pulls live weather data from a public API, caches responses, and renders charts. Demonstrates external API integration and caching.

python · requests · chart.js

view →
03

frames

a strip, not a grid
a1b2c3d4.jpg golden hour, quiet street · lisbon
e5f60718.jpg static between towers · new york
9a0b1c2d.jpg puddle reflection · tokyo
3e4f5a6b.jpg concrete geometry · berlin
7c8d9e0f.jpg fog over the fjord · bergen
1f2e3d4c.jpg neon after rain · seoul
04

journal

recent entries