Kian K.Say hello

§ Projects

Selected work

Each entry covers the problem, how I worked on it, the design decisions that mattered, and what came out the other side. Range is the point.

012026 · Consumer mobile app

Trace

Social trip planner for real itineraries

Most trip planning still lives in group chats, screenshots, and generic listicles. Trace is a social trip planner for people who trust real routes from friends and travelers they follow: discover complete itineraries, copy a route in one tap, invite your group, and keep bookings, passes, stops, and decisions in one shared workspace.

  • Discover public itineraries with destinations, days, stops, and traveler context
  • Clone a trip, edit the route, adjust dates, and invite your group into one place
  • Attach tickets, passes, accommodation, and notes to the right part of the journey
  • Built mobile beta in Flutter; raised entrepreneurship grant from Università Bocconi
FlutterProduct designFigmaGo-to-marketCursor
Co-founder, productEarly access beta
022025 · Sports analytics & engineering research

Squash Ball Rebound Research

Coefficient of restitution & player agility

Squash players choose ball type, age, and temperature assuming each affects bounce and difficulty, but how much do those factors actually matter? This study measured coefficients of restitution (CoR) for single- and double-dot balls, new and old, at room and heated temperatures, using an airgun, high-speed camera at 4000 fps, and a MATLAB pipeline to extract pre- and post-impact velocities.

  • 24 ball type / temperature / age / velocity combinations tested across controlled lab trials
  • Temperature strongly and significantly increased CoR between 22 °C and 35 °C
  • Ball type and age showed no statistically significant effect, contrary to conventional player wisdom
  • CoR decreased as impact velocity increased, with a stronger effect at higher temperatures
  • Built MATLAB tooling to track ball position over time and convert pixel coordinates to real distances
MATLABPythonStatistical analysisHigh-speed imagingResearch
Undergraduate research assistantResearch report · Zenit Lab, Brown University
032024 · Campus discovery tool

Brown Housing Lottery Demystified

Campus discovery tool

Brown's housing lottery hands students a hard deadline and almost no usable room information. This tool turns an opaque lottery into a searchable, filterable, reviewable resource, deployable without ongoing infrastructure cost.

  • Search and filter 1,100+ rooms by size, location, and bathroom type
  • Tag-based search scoring for natural queries
  • Peer reviews as generational housing knowledge
  • Self-contained deployment with no server dependencies
JavaScriptFrontendSearch & filteringGitHub Pages
Frontend leadLive · 1,100+ dorm rooms
042024–2026 · Game · JavaFX & HTML5 Canvas

DoodleHopHop

Doodle Jump clone — desktop and browser

A Doodle Jump clone that started as a JavaFX coursework assignment and grew into a cross-platform release: play in the browser, download native installers for macOS and Windows, and compete on a global leaderboard. Six platform types, auto-scrolling camera, and graph-paper styling keep the feel close to the original Lima Sky game.

  • Six platform behaviors: normal, bouncy, horizontal-moving, vertical-moving, disappearing, and bounce-then-break
  • Desktop app in JavaFX with Maven build and jpackage installers for macOS (.dmg) and Windows (.exe)
  • Browser port on HTML5 Canvas with the same physics and tuning constants as the desktop version
  • Global leaderboard with usernames, backed by PostgreSQL in production and JSON locally
  • Deployed web app on GitHub Pages with a Node/Express backend on Render for scores and downloads
JavaJavaFXJavaScriptHTML5 CanvasNode.jsPostgreSQLMaven
Solo developerLive · browser + desktop installers
052023–2024 · Internal engineering tool

WRF Selection Workflow

Guided configuration for internal engineering teams

Selecting Work Request Form parameters meant navigating a complex space of interdependent options. Invalid combinations were easy to miss, selected state was easy to lose, and engineers repeated the same selection journey without an audit trail. I sat with the internal engineering team to distinguish genuinely interdependent selections from those grouped by convention, and built a guided progression where each step narrows valid options for the next.

  • Guided users step by step to prevent invalid combinations before they happened
  • Kept frontend and backend aligned so what the user saw matched what the system stored
  • Stored selection history so submitted configurations could be reviewed, audited, and reused
  • Used progressive filtering to turn a flat field of choices into a clear path
  • Serialised complex fields cleanly to keep the database queryable downstream
  • Iterated on interaction patterns with engineering teams acting as both designers and users
ReactPythonFastAPIFull-stackUX designSQL
Full-stack developerInternal tool · Airbus, Bristol
062019–2026 · Creative production

Kamelian Productions

Video, photo compositing, and short-form storytelling

Kamelian Productions is a YouTube channel for original creative work: Adobe Photoshop compositing, short film, and collaborative documentary-style series. The channel spans fan and branded edits, competition short film, and multi-part projects built around iteration, craft, and narrative.

  • Pawns, a short film directed and edited for the My RØDE Reel 2020 competition, with behind-the-scenes coverage
  • Learning how to make croissants for a Frenchman, a three-part series from trial runs through iterative design to a final taste test
  • Photoshop compositing portfolio including Mandalorian edits, original scenes, and channel branding work
  • Inhibitor Chips (2026), a narrative edit on the tragedy of Arc Trooper CT-5555
Adobe CCVideo editingPhotoshop compositingStorytellingDirecting
Creator, director, editorActive · YouTube channel
072024 · Enterprise document automation

Automatic DDQ Answering

Designing for a regulated workflow

Due Diligence Questionnaires are repetitive, document-heavy, and draw on the same firm information across many forms. Answering them manually is slow, inconsistent, and prone to formatting errors. I started by mapping what compliance teams actually did with DDQs, studying real prior submissions rather than abstract examples, and treated the required document formats as a constraint to design into, not around.

  • Let users upload real prior documents; the training data already lived in their archive
  • Preserved question–answer structure, because a DDQ's format is part of its credibility
  • Separated training upload from answering so either side could be updated independently
  • Generated PDF output; the workflow still ends in document exchange
  • Planned retrieval-based architecture with embeddings and namespaces to scale across categories
  • Validated parsing and PDF table extraction directly against the firm's prior submissions
PythonTypeScriptOpenAI APIPDF extractionEmbeddingsFull-stack
Full-stack builderClient project · Parus Finance