Curriculum vitae
Ali Akhtari علی اختری
Full-stack AI engineer
hello@aliakhtari.com aliakhtari.com GitHub Stack Overflow PyPI
I'm a full-stack AI engineer. I build whole platforms end to end, with AI as the load-bearing part — turning models into products people actually use, not demos that photograph well.
Lately my attention is on small language models and agents, and the question underneath them: can you trust what they produce? I treat verification as a feature, wire up guardrails I would stake something on, and keep a quieter thread of security and reliability running through everything I make.
Selected work
-
SpotifyScraper
2026Extract public Spotify data in Python — tracks, albums, playlists, podcasts, and lyrics — without an account, API key, or OAuth.
Open source & community
SpotifyScraper — a Python library for pulling public Spotify data without official API keys; the piece of my work the most people have actually used. Maintained on GitHub and shipped on PyPI. On Stack Overflow I've answered 32 questions for a reputation of 1,312. The numbers above are fetched live and never rounded up.
Writing
- Download Spotify cover art in full resolution with Python Pull the high-res cover for any track — no API key, no account. A one-liner for one, a small loop for a whole folder, and the option to bake it into a preview.
- Export Spotify track data to a CSV in Python (no API key) Turn a column of Spotify links into a clean spreadsheet — name, artists, preview — with the standard csv module and no OAuth. Or dump the whole record to JSON.
- Search Spotify from Python without an API key Type a query, get typed results — tracks, artists, albums — straight from the anonymous tier the web player uses. No client ID, no OAuth, no app to register.
- How to handle Spotify API rate limits in Python (or skip them) The official Spotify Web API returns 429s when you push too hard. Here's how to back off correctly — and how to avoid the limit entirely for public data.
- Get Spotify lyrics in Python (with your own cookie) Lyrics are the one part that needs a login. Here's how to read time-synced lyrics for any track in Python — authenticating as yourself, with nothing leaving your machine.
- spotify_scraper vs the official Spotify Web API — which should you use? One needs an app, a client secret, OAuth, and lives inside rate limits. The other reads public pages with no account. An honest comparison, and how to choose.
- Getting Spotify data in Python without the official API No app registration, no client ID, no OAuth. How to pull tracks, albums, and playlists — and download a 30-second preview or cover art — straight from Spotify's public web player.
- Verification is the layer everyone skips In the agent era, everyone can fetch a page. Almost nobody checks that the data they pulled out of it is actually true.
Focus & skills
AI engineering
- Small language models — choosing, fine-tuning, and honestly evaluating them
- Agents with real guardrails: structured output, moderation, rate limits, hard cost caps
- Verification — proving an answer is faithful to its source before anything depends on it
Full-stack & web
- TypeScript and Astro, static-first
- Cloudflare Pages and Functions at the edge
- Strict CSP / Trusted Types, accessibility, and Core Web Vitals as defaults
Python & libraries
- httpx, sans-io design, typed and frozen data models
- Packaging and CLIs, shipped to PyPI
- Test suites, because reliability has to start at home
The quieter thread
- Security and reliability
- Automation and web scraping
- Writing things down plainly
Want dates, references, or the longer history? Say hello — I read everything.