Skip to content

The engineering side

I like building
the whole thing.

I’m Arta, a computer science student at Penn State. I build iOS apps, web software, and tools for my own video work.

I like being involved from the first idea through the interface, the code, and the launch. These projects show what that looks like in practice.

Selected work

What I built, why it exists, and where it stands.

Independent app · On the App Store

Buff Kitty

A simpler way to keep track of protein.

View Buff Kitty on the App Store

Buff Kitty is an iPhone app built around one daily goal: getting enough protein. You log what you eat, see your progress, and get a little encouragement from a cat mascot along the way.

I designed and built the app, then handled the App Store launch, product videos, and marketing. My previous app had taken months to build. This time, I kept the first release focused so I could get it into people's hands sooner. Since launch, I've added barcode scanning, quicker ways to log food, and in-app feedback.

Early on, my smaller videos explaining the app brought in more paying customers than a viral meme. It was a small sample, but it made me rethink what a useful launch video should do.

How the app is built
Native iOS
SwiftUI for the interface, SwiftData for local storage, and WidgetKit for a home-screen view of daily progress.
Food logging
Manual entry sits alongside voice, photo, and barcode input. TypeScript edge functions handle AI requests and validate the returned food data.
Behind the app
Supabase and Postgres support the backend. RevenueCat manages subscription access, with rate limits and row-level security around protected data and requests.
Testing and feedback
Swift Testing and XCUITest cover app behavior and user journeys. Product events in PostHog help me understand where people get through onboarding, log food, or stop along the way.

Akadion internship · June–August 2025

Support assistant

Answers grounded in a company's own documents.

At Akadion, I built an internal support chatbot from the initial idea through deployment. It searches the company's support documents and uses the relevant passages to generate an answer.

I worked across the document-processing pipeline, Python backend, and web interface. Files are processed in the background, and answers stream into the conversation as they are generated. I kept document retrieval, answer generation, and the API separate so each part could be changed without rebuilding the others.

How documents become answers
Ingest and retrieve
Background file ingestion prepares the support material for retrieval. Relevant passages are supplied to Gemini as context for each response, a pattern called retrieval-augmented generation.
Generate and stream
A Python/FastAPI backend handles retrieval and generation. The Next.js/React frontend displays the response incrementally instead of waiting for the complete answer.
Keep responsibilities separate
A layered REST architecture separates document retrieval, model interaction, and transport, making those parts easier to work on independently.

Independent project · Local prototype

Rushline

An editing assistant that leaves the timeline editable.

I also edit podcasts and short-form videos. Rushline grew out of the repetitive parts of that work: adding captions, styling motion text, and reframing footage inside Premiere Pro.

The prototype uses timeline selections, transcripts, and typed instructions to automate those tasks. The decision I care most about is the output: captions and effects stay as editable clips and native Premiere properties. I can adjust the result in the same timeline where I already work.

It runs locally. Packaging the installation and onboarding for other editors is still ahead of me.

How it works inside Premiere
Work from the timeline
A Premiere panel connects timeline context and transcripts to automation workflows through UXP, Node.js, and CEP/ExtendScript.
Preserve the editor's control
Motion graphics templates (MOGRTs) and native Motion values provide editable output. A local language model helps interpret requests.

Earlier explorations

A couple of projects that helped shape the work above.

Test Maxer Past app
A men’s health app with habit tracking and personalized plans. I shipped it, then ended active development. It taught me to choose a smaller first release for Buff Kitty.
handframe.app Paused
A file-delivery product for freelancers: clients pay before downloading the final work. I built payment and file-access flows with Next.js, Postgres, and Stripe Connect.

How I work

Building it is
part of the job.

Pay attention after launch.

For Buff Kitty, I look at onboarding, food logging, and customer feedback as part of ongoing development. Those details help me decide whether to add something new or improve what’s already there.

Make the work understandable.

I write the product copy and cut the launch videos too. Explaining what an app does is part of getting it into someone’s hands. My engineering and editing work meet there.

A little background

I moved from Iran to the U.S. at fifteen and speak Farsi and English. Today, I’m studying computer science while building software and making films.

See my film and editing work
Penn State
B.S. in Computer Science · Expected December 2027
Akadion
Full-Stack Software Engineer Intern · June–August 2025
Student Videography Association
Editing Lead, Penn State · Since December 2024