Crooked Finger is a deployed cross-platform application (web + native iOS) that helps crochet enthusiasts translate complex pattern notation, manage projects, and get AI-powered assistance. End-to-end self-managed deployment on Oracle Cloud with Docker, nginx, and Let's Encrypt SSL.
Crooked Finger bridges the gap between traditional craft patterns and modern technology. It converts between crochet pattern formats, generates custom patterns on demand, and routes AI requests across Gemini and OpenRouter to balance quality and cost. Ships as both a Next.js web app and a native SwiftUI iOS app, sharing a GraphQL API backend fully self-hosted on Oracle Cloud.
Implemented intelligent routing between multiple AI providers — Gemini for quality, OpenRouter for cost efficiency — with configurable fallback order and real-time usage tracking to minimize API costs without degrading response quality.
Handled end-to-end deployment on Oracle Cloud: provisioned the server, configured Docker Compose for the FastAPI backend, set up nginx as a reverse proxy, and automated SSL certificate renewal with Let's Encrypt.
Designed AI prompts specifically for craft pattern understanding, enabling accurate translation of complex crochet and knitting notation across multiple international format conventions.
Built a full native iOS companion app in Swift 6 and SwiftUI, sharing the same GraphQL backend. Implemented MVVM architecture with @Observable, Apollo iOS for GraphQL, and cross-platform data sync between web and mobile.