Skip to content
tovra

Case study

Founder’s engineering work

Sparkly AI

AI Product Engineering · SaaS · Full-Stack Application

An AI-powered application-building platform that turns natural-language prompts into deployable software projects.

Role
Backend Engineer
Engagement
Founder’s engineering work
Period
Feb 2026 – present

Work by Tovra’s founder as a backend engineer at Sparkly AI. Sparkly AI is not a Tovra client.

Illustrative interface concept of a prompt-to-project builder — not a screenshot of Sparkly AI.

Product overview

Sparkly AI is an AI website-generation platform: users describe a site and get a deployable project back. Tovra’s founder works on the platform as a backend engineer, focused on the systems between the user’s prompt and a live, editable project.

Objective

Make prompt-to-project generation feel responsive and trustworthy. A generated site has to be something a user can reopen, revise and deploy — not a one-off output that disappears when a request fails.

Key user flow

  1. 1

    Describe

    The user describes the site they want in plain language.

  2. 2

    Watch it build

    Generation streams back progressively, so the user sees files appear instead of waiting on one long request.

  3. 3

    Iterate

    The project is saved with its file tree and revision history, so it can be reopened and refined.

  4. 4

    Deploy

    A finished project is deployed live through the deployment pipeline.

Engineering challenges

  • Long-running generation

    Producing a multi-file project takes far longer than a typical web request. Holding a single blocking call open gives the user no feedback and makes every failure expensive.

  • Non-deterministic output

    Model output can be partial or malformed. The system has to detect this at the boundary instead of persisting or deploying a broken project.

  • Provider failures

    Timeouts and transient provider errors are normal operating conditions. Restarting a generation from scratch on every failure wastes time and tokens.

  • Projects that persist

    Users return to iterate. Each project needs a durable file tree, revision history and isolation from other users’ work.

Solution & implementation

An orchestration layer that turns a prompt into a multi-file project and streams progress to the client, durable project persistence with per-user isolation and revision history, and retries that resume a generation rather than starting over.

  1. 01

    Orchestration layer

    A backend orchestration layer turns a prompt into a structured, multi-file project and coordinates generation steps.

  2. 02

    Streaming generation

    Generation progress is streamed to the client as it happens, so the interface can show work in progress rather than blocking on one long call.

  3. 03

    Project persistence

    Generated file trees and revision history are persisted with per-user isolation, so a project can be reopened and iterated on.

  4. 04

    Resumable retries

    When a provider times out or returns unusable output, retries resume the generation from where it stopped instead of restarting it.

  5. 05

    Deployment pipeline

    A pipeline takes a finished project and deploys it live.

Architecture

  1. InterfaceBuilder workspacePrompt, live progress, files, preview
  2. APIFastAPI + WebSocketsRequests and streamed progress
  3. AILLM orchestrationOpenAI API, validation, resumable retries
  4. DataPostgreSQL + RedisProjects, file trees, revisions
  5. InfrastructureDocker on AWSDeployment pipeline for generated sites

Technologies

  • Python
  • FastAPI
  • PostgreSQL
  • Redis
  • OpenAI API
  • WebSockets
  • Docker
  • AWS

Founder’s role

Oluwakorede Erinle · Backend Engineer · Feb 2026 – present

  • Built the LLM orchestration layer that turns a prompt into a multi-file project.
  • Implemented streaming generation so users see progress rather than blocking on one long call.
  • Designed persistence for generated projects — file trees, revision history and per-user isolation.
  • Built the pipeline that deploys generated projects live.
  • Handled partial generations, malformed output and provider timeouts, with retries that resume rather than restart.

Engineering considerations

  • Treat the model as an unreliable network dependency: validate, time-box and retry deliberately.
  • Streaming is a product decision as much as a technical one — perceived speed shapes trust.
  • Persisting revisions turns generation from a one-shot output into a product users can return to.

Building something with similar challenges?

Tovra brings the same engineering care to your product — from the interface to the infrastructure.