# Extending Coil

DevFeed: [Extending Coil](<https://devfeed.tech/articles/extending-coil-30606.md>)

Original publisher: [Read original article](<https://ryanharter.com/blog/2024/04/extending-coil/>)

Published: 2024-04-12T01:53:35Z

Content type: tutorial

Language: en

Sources: [Blogs on Ryan Harter](<https://devfeed.tech/sources/blogs-on-ryan-harter.md>)

Topics: [Library](<https://devfeed.tech/topics/library.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Code](<https://devfeed.tech/topics/code.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [image](<https://devfeed.tech/tags/image.md>), [implement](<https://devfeed.tech/tags/implement.md>), [library](<https://devfeed.tech/tags/library.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

## AI overview

This tutorial explains how to extend the Coil image-loading library to load file thumbnails from a custom backend SDK. It covers custom data sources, data types, fetchers, and mappers so applications can pass lightweight file identifiers directly to Coil and reduce view-model overhead.

## Source excerpt

I was recently working on showing thumbnails for files, and found that the image loading code was surprisingly complex. I load thumbnails from my backend service via an SDK, which means I don't have a simple URI that I can provide to an image loading library to load images. Added to that is the fact that I usually pass around a lightweight file id to represent files within my app, but my backend also requires a revision to generate a thumbnail, even though I always simply want the latest revision.