Dynamic icon generation