| name | data-dense-design |
| description | Web and App implementation guide for Data-Dense Design. Trigger when user wants professional tools, maximum information density, and expert interfaces (like Bloomberg terminals or IDEs). |
| category | Document Processing |
| source | antigravity |
| tags | ["react","ai","llm","design","spreadsheet","cro"] |
| url | https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/design-it/data-dense-design |
Data-Dense Design
"Density is a feature. For expert users, reducing clicks is more important than whitespace."
When to Use
Use this sub-style when the user's request matches the aesthetic described above. This is a child reference of the design-it skill and is not meant to be triggered directly.
Core Principles
- Compact Layouts: Extremely tight margins and padding (often 2px to 4px).
- Monospace & Tabular Data: Numbers must align vertically perfectly.
- High Utility: Every pixel serves a functional purpose. Minimal purely decorative elements.
Visual DNA
- Colors: Industrial Chic (high contrast) or Minimalist Slate. Avoid bright backgrounds. Dark themes are heavily preferred to reduce eye strain over 8-hour sessions.
- Typography: Small base sizes (
11px - 13px). Strict use of monospace fonts (Fira Code, JetBrains Mono) for data.
- Borders: Thin
1px borders (#333 or #e0e0e0) are used extensively to separate tiny cells of data.
Web Implementation
- Tables, CSS Grid, and Flexbox with zero gap.
- CSS Example:
body {
background-color: #1e1e1e;
color: #cccccc;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-size: 12px;
margin: 0;
}
.dense-toolbar {
display: flex;
background-color: #2d2d2d;
border-bottom: 1px solid #3c3c3c;
padding: 2px 4px;
}
.dense-btn {
background: transparent;
color: #ccc;
border: 1px solid transparent;
padding: 2px 8px;
border-radius: 2px;
cursor: pointer;
}
.dense-btn:hover {
background-color: #3c3c3c;
border-color: #555;
}
.data-table {
width: 100%;
border-collapse: collapse;
font-family: 'JetBrains Mono', monospace;
}
.data-table th, .data-table {
: ;
: solid ;
: right;
}
(even) { : ; }
{ : ; : ; }
App Implementation
SwiftUI
struct DataDenseView: View {
var body: some View {
ScrollView([.horizontal, .vertical]) {
Grid(horizontalSpacing: 0, verticalSpacing: 0) {
GridRow {
HeaderCell("SYM")
HeaderCell("BID")
HeaderCell("ASK")
HeaderCell("CHG")
}
DataRow(sym: "AAPL", bid: "173.40", ask: "173.45", chg: "+0.12", isPos: true)
DataRow(sym: "MSFT", bid: "320.10", ask: "320.15", chg: "-0.45", isPos: false)
DataRow(sym: "GOOG", bid: "135.20", ask: "135.30", chg: "+0.02", isPos: true)
}
.border(Color.gray.opacity(0.3), width: 1)
}
.background(Color(white: 0.12))
}
}
struct HeaderCell: View {
text:
( : ) { .text text }
body: {
(text)
.font(.system(size: , weight: .bold, design: .monospaced))
.foregroundColor(.gray)
.padding()
.frame(minWidth: , alignment: .leading)
.border(.gray.opacity(), width: )
.background((white: ))
}
}
: {
sym, bid, ask, chg:
isPos:
body: {
{
(sym, color: .white)
(bid, color: .white, align: .trailing)
(ask, color: .white, align: .trailing)
(chg, color: isPos .green : .red, align: .trailing)
}
}
}
: {
text:
color:
align:
( : , : , : .leading) {
.text text; .color color; .align align
}
body: {
(text)
.font(.system(size: , design: .monospaced))
.foregroundColor(color)
.padding()
.frame(minWidth: , alignment: align)
.border(.gray.opacity(), width: )
}
}
- Use
Grid with 0 spacing.
- Font must be
.system(..., design: .monospaced).
- Use a
.border() with 0.5 width on every single cell to recreate the dense spreadsheet look.
Flutter
class DataDenseScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: const Color(0xFF1E1E1E),
body: SingleChildScrollView(
scrollDirection: Axis.vertical,
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Theme(
// Override theme specifically to make the table hyper-dense
data: Theme.of(context).copyWith(
dividerColor: Colors.grey[800],